这是我第一次安装 ubuntu。我的笔记本电脑(Acer Aspire 4752z)上之前装有 Windows 7 和 8。在我的笔记本电脑上安装 Ubuntu(12.04)后,Windows 引导加载程序无法识别我的 Ubuntu,因此我从实时 USB 更新了 grub。
更新 grub 后,Ubuntu 启动正常,但我的 Windows 没有列在 grub 菜单中。所以我按照某人的指示再次更新 grub。重启后,grub 菜单不再显示。
在网上搜索了这个问题并尝试了一次又一次更新 grub 之后,我决定从 live USB 中删除 Ubuntu 分区。不久之后,我使用 Hiren boot 启动到 Windows,然后使用mbrfix
。但我认为它失败了。现在我无法显示我的 BIOS 设置或从 DVD 或 USB 启动。
此后,启动后我唯一能看到的屏幕是:
error: unknown filesystem
grub rescue>
答案1
驱动器 MBR 中可容纳的代码非常小。对于 Windows,引导加载程序非常简单,仅重定向到设置了引导标志的分区的引导扇区。Grub 是一个更复杂的引导加载程序,但它仍然受到空间的限制,因此它必须从特定分区(您删除的 Ubuntu 分区)加载模块。
当 Grub 找不到这些模块时(因为分区不再存在),您将收到非常有限的 grub 救援提示。它可用于手动加载 grub 模块,但当然,在您的情况下,这是不可能的,因为没有分区。所以您实际上无法做任何事情(据我所知)来启动剩余的操作系统(Windows)。
就你的情况而言,修复此问题最简单的方法是将 Grub 引导程序替换为 Windows 引导程序。你提到从 DVD 和 USB 启动时遇到问题,在这种情况下,你必须弄清楚这个问题,或者考虑将驱动器移到另一台机器上。我认为机器不再从 USB 或 CD/DVD 启动的情况很不寻常,所以我会尝试对此进行故障排除。
然后,您可以从 Windows 修复提示(通过启动 Windows 修复 CD 或 Windows 安装 DVD)安装 Windows 引导加载程序并运行:
bootrec /fixmbr
或者您可以启动 Ubuntu CD 并安装具有相同功能的引导加载程序......
sudo apt-get update
sudo apt-get install lilo
sudo lilo -M /dev/sda mbr
Lilo 安装后会给您一个大警告 - 但您可以忽略它,因为当它用作 Windows 风格的引导加载程序时,它会正常工作,如上所述。