Pnuts CC's Blog Flower & World, Life & Paradise.

16Dec/0910

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盘上就行。

image

我的分区如下:

image

有一点要注意的是,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).

image

2. 选择I will install the operating system later.

image

3. 选择Use a physical disk

image

4. 选择Use entire disk。如果开机后提示读写错误,请参照后面的问题汇总,选择第二个选项。

image

(没有说明的则表示默认即可)

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盘。

image

然后正常创建虚拟机即可,除了慢,VirtualBox中我还真没碰到过什么问题,不过有时候,可以慢到一定程度,相比之下VMware的问题虽然多,但还是相当快的。

还有,如果开启了3D加速,是可以看到果冻效果的哦~~(我用的是3.1),VMWare中我暂时还没有开出来,如果谁知道,记得告诉我哦。

3. 问题汇总

能看到Grub,但进不了系统

在VitrualBox中,能显示出Grub菜单,但选择后不久屏幕变只剩下一个光标,系统无响应。

在VMware中出现如下提示。

image

解决方案:

按照提示在Bios中开启:Virtualization.

在VMWare中开机后提示如下错误。

image

解决方案:

原来用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

image

2, 选择第2个分区

image

转载注明出处:http://pnuts.cc/2009/12/u-disk-linux/

P.S.

1. 貌似今天发了两篇Blog。累啊~

Filed under: Uncategorized Leave a comment
Comments (10) Trackbacks (0)
  1. 老大……终于看到熟悉的中文了……
    不过貌似是摩尔定律不是德摩根定律……德摩根指的是非(P且Q)=(非P)或(非Q)

  2. 赞一个 话说我看到UBUNTU都想吐了 – –

  3. 拜托把greb写回成grub好不好..难道我火星?

  4. 不错 不过我只有个1G的U盘

  5. 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.

  6. Many thanks for finally writing about >U盘Linux攻略 Pnuts CC’s Blog <Liked it!

  7. I appreciate you finally talking about >U盘Linux攻略 Pnuts CC’s Blog <Loved it!


Leave a comment

No trackbacks yet.