安装 ubuntu 14.04 后 Windows 8.1 没有出现在 Grub2 中

安装 ubuntu 14.04 后 Windows 8.1 没有出现在 Grub2 中

我有一台 HP 笔记本,它自带 freeDOS(MBR 分区,有两个主分区)。我通过创建另一个主分区以传统模式安装了 Windows 8.1。是的,虽然我的笔记本支持 EFI,但在传统模式下也是如此。然后在 75GB 未分配的可用空间中安装了 ubuntu 14.04。

安装后,GRUB2 显示 DOS 和 ubuntu 选项,但没有显示 windows 8.1 选项。然后我安装了 BootRepair 并按照论坛中的建议运行了推荐的修复 (http://paste.ubuntu.com/7658680),但它仍然无法识别窗口。

在谷歌搜索后,我在 Windows Live 会话中从命令提示符运行 fixMbr 来修复 Windows 问题。然后,系统直接启动到 Windows(我的所有文件都在那里)。然后,通过 ubuntu live 课程,我再次运行 Bootrepair。但是,同样的问题又出现了。GRUB2 仅显示 DOS 和 ubuntu 选项,而不显示 Windows 8.1 选项。

因此,如果我修复了 Windows 问题,ubuntu 就无法启动。如果我修复了 ubuntu 问题,windows 就无法启动。我一次只能运行一个操作系统。但我需要两个。请帮帮我。

提前致谢..

答案1

如果你仍安装有 Ubuntu,请尝试创建一个菜单项手动查看是否有效。创建一个菜单项(通过gksudo gedit /etc/grub.d/40_custom)并添加以下内容:

menuentry "Windows" {
    set root=(hd0,2)
    chainloader +1
}

然后运行sudo update-grub​​。从您发布的 Boot Repair 输出内容来看,这里的值root应该是 2。要确定,请尝试重新启动,然后按c以转到命令行(如 GRUB 菜单下方的说明所示)尝试这些命令,直到看到属于 Windows 分区的文件:

ls
ls (hd0,1)
ls (hd0,2)
...

第一个命令的输出ls将列出 GRUB 能够识别的分区((hd0,1)而不是sda等),因此在接下来的几个命令中,您将逐个尝试这些分区(使用第一个命令列出的值ls而不是(...,...)。一旦您看到 Windows 的文件,比如ls (hd0,3),然后执行以下操作:

set root=(hd0,3)
chainloader +1
boot

如果成功启动 Windows,则将您之前创建的菜单项替换(hd0,2)为。(您可能已经猜到了,菜单项行只是 GRUB 的命令。)如果失败,您可能需要加载 NTFS 模块:(hd0,3)ls

insmod part_msdos
insmod ntfs

如果是,请将这些行添加到菜单项中set root

相关内容