若在开机过程中 GRUB 2 选单无法编辑,在命令行下还是有可能允许开机至某个特定核心下。若 GRUB 2 所使用的目录地址正确,用户可能可以在命令行中输入单一行的指令提供所需的所有讯息。
指令摘要*:
set root=(hd0,msdosX)
linux
/boot/vmlinuz- root=/dev/sdXY ro
initrd
/boot/initrd-
boot
详细指令*:
第 1 步*:设定根分割区
set root=(hdX,Y)
使用来自
ls
指令查询到的正确
X, Y
值并
ENTER。记住
GRUB 2
将第一个磁盘算为
0,第一个分割区为
1。举例,若
Ubuntu
系统位于
sda5,输入:set
root=(hd0,5)
*如果确定系统位于哪里?先ls查看分区,然后依次尝试 “ ls (hdX,Y)/ ” #注意符号「/」 ,如果返回未知格式则非该分区,若正确显示相应子文件夹则就是这个分区了
*若是安装在 Windows 中的 Wubi,使用以下指令:
set root=(loop0)
第 2 步*:输入「linux」行讯息
linux /boot/vmlinuz-<您的版本>
root=/dev/sdXY ro
*若是以
Wubi
安装在
Windows
中,请使用以下指令代替:
root=/dev/sdXY loop=/ubuntu/disks/root.disk
在输入
linux /boot/
之后,用户可按下
TAB
来显示可用的核心。在「/」后没有空白。若没有可见的核心,那么在「设定根分割区」步骤中的地址设定可能有误。输入正确的核心或是用
tab
自动完成。
至于在
root=/dev/
部份,请使用正确的装置名称,例如「/dev/sda1」、「/dev/sdb5」等等。加上任何选项,例如
ro(只读),在每行的行末(一般而言非必要)。
一旦此行的所有信息都正确,看起来应该会类似以下的范例。
linux
/boot/vmlinuz-2.6.31-16-generic root=/dev/sda1 ro
若出现「档案未找到(file not found)」或类似的讯息出现,表示要不是装置/分割区/档案不存在,不然就是 GRUB 2 并非在正确的磁盘、分割区和/或目录中搜寻。使用 ls 指令来查明正确的地址接着执行以下指令。重复第 2 步。
set
prefix=(hdX,Y)/boot/grub
第 3 步:输入「initrd」行讯息
initrd /boot/initrd.img-<您的版本>
在输入了
initrd /boot/
之后,用户可按下
TAB
来显示可用的
initrd
映像档。不要在「/」之后留空白。若没有可见的映像档,表示在「设定根分割区」步骤中的地址设定可能有误。输入正确的映像文件地址或是用
tab
自动完成。
一旦此行的所有信息都正确,看起来应该会类似以下的范例。按下
ENTER。观察确认讯息。
initrd /initrd-2.6.31-16-generic
root=/dev/sda1 ro
第 4 步:重开机
boot
输入指令并按下 ENTER。