好的,这是我的机器和设置:我使用的是联想 Ideacentre K410。它预装了 64 位 Win7 Home。我在 UEFI 模式下安装了一个 TB 驱动器,然后在其上安装了 Xubuntu 14.04 Trusty Tahr。我 99% 的时间都在使用它,但在 BIOS/MBR 500Gb 驱动器上保留了 Win7 安装。自从安装 Linux 以来,Grub 从未让我选择是启动到 Linux 还是 Windows,因为它始终默认为 Xubuntu 而忽略 Windows。我很快发现,如果我从 Terrabyte 驱动器上拔下通信电缆,然后启动 PC,它会直接启动到 Windows。但是,如果不关闭机器,我就无法访问 Linux 驱动器上的文件。插入两根电缆后,它总是启动到 Xubuntu。这就是我一直使用这台机器的方式,直到现在。
我最近尝试使用安装在拇指驱动器上的“Boot-Repair-Disk”iso“修复”Grub。按照给出的说明操作后,包括删除 Grub,然后安装更新版本的 Grub,它说安装成功,我可以重新启动电脑。重新启动后,我收到以下错误:
error: file'/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>_
现在我该怎么办?显然 Grub 加载失败,不知怎么的坏了。我想也许我可以用安装 Xubuntu 时使用的原始安装光盘修复 Grub。(?)
启动修复磁盘信息文件在这里 http://paste.ubuntu.com/23162262/
它说
Grub2 (v2.00) is installed in the MBR of /dev/sda and looks at sector 1 of the same hard drive for core.img. core.img is at this location and looks for (,msdos1)/grub.
现在我很困惑,因为一直以来我都以为 TB 驱动器处于 UEFI 模式,但这个程序说它正在使用 MBR 和 msDOS 版本。WTH?
我在这里看到了一组恢复 Grub 的说明: 在 Ubuntu 12.04 LTS 上更新 Windows 8.1 后 Grub 无法运行
我会尝试它们,然后稍后在此帖子上发布结果。
更新:在我尝试使用终端中的命令行更新 Grub 之后
sudo update-grub
我得到以下信息:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.19.0-69-generic
Found initrd image: /boot/initrd.img-3.19.0-69-generic
Found linux image: /boot/vmlinuz-3.19.0-65-generic
Found initrd image: /boot/initrd.img-3.19.0-65-generic
Found linux image: /boot/vmlinuz-3.19.0-58-generic
Found initrd image: /boot/initrd.img-3.19.0-58-generic
Found linux image: /boot/vmlinuz-3.19.0-56-generic
Found initrd image: /boot/initrd.img-3.19.0-56-generic
Found linux image: /boot/vmlinuz-3.19.0-51-generic
Found initrd image: /boot/initrd.img-3.19.0-51-generic
Found linux image: /boot/vmlinuz-3.19.0-49-generic
Found initrd image: /boot/initrd.img-3.19.0-49-generic
Found linux image: /boot/vmlinuz-3.19.0-47-generic
Found initrd image: /boot/initrd.img-3.19.0-47-generic
Found linux image: /boot/vmlinuz-3.13.0-96-generic
Found initrd image: /boot/initrd.img-3.13.0-96-generic
done
由于某种原因,Grub 无法检测到我的其他硬盘和 Windows。
答案1
下面就针对这个问题进行解答。
我尝试再次使用“Boot-Repair-Disk”拇指驱动器,并使用 Grub 修复中描述的步骤在 Ubuntu 12.04 LTS 上更新 Windows 8.1 后 Grub 无法运行。因此,在启动修复中选择 ADVANCE OPTIONS。它提供了一组我上次尝试时没有看到的新说明。它让我选择在 /sda 中重新安装 Grub,而不是像以前那样将 EFI 安装在单独的分区中。我认为未选中的选择允许将 EFI 与 Grub 一起安装在 /sda 中。启动后,我看到了 Grub 菜单,但只有 Ubuntu 和选项可供选择。Grub 中似乎没有 Windows 选择。
在我的计算机上,启动时按 F12 键可调出硬盘菜单,选择从哪个硬盘启动。但是,如果选择了 Windows 驱动器,它会先显示“正在启动 Windows”屏幕几秒钟,然后默认进入 Grub 菜单,然后进入 Ubuntu。
自从解决这个问题以来,Apt、dbus 等也出现了其他错误(搜索我以前的帖子,看看我的意思),这迫使我必须备份所有数据,然后清除驱动器,并重新安装 Xubuntu 16.04.1 LTS 来纠正所有这些问题。目前,我必须使用rEFInd 启动管理器 http://www.rodsbooks.com/refind/getting.html在光盘上启动 Xubuntu,它显示了一个 Grub 菜单,其中确实显示了 Ubuntu、选项和 Windows 引导加载程序 - 似乎解决了这个问题。启动后,我可以取出光盘并将其替换为任何东西,Xubuntu 运行良好。
因此,再次回到马鞍上。