看来是GRUB引导出问题了,要解决下。
先 想到用制作U盘启动盘来启动,参照网上的方法,很简单用USBBOOT软件做了一个U盘启动盘,按F11在别的电脑上可以用U盘启动,说明制作启动盘成 功。然后放公司电脑上,发现选择U盘启动后还是进入到了GRUB,看来GRUB优先级别比U盘启动盘高,这个方法只能算失败了。
后来在网上参考GRUB命令行格式,解决掉了,步骤如下:
grub> rootnoverify (hd0,0)
grub> chainloader +1
grub> boot
说明:如果不知道命令的参数,比如是用(hd0,0)还是(hd1,2),可以在命令后面按TAB键,这样就会出现可选参数的列表,再根据列表进行选择就可以了。
参考的GRUB文章全文如下:
grub 命令行用法
1、用命令行来引导Linux操作系统的步骤 通过命令行来引导操作系统的流程,也没有什么难的;无非是把指令手工输入到grub>提示符的后面;在这个过程中,tab键的命令补齐功能就显得很重要了。如果您不知道有哪些命令,可以输入help;
grub>
只要您在grub>提示符的后面输入help 就能得到GRUB所有的命令提示; grub> help 如果需要得到某个指令的帮助,就在 help 后面空一格,然后输入指令,比如; grub>help kernel
cat 指令是用来查看文件内容的,有时我们不知道Linux的/boot分区,以及/根分区所在的位置,要查看/etc/fstab的内容来得知,这时,我们就 要用到cat (hd[0-n],y)/etc/fstab 来获得这些内容;注意要学会用tab键命令补齐的功能; grub> cat ( 按tab 键会出来hd0或hd1之类的; 有的弟兄可能会说,我不知道Linux安装在了哪个分区。那根据文件系统来判断一个一个的尝试总可以吧我;只要能cat出/etc/fstab就能为以后引导带来方便; 主 要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和Linux 的/处于同一个硬盘分区;比如上面的例子中LABEL=/ 这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中; 如果您的Linux系统/boot和/没有位于同一个分区,可能cat (hd[a-n],y) 查到的是类似下面的; LABEL=/ / ext3 defaults 1 1
其实这个root (hd[0,n],y)是可以省略的,如果省略了,我们要在kerenl 命令中指定;我们前面已经说过 (hd[0-n],y) 硬盘分区的表示方法的用途;主要是用来指定 /boot所在的分区; 比如我们确认/boot和 (hd0,6),所以就可以这样来输入root (hd0,6) grub> root (hd0,6) 如果发现不对,可以重新来过;没有什么大不了的;
kernel 这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。不要忘记tab键的命令补齐的应用; 在这里 root=/dev/hd[a-z]X 是Linux 的/根所位于的分区,如果不知道是哪个分区,就用tab出来的来计算,一个一个的尝试;或用cat (hd[0-n],y)/etc/fstab 中得到Linux的/所在的分区或分区的标签; grub> kernel /boot/在这里按tab键;这样就列出/boot中的文件了; 注解: root=LABEL=/ 是Linux的/所在的分区的文件系统的标签;如果您知道Linux的/在哪个具体的分区,用root=/dev/hd[a-z]X来指定也行。比如下面的一行也是可以的; grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 也可以把/boot所在的分区的指定 root (hd[0-n],y)这行省掉,直接在kernel 中指定/boot所在的分区;所以就在下面的语法; 如果是/boot和Linux的根同处一个分区; kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X 比如: grub>kernel 如果是/boot和Linux所在的根不在一个分区;则是; kernel (hd[0-n],y)/vmlinuz ro root=/dev/hd[a-z]X grub> kernel (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 或下面的输入,以cat 出/etc/fstab内容为准; grub> kernel (hd0,6)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
grub> initrd /boot/initrd在这里tab 来补齐; 如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的; grub> initrd /initrd在这里tab 来补齐;
grub>boot 2、通过GRUB指令来引导Windows ; 其实我们会写menu.lst了,在menu.lst中的除了title外,都是一条条指令;如果我们启动Windows ,只是输入指令就行了; 比如 Windows的分区在 (hd0,0),我们在开机后,按ctrl+c ,进入GRUB的命令模式;就可以用下面的 grub> rootnoverify (hd0,0) |