GRUB 2 手动开机到指定的核心

若在开机过程中 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。

 
 
 

GRUB 2 手动开机到指定的核心

上一篇:MapReduce 优化


下一篇:(十二)网络层--路由选择协议