从Ubuntu论坛上看到将Ubuntu装到移动硬盘里的帖子,觉得有点意思,就照着试了试,有了点自己的经验,现在拿出来分享一下。
我的步骤如下:
1、用livecd启动,插上移动硬盘,然后一切安正常的安装步骤进行,只是选择安装目标时选择你的移动硬盘,怎么分区一类的和平常的硬盘没什么区别。不过我建议前面的分成是windows的fat32,Linux的分在最后面比较好,这样可以方便你的移动硬盘在windows下面发挥它原来备份的作用,另外调整分区大小时也比较方便(我有次很不好的经验,就是有次想调整一下windows的分区,但是在我的c盘后面接着就是Linux的分区,再后面才是d盘、e盘、f盘,然后调整的时候无论如何不成功,后来发现在windows下那个pqmagic没法移动Linux分区,以及无法跳过Linux分区去操作后面的windows分区)。
2、一切安装完毕后,你的移动硬盘就已经可以在你的机器上启动了,这里注意,只是在你的机器上,在别人的机器上还是不行,关键在于那个grub引导是安装到你的硬盘上而不是移动硬盘上的(这个我不知道为什么,好像Ubuntu的安装程序就这么配置的),你需要在启动机器出现引导选择画面时选择c进行编辑,也就是进入grub的命令提示状态(这个在出现选择界面的时候下面有英文注释,自己看看也知道怎么做)
进入后,执行root (hd1,X)
hd1代表移动硬盘(因为grub现在在机器硬盘上,所以对于grub来说移动硬盘是hd1)
X代表/boot所在的分区,这个自己查看一下就行,一般输入root (hd1,后按一下tab键应该能看到
再执行setup (hd1)
这样grub就安装到了移动硬盘上。
再执行boot命令,应该能进入到Ubuntu中,进来后应该酌情改一下/boot/grub中的menu.lst文件,这个文件中的root行应该是需要更改的。具体是改root行,将原来的hd0改成hd1,因为你的移动硬盘对于你的电脑来说是第二块,虽然是用它启动。
这样做的好处是可以避免更改menu.lst中的UUID,那个比较麻烦,呵呵。
3、将附件中的S03xconfig.sh文件复制到/etc/rc2.d/中,这样就可以使Ubuntu能检测一些硬件驱动完成对于无法使用usb启动的机器,在完成上面几步后,还有点麻烦的地方,需要更改一下:重启进入windows,运行一下附件里files文件夹中的一个grubinit_gui什么的程序,选中自己机器上的硬盘,选择“启动时不检测软驱”和“优先引导原来的MBR”,点击安装
去http://www.linuxidc.com/Linux/2007-10/8641.htm将里面的grldr和在Linux中的/boot/grub下的menu.lst文件复制出来放到c盘根目录,其中menu.lst文件需要修改一下,将Ubuntu的选项的root全部改为 root (hd0,0),意思是从机器的硬盘去引导。
然后把/boot中的vmlinuz-2.6.22.14-generic和initrd-2.6.22.14-generic(文件名可能有错,太长,想不清,呵呵)考出来放到c盘。
这里说明一下原因:grub再引导Linux时,是将上面提到的vmlinuz和initrd文件加载到内存中的,也就是说,grub中指定的位置就是这两个文件所在的位置,这两个文件在内存中后,会自己再去启动Linux,这样就好办了,只要这两个文件能加载到内存中,文件就会根据一些东西(可能是grub中设置的uuid或者什么)找到移动硬盘中的系统。
以上是我根据我的经验进行的一些操作。可能有不适合你们机器的地方,全当是个参考好了。呵呵