grub rescue界面手动引导ubuntu指南
-
查看硬盘和分区情况:
用
ls
命令查看有哪些硬盘和分区grub rescue> ls
GRUB
对设备的命名必须包含在小括号( )
内,不区分IDE
硬盘和SCSI
硬盘,统一使用hdx
,其中x
指定BIOS
中硬盘的编号,并从0
开始计数,而且IDE
硬盘编号小于SCSI
硬盘。 -
查找
ubuntu
安装位置,即/
目录节点。该步骤用ls
查看步骤1中所有分区下的目录情况,找到/
目录:grub rescue> ls (hd2,msdos6)/
由上图所示,
(hd2,msdos6)
分区中包含了etc, root
等系统目录,因此(hd2,msdos6)
就是我们要找的。注意,使用
ls
时要加/
,即ls (hd2,msdos6)/
,否则不会输出目录 -
设置
grub
的cmdpath、root、prefix
三个变量:首先要知道这三个变量的具体作用,可以参考grub2配置关键(三个核心变量prefix、root、cmdpath)和几点疑问。
用
set
命令可以查看当前三个变量的值:grub rescue> set
接下来用
set
命令将三个变量设置为步骤2中对应的值(以我的设备对应的(hd2,msdos6)
为例):grub rescue> set cmdpath=(hd2) grub rescue> set prefix=(hd2,msdos6)/boot/grub grub rescue> set root=(hd2,msdos6)
此时再用
set
命令查看一下,设置成功:注意,
prefix
指向的是boot/grub
目录。若在安装ubuntu时没有单独挂载boot
目录的话,prefix=(hd2,msdos6)/boot/grub
,若单独挂载了boot
则需要将prefix
设置为对应的位置。我的设备单独挂载了boot
,位置为(hd2,msdos5)
,因此应设置为prefix=(hd2,msdos5)/grub
(查找boot
目录所在分区的方法与步骤2中相同)。 -
加载模块并启动:
设置好三个变量后,加载
normal
:grub rescue> insmod normal
-
启动ubuntu:
grub rescue> normal