一、准备工作


备份电脑硬盘上的MBR:sudo dd if=/dev/sda of=/home/wayne/mbr.bak bs=512 count=1

注意:硬盘是 /dev/sda U盘是 /dev/sdb ,备份一下,最好放在可引导进入系统的LIVE USB上,放硬盘上也,不过得能找到,因为安装过程中可能造成硬盘系统无法启动。

电脑支持USB启动,改BIOS里的启动顺序,联想的电脑可能得插着U盘才能设置从U盘启动,设置完后拔下U盘后进入系统,要不就进不去了。


二、分区


用LINUX将U盘(8G)分为两个区:

fdisk /dev/sdb

分第一个区:n--p--+2G,格式化为vfat格式,mkfs.vfat /dev/sdb1,这个可以当普通U盘使用

分第二个区:n--p--+5G,把它设为活动分区,a--2,并格式化为EXT3格式,mke2fs -j /dev/sdb2,做为LINUX安装目录

最后剩余部分做SWAP,这里暂不管它


三、安装GRUB到U盘


mount -a /dev/sdb1 /mnt/sdb1

mount -a /dev/sdb2 /mnt/sdb2

grub-install root-directory=/mnt/sdb1 /dev/sdb ,GRUB安装到U盘上,测试一下,GRUB安装完成之后,U盘应该可以启动电脑了


四、安装LINUX系统进U盘


电脑硬盘启动安装程序(具体方法另行介绍),安装时特别留心,别装错地方,造成严重后果。

安装时选自定义安装,也就是custom...那个,出现对话框后,选/dev/sdb2,EDIT,做为/,不格式化。强烈建议也不格。

再NEW,swap,选磁盘剩余空间,二三百兆左右。

把grub boot loader will install前面的勾去掉,也就是不安GRUB,安就麻烦了,电脑硬盘可以启动不了系统了,因为装硬盘上了~~

开始安装吧,过程不写了


五、恢复MBR


如果按照上面说的做了,这就不用看了,也不用设置此项了


如果硬盘无法启动进入系统,进行下面操作,当然你可以需要LIVE CD或LIVE USB,恢复硬盘原来的MBR。

sudo dd if=/home/wayne/mbr.bak of=/dev/sda bs=512 count=1



如果实在没办法了,就用安装盘安装系统,重启时取出光盘,快速按下启动菜单中的选项,进入系统后修改BOOT.INI,删除安装目录的文件。


六、GRUB的后续工作


你可能发现安装完系统,插U盘重启后也没进入,正常!因为GRUB引导部分还没完事呢。

U盘启动后,进入GRUB提示符,

root (hd0,1) #U盘启动后自己成了第一个盘,系统在第二分区

测试一下有没有系统文件

find /boot/grub/stage1

find /boot/grub/vmlinuz-2.6.18-194.el5

都测试正常后,把GRUB安装到MBR和超级块中,来吧

setup (hd0)安装到MBR

setup (hd0,0)安装到第一分区的超级块中,这个应该没什么用,不过我装了。

setup (hd0,1)安装到第二分区的超级块中,系统在这,而且是活动分区。


下面立刻进入系统

root (0,1)

kernel /boot/vmlinuz-2.6.18-194.el5 ro root=LABEL=/

initrd /boot/initrd-2.6.18-194.el5.img   这是系统核心内容,准确录入,你的可以不一样哦

boot


七、GRUB的再续工作


好像大功告成了,呵呵,不,还没完呢,以后怎么自动进入系统啊,把下面的内容写入/boot/grub/menu.lst


# vi /boot/grub/menu.lst


default=0

timeout=0

splashp_w_picpath=(hd0,1)/boot/grub/splash.xpm.gz #这个可以不写,我就删了,是一张图片

hiddenmenu

title centos

root (hd0,1)

kernel /boot/vmlinuz-2.6.18-194.el5 ro root=LABEL=/

initrd /boot/initrd-2.6.18-194.el5.img

title other

root (hd1,0)

chainloader +1


八、如果是按上面操作的,下面的话就不用看了。


在正常的LINUX系统下载入U盘,它会把U盘当做第二块硬盘而认为是sdb,但用U盘启动系统时,它会把自己当作是第一块硬盘,可能会造成grub无法引导进入系统的问题


可以先手动更改GRUB,进入CENTOS选项,e--编辑第一项,改为(hd0,1),b引导启动,然后就进入了系统,马上去改 /boot/grub/menu.lst,此文件实际链接文件是grub.conf


这个时候就OK了,可以重新启动是看看。


九、话外


另外u盘第一个分区的BOOT文件夹可以删了。

好像走了点弯路,是因为之前系统统直接安装在第二分区时笔记本启动没问题,但台式机死活启动不起来,试过多次都不行

后来想个办法,U盘进入系统后grub-install --root-directory=/mnt/sda1 /dev/sda(u盘启动后当自己是sda),但只一次有效,第二次就启动不起来,怎样都不行,搞不懂。

当时我的活动分区是第一分区,也许和这个有关吧,没测。为了防止出现问题,我用了最保守且最有效的办法,不做可能的无用功了。

安装中用到了系统启动盘,吃螃蟹也会杯具的。

还用到了VM,这个不错,很多U盘分区、安装GRUB工作都由它完成的。

 

十、收工


好了,终于大功告成了,现在我们拥有了一个随身USB LINUX系统,只要电脑支持USB启动就行了,~~惰人有福了,随时随地的LINUX~~。