前段时间京东有活动买了个320G的西部数据,刚买回来自然要捣鼓一番,想要把Fedora15安装到移动一盘。好吧,安装过程这里不说了,没有截图,不好写教程。需要注意的是在选择引导方式时,可以选择安装到本地磁盘的MBR或者是移动硬盘的MBR,但是有两种情况:

1、如果安装到本地磁盘的MBR,移动硬盘只有挂在本地磁盘的那台电脑上才能够进入,其他机器上就无法引导;

2、如果安装到移动硬盘,写入引导时移动硬盘被识别为 /dev/sdb,但是直接从移动硬盘引导时,移动硬盘默认识别为 /dev/hda , 这样就导致无法找到启动文件来启动Linux系统,系统自然启动失败。

好吧,接下来的工作就是要启动Linux了,一大堆的命令当然无法都记得,于是搜索了很多文章,这里整理出来,方便再次使用:

Linux无法启动,针对原因,现在开始解决问题!如果要想直接从移动硬盘启动,首先要把grub引导写入移动硬盘的MBR,方法有很多,本人看来很多帖子,比较容易实现的是:制作一张DOS启动盘,下载grub4dos ,将里面的grub.exe提取放到DOS引导盘内,用DOS启动盘引导进入DOS后,运行其中的grub.exe,进入COMMANDLINE, 即进入纯grub环境:

grub>   接下来寻找此时的Linux分区在哪,并安装grub:

首先,输入 " root (hd ",然后按两次 TAB 键;     (不含引号,下同)

/* 这会列出您电脑上可能的磁盘设备,硬盘为 hd0/hd1/... 或 sd0/sd1/... */

然后,选择你的安装 Linux 系统的硬盘,比如 hd0 ,

输入 " root (hd0, " ,再按两次 TAB 键;

/* 这会列出您的第一块硬盘上的分区情况,你会知道哪个是 swap 交换分区,0x82 ,哪个是 Linux 分区 0x83 */

再次,选择您认为可能的 /boot 目录所在的分区,

输入 " root (hd0, 1) ” 回车;

接着,

输入 " cat /boot/vm ” , 按两次 TAB 键,假如出现一些 vm 开头的文档,比如 vmlinuz-2.6.15-26-386 说明这里是 /boot 所在的分区。如果没有的话,请接着尝试其他磁盘分区,直到找到类似的文件;

确认无误后,此时你已经找到了Linux安装的磁盘以及分区,现在安装grub到移动硬盘的MBR:

比如说你的移动硬盘是 hd1 , 存有 /boot 目录的分区为移动硬盘第一分区,即0 ,   /* 注意:grub下计数从0开始 */

输入 " root (hd1,0) ” 回车;此时会得到磁盘文件系统的一些回馈信息;

输入   " setup (hd1) ” 回车;此时会将安装有Linux系统的启动信息安装到移动硬盘的MBR,

到此,移动硬盘的grub引导安装完毕,下一步我们要修改Linux系统内的grub.conf的参数,来达到正确引导Linux系统的目的。

 

修改Linux系统启动参数grub.conf:
 
要修改grub.conf,有两种方法,一种是利用Linux引导盘先进入Linux系统然后再修改,优点是可以用前面做的DOS启动盘启动到grub时已经集成在grub中的一条命令:find /boot/grub/menu.lst ,直接选择那条命令即可引导进入Linux, 然后即可修改grub.conf;另一种是在windows下直接挂载Linux系统磁盘分区,这时要用到一个软件 Ext2IFS ,网上随处可以找到,下载安装,将Linux的ext2/ext3文件系统分区映射为一个本地磁盘,按路径即可找到grub.conf。
 
下面是修改参数的重点,我安装的是Red Flag 6.0,根据你的具体情况,找到如下的参数并修改为:
 
default=0
timeout=5
gfxmenu (hd0,X)/boot/message
X处填你移动硬盘中Linux系统 /boot 目录所在分区位置,第一分区为0,第二分区为1,依此类推
title Fedora 15
root (hd0,X)    X处填你移动硬盘中Linux系统的 / 分区所在分区位置
其实也就是改了两个X号所在的位置的而已,其他的都不变!
经过以上修改,就完成了Linux系统启动参数的设置,现在可以直接从移动硬盘启动Linux系统了。