我已将 Ubuntu 14.04.2 LTS 安装在与 Windows 8.1 操作系统相同的硬盘驱动器上,位于其自己的分区上。安装过程没有任何问题。
之后,我在 Windows 系统上使用 EasyBCD 为 Ubuntu 创建一个新的启动项(使用 GRUB 2)。
同样,这工作得很好,并且通过启动菜单启动任一系统也能正常工作。
然后我让 Ubuntu 的自动更新程序安装其更新,从那以后我就无法再启动 Ubuntu 了。如果我尝试,它会给我留下以下消息(在从启动菜单中选择 Ubuntu 后立即):
Try (hd0,0): NTFS5: No ang0
Try (hd0,1): NTFS5: No ang0
Try (hd0,2): Extended:
Try (hd0,3): invalid or null
Try (hd0,4): non-MS: skip
Try (hd0,5): Extended:
Try (hd0,5): EXT2:
之后就没有其他事情发生了。但是启动窗口仍然可以正常工作。
我已经使用 Windows 中的磁盘管理实用程序检查了分区,一切似乎都正常:
http://puu.sh/gnu2H/e8f1754b20.png
这两个未命名的分区是 Ubuntu 的 /swap 和根分区。
是什么导致了这种突然的变化?一切都很好,直到我运行自动更新程序。
我在这里看到了类似的问题,但问题出在 UEFI-BIOS (我没有)上。
答案1
使用liveCD,找到安装ubuntu的分区(使用Gparted - 类似的分区程序。挂载分区(Ext4-通常):
sudo mount /dev/sda1 /mnt
(其中分区名称是 sda1,其他是 sdb1、sda2 等...)。
现在绑定
sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys
然后
sudo chroot /mnt
grub-install /dev/sda
(注意 sda 不是 sda1 - 否则是可引导的磁盘)
grub-install --recheck /dev/sda
update-grub
此外,您还可以/etc/default/grub
在安装 Ext4 分区后使用 liveCD (gedit/kate) 检查是否存在任何不兼容性。
我已经很久没有使用windows了。可能是Win8不允许GRUB2条目,我没有使用EasyBCD的经验。参考 EasyBCD 的帮助/手册页,你可能会在那里找到一些东西。
答案2
更新我的 Windows 7 后遇到了同样的问题...通过重置 Easy BCD 修复了。我必须清除所有预设菜单选项,然后重新添加指向正确驱动器的新条目