U盘Linux攻略
前一阵入手一个32G的U盘,DataTraveler150。为了不让它白白的放在那里按着摩尔定律掉价,决定在上面做个Linux,随身带着玩。顺便把制作的过程和遇到的问题写下来,便于他人参考。
1. 制作过程
U盘的容量
我的是32G的,不过实际上不需要这么大的,8个G的应该是足够用了。
系统的速度方面,我原来以为会慢的要死,结果还是相当快的,我测了一下,我的U盘的写速度也不过10MB/s左右,所以大多数U盘都应该可以。
分区
这一步可以在安装的过程中完成。
由于Windows不能识别ext分区,而Linux又要装在ext分区中,所以为了能让Windows下也能用这个U盘,要先对U盘进行分区。
我的做法是将U盘分成了两个分区,第一个是vfat,第二个是ext4。之所以第一个用fat是因为当U盘有多个分区时,windows只能识别第一个。
关于分区的大小,我图省事,直接半对半,留下16G绐Linux,如果是8个G的U盘,建议还是绐Linux留下6个G,因为我现在U盘里的系统已经有5.3个G.
还有,我个人不太建议将那个fat分区直接挂载成linux的重要分区,如/usr啦什么的,因为在后面用vmware时,可能需要抛弃那个fat分区,仅由后一个分区引导,这个在后面会详细说。我用的是Ubuntu的默认设置,挂在了/windows。
安装
我装的是Ubuntu9.10,安装过程和正常安装没什么差别,记得选择装在你的U盘上就行。
我的分区如下:
有一点要注意的是,grub的安装位置一定要选择成U盘(默认是第一块硬盘),不然,嘿嘿。。Ubuntu中是在安装的第六步选则右下角的高级,然后选择Grub的位置,这一步一定要做!!
安装完成后,一个Linux U盘就基本做好了,找一台其他的电脑,插上U盘,重启,修改启动项,应该可以看到熟悉的桌面了。
2. 在Windows下使用
如果你只是想在Windows下把它当成U盘用,直接插上就可以了,和其他U盘没什么两样。只是只能读取第一个分区的内容。
如果你想在Windows下使用U盘中的系统,便需要虚拟机了。
Virtual Box和VMware都可以。
VMware不是免费的,事实上它贵的惊人。虽然有免费的VMPlayer,不过,正如它的名字Player,VMPlayer只能“播放”现有的虚拟机,不能创建新的虚拟机。所以,你上哪里找VMware我就不知道了(相信国内还是挺容易滴,嘿嘿)。
创建虚拟机的过程如下:
1. 选择Custom(advanced).
2. 选择I will install the operating system later.
3. 选择Use a physical disk
4. 选择Use entire disk。如果开机后提示读写错误,请参照后面的问题汇总,选择第二个选项。
(没有说明的则表示默认即可)
Virtual Box
Virtual Box 是Sun的开源虚拟机软件,你可以从这里下载。
VirtualBox本身的虚拟硬盘格式并不支持直接映射物理设备,不过索性VirtualBox支持VMware的vmdk格式,所以直接把刚刚在VMware中创建的.vmdk文件拿来用就可以了。
如果没有VMware,用VirtualBox创建.vmdk的过程稍稍有些复杂,如下:
打开一个CMD,进入VirtualBox的安装目录,输入:
wmic diskdrive list
屏幕会显示出当前所有磁盘的信息,如果你觉的混乱的话,可以用下述命令输出到文件:
wmic /output:d:\diskdrive.txt diskdrive list
然后找到你的U盘的ID,形如:\\.\PHYSICALDRIVE1(可以根据大小简单区分是哪块磁盘。)。
然后创建vmdk:
VBoxManage internalcommands createrawvmdk -filename d:\Disk.vmdk -rawdisk \\.\PHYSICALDRIVE1 -register
创建好vmdk后,打开VirtualBox,注册刚刚创建的U盘。
然后正常创建虚拟机即可,除了慢,VirtualBox中我还真没碰到过什么问题,不过有时候,可以慢到一定程度,相比之下VMware的问题虽然多,但还是相当快的。
还有,如果开启了3D加速,是可以看到果冻效果的哦~~(我用的是3.1),VMWare中我暂时还没有开出来,如果谁知道,记得告诉我哦。
3. 问题汇总
能看到Grub,但进不了系统
在VitrualBox中,能显示出Grub菜单,但选择后不久屏幕变只剩下一个光标,系统无响应。
在VMware中出现如下提示。
解决方案:
按照提示在Bios中开启:Virtualization.
在VMWare中开机后提示如下错误。
解决方案:
原来用VMware6.5只有在关机时才会出这个问题,所以也没有太在意,结果换到VMWare7中,一开机就出错。这个问题纠结了我n久。后来在日志中看到出错前有下面一段:
Dec 16 19:58:14.630: vmx| VMXAIOMGR: Retry on write "\\.\PhysicalDrive1" : Access is denied. Dec 16 19:58:14.630: vmx| VMXAIOMGR: system : err=1282 errCode=5 freeSpace=-1
所以猜测可能是由于Windows锁住了什么,所以导致读写失败,于是重新创建了一个vmdk,在创建时没有用整个设备,而是选择那个ext分区。(这也是为什么前面说不建议用第一个分区挂载linux的系统分区。)结果通过了(如图),而且关机也不出错了,开机之后,可再通过正常的方式来使用那一个分区。(就是通过VMWare文件夹共享)。
1. 选择Use individual partitions
2, 选择第2个分区
转载注明出处:http://pnuts.cc/2009/12/u-disk-linux/
P.S.
1. 貌似今天发了两篇Blog。累啊~
December 16th, 2009 - 20:45
老大……终于看到熟悉的中文了……
不过貌似是摩尔定律不是德摩根定律……德摩根指的是非(P且Q)=(非P)或(非Q)
December 16th, 2009 - 20:56
我对不起浩然姐姐啊,竟然记混了。。。
December 17th, 2009 - 20:38
赞一个 话说我看到UBUNTU都想吐了 – –
December 17th, 2009 - 22:41
你的Blog是不是活不了了?
December 23rd, 2009 - 02:49
拜托把greb写回成grub好不好..难道我火星?
December 23rd, 2009 - 11:36
谢谢提醒,已经改过来了。
August 6th, 2010 - 09:22
不错 不过我只有个1G的U盘
May 19th, 2016 - 17:19
Aw, this was a very good post. Taking the time and
actual effort to produce a superb article but what can I say
I procrastinate a lot and never manage to get anything
done.
May 30th, 2016 - 21:54
Many thanks for finally writing about >U盘Linux攻略 Pnuts CC’s Blog <Liked it!
May 31st, 2016 - 22:56
I appreciate you finally talking about >U盘Linux攻略 Pnuts CC’s Blog <Loved it!