gre*_*man 7 opensuse bios grub2
我的配置:opensuse 11.4,在 Pendrive 和硬盘驱动器上启动分区,分区为 sda1、sda2、sdb1。
今天我为我的电脑更换了机箱,我错误地将第二个驱动器连接到 SATA 3 而不是 SATA 2。所以第二个驱动器没有正确安装。我关掉电脑,正确连接,然后我的问题开始了。
现在,我根本无法启动系统。以前我在 BIOS (pendrive) 中设置了从可移动驱动器启动,但现在似乎计算机 (BIOS) 无法将 pendrive 识别为可移动驱动器,而是普通 HDD。所以它不会为“可移动驱动器”启动。当我更改启动顺序,并选择从硬盘启动(并将第一个硬盘驱动器设置为 pendrive)或者如果我直接从启动菜单设置为从 pendrive 启动时,我会在进入救援模式的 GRUB 中出错。
我的猜测是,由于某种原因,pendrive 不再被识别为可移动媒体,但硬盘、硬盘驱动器的映射方式不同,我应该修复映射。
我可以启动 CD 安装程序并挂载 pendrive 以查看 grub 配置的内容,但是当我处于 grub 救援模式并执行“ls”时,我得到
(hd0) (hd0,msddos1) (hd1) (hd1,msddos2) (hd1,msdos1) (hd2) (hd2,msddos1)
但是我没有看到映射,所以我不知道 hd0 的真正含义。我只能怀疑这里的 hd1 是 sda,因为它有 2 个分区(如果后缀 msdsos 表示分区)。
我怎样才能让 grub 再次工作?
问题可能是 grub 在启动时看到的 USB 磁盘与从正在运行的系统运行时不同。以下是您可以解决的方法:
当您启动(通常是从高清)并出现 grub 时,打开 grub 控制台(通常只需按 即可c
)。在 grub 提示符下,开始输入root (hd
:
grub> root (hd
Run Code Online (Sandbox Code Playgroud)
然后按Tab,您将看到磁盘为可能的完成。选择您所在的磁盘和分区/boot
。如果您不确定,那么对于您怀疑的每个人,请执行以下操作:
root
命令选择分区并按Enter)cat /
并按Tab。您将看到在分区上找到的文件列表。/boot/
)。一旦您发现分区如何被 grub 识别,您就可以重新安装引导加载程序(使用setup
命令)并指向您的/boot/grub/menu.lst
或 /boot/grub/grub.conf
(您必须确定您的版本使用哪个分区/文件,或者只是使它们包含相同的内容)。
[编辑]:根据 Macias 的特殊请求,以下是有关如何使用 grub 修复 MBR 的更多详细信息:
使用我上面提到grub
的setup
命令在驱动器上重新安装 MBR 的一种方法。这是 grub 0.9X 版已知的命令(请参阅文档)。但是您似乎正在使用 grub (1.9X) 的较新分支,并且它的命令有所不同。查看相应的文档- 在此版本中,您可以使用该grub-install
实用程序将 grub 安装到 MBR ,我不确定是否还有其他方法 - 从 grub 的“救援”提示开始,就像 grub-0.97 一样。也许不是,也许这就是许多发行版更喜欢“遗留”版本的原因之一。