2

我最近用 Debian Wheezy 双启动了一台 Windows PC。安装顺利,没有错误,但是当我启动到 Debian 时,我立即受到 GRUB 救援的欢迎:

Welcome to GRUB!

error: unknown filesystem.
Entering rescue mode...

在使用set命令进一步检查后,我注意到它正在引导到错误的分区:

grub rescue> set
prefix=(hd0,gpt4)/boot/grub
root=hd0,gpt4

这里它指向(hd0,gpt4)Debian 的安装位置是(hd0,gpt5). 所以,我做了一个快速修复,使用set将变量改回它们应该是什么:

grub rescue> set prefix=(hd0,gpt5)/boot/grub
grub rescue> set root=gd0,gpt5

在这样做之后,我只做了我记得我应该做的事情来引导到操作系统并运行:

grub rescue> insmod normal

当我收到错误时,这就是事情开始出错的地方:

error: invalid arch independent ELF magic.

然后我对这个问题进行了一些研究,似乎常见的解决方案是从 live CD 重新安装 GRUB。因此,我启动到 Debian 的 live CD 并运行以下命令:

sudo mount /dev/sda5 /mnt
sudo grub-install --root-directory=/mnt /dev/sda

我收到错误的地方:

The file /mnt/boot/grub/stage1 not read correctly.

虽然我可以保证这个文件确实存在并且是可编辑的,因为我可以编辑它

sudo nano /mnt/boot/grub/stage1

那么可能是什么问题呢?

4

3 回答 3

5

原来答案很简单,我需要安装grub-efi包:

sudo apt-get install grub-efi
于 2013-08-08T23:51:37.103 回答
5

在您的系统上安装 grub-efi 修复了一些东西(因为它支持传统的 BIOS 引导过程以及 EFI 引导),如果您想修复原始 grub 安装,答案可能是:

apt-get install --reinstall grub-pc-bin grub-pc

其次是:

grub-install /dev/sdX

where/dev/sdX应该由您的引导驱动器(或驱动器)替换。

...这将替换引导驱动器上看起来已损坏的 grub 二进制文件版本(这是“无效的独立于拱门的 ELF 魔术”的意思)。

于 2014-04-23T19:43:03.750 回答
1

您可以使用 Windows 恢复环境中可用的工具 bootrec.exe 重建主引导扇区。

  1. 插入您的 Windows 安装光盘
  2. 在“Press any key to boot from CD or DVD”消息中按任意键从光盘启动
  3. 选择语言、时间和键盘方法后,选择修复您的计算机(适用于 Windows 7 用户)。XP 用户:按 R 访问故障恢复控制台
  4. 选择您的 Windows 安装驱动器(通常是 C:),然后单击下一步。XP 用户可能没有这一步。
  5. 在系统恢复选项框中选择命令提示符。XP 用户需要输入管理员密码才能打开命令提示符
  6. 在命令提示符中写入以下命令:

     bootrec /fixmbr
     bootrec /fixboot
     bootrec /rebuildbcd
    
于 2014-07-31T18:44:49.660 回答