我有一台 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
。