如何修复 Debian 上的 grub

如何修复 Debian 上的 grub

我正在 VirtualBox 上加载 Linux (Debian Lenny),但 GRUB 显然有问题。当我启动系统时,会出现一个 grub 菜单:

在此输入图像描述

然后我运行以下命令:

root (hd0,0)
内核 /vmlinuz root=/dev/hda1 ro 安静
initrd /initrd.img
启动

系统启动后,该如何继续修复grub文件呢?任何意见,将不胜感激!

答案1

首先(对于未来的访问者),如果您无法启动系统,请插入 Debian 救援 CD 或 USB 驱动器,在 处挂载您的根分区/mnt,然后打开终端并运行

chroot /mnt

以便您可以在已安装的系统中键入命令。如果您有单独的/boot分区,请键入mount /boot以安装它。

您应该有一个名为/boot/grub/menu.lst.如果没有,请运行update-grub以创建初始文件。该文件包含“神奇”注释,该update-grub命令将其转换为实际的 Grub 指令。查找以下两行(以 开头#),如果它们与您的工作不匹配,请对其进行编辑:

# kopt=root=/dev/hda1 ro quiet
# groot=(hd0,0)

编辑这些行后,运行update-grub(再次,如果您必须运行一次才能创建文件)。

如果您喜欢手动编写menu.lst(仅在奇怪的设置中才需要),引导 Linux 的部分如下所示:

title           Debian GNU/Linux
root            (hd0,0)
kernel          /vmlinuz root=/dev/hda1 ro quiet
initrd          /initrd.img

答案2

也许您可以加载替代内核?您可以使用TAB来查找其他可用的内核吗?该错误消息可能意味着您没有将磁盘驱动程序编译到内核中或作为模块。

相关内容