![Grub2 无法启动双启动 Windows 10](https://linux22.com/image/1142506/Grub2%20%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%E5%8F%8C%E5%90%AF%E5%8A%A8%20Windows%2010.png)
对于管理员:如果合适的话,请将此问题分成不同的部分。
我的笔记本电脑是联想 ThinkPad E555。最近我安装了 Ubuntu Mint 1610,昨天我安装了 Windows 10,两者都是从可启动的 USB 中安装的。我已将 BIOS 设置为 UEFI,不支持 CSM,也没有安全启动,我的硬盘是 GPT 格式。
整个过程中,我使用 grub2 启动 Ubuntu 没有任何问题。
在我的计算机中完成 Windows 安装并启动 Windows 的整个过程后(它提示配置用户名和其他设置),我看到了 Windows 桌面,立即关闭计算机,再次打开 Ubuntu,并尝试在 grub2 中添加 Windows 条目。
从“yannubuntu”的 ppa 安装后boot-repair
,我运行了这个程序。它没有帮助。事实上,我已经多次运行它,使用不同的选项,但都没有成功。上次我运行这个程序时,我选择将其上传到 pastebin:http://paste2.org/I28GVzGm
现在我陷入了使用 grub2 启动 Windows 的困境。我尝试插入 Windows 安装程序,选择修复启动,但无济于事。我尝试在 grub 中执行以下操作,但仍然没有任何反应:
setparam "Windows" {
set root='hd0,1'
chainloader +1
}
我做的另一件事是看到chainloader /EFI/Microsoft/Boot/bootmgfw.efi
最后一行中 grub2 用于 windows 启动(由 添加boot-repair
),并且同一目录下还有一些其他 efi 文件,我尝试将“bootmgfw.efi”更改为“bootmgr.efi”和“bootx64.efi”之类的内容。仍然没有结果。
现在我已经想不出如何解决这个问题了。如果您有任何想法,请回复,我非常乐意添加从我的计算机中获得的任何附加信息。
感谢所有试图帮助我的人!
编辑1:
我已经跑了sudo update-grub
,但是没有帮助。
编辑2:
当我尝试从 grub2 菜单启动 Windows 10 时,什么都没有发生:它立即切换回同一屏幕 - grub2 菜单,好像我没有碰过任何东西。我还尝试在条目上按“e”进入编辑模式,然后按 F10 运行,它显示以下内容:
file path: ...((directory to /EFI/Microsoft/Boot/bootmgfw.efi))/EndEntire
error: unknown error
当使用闪存驱动器从 Rod Smith 建议的 rEFInd 启动时,第一个条目是 Windows 的唯一条目,但当我尝试从它启动时,出现了以下几行:
Starting bootmgfw.efi
Using load options ''
Failed to open \EFI\Microsoft\Boot\grubx64.efi - Not Found
Failed to load image \EFI\Microsoft\Boot\grubx64.efi: Not Found
Failed to open \EFI\Microsoft\Boot\MoKManager.efi - Not Found
Failed to load image \EFI\Microsoft\Boot\MoKManager.efi: Not Found
我尝试在打开笔记本电脑时按 F12(启动选项)进行启动,并在那里选择 Windows,但它也没有执行任何操作,就好像我从未按过任何键一样。
zip
我已将 EFI 分区转换为 FAT32(使用和备份和返回文件unzip
),修改了 /etc/fstab,然后重试boot-repair
,从 grub2 启动时,发生了与我之前使用 grub2 描述的相同的事情。
我也在dosfsck
我的 EFI 上尝试过,但这对结果没有任何影响。受此启发,我尝试使用 Windows 安装磁盘上的 cmd 执行sfc/scannow
和chkdsk/f c:
(其中“c:”指向 /dev/sda6,即安装 Windows 的分区),但之后当我尝试从 grub2 启动时,我仍然没有看到任何不同。
答案1
您发布的 Windows 启动选项chainloader +1
中的语法适用于grub.cfg
BIOS 模式安装;对于像您这样的 EFI 模式安装,您必须链式加载到 EFI 引导加载程序文件 - 通常EFI/Microsoft/Boot/bootmgfw.efi
用于 Windows。Boot Windows Boot Manager (on /dev/sda1)
Repair 输出中的选项在我看来是正确的,尽管我可能遗漏了一些细节。
很难提供更具体的建议,因为你没有说出问题所在。是的,你说你无法启动,但你提供了沒有詳細信息!当您在 GRUB 中选择 Windows 条目时,会发生什么情况?您是否看到 Windows 徽标出现,但桌面始终未出现?您是否看到“文件未找到”类型的错误?计算机是否重新启动?计算机是否着火?准确了解选择该选项时计算机执行的操作对于提供任何解决方案(而非盲目猜测)都是必要的。
我的建议是尝试一下rEFInd 启动管理器。 如果如果问题出在 GRUB 配置上,rEFInd 可能会起作用,因为 rEFInd 使用完全不同的配置文件。另一方面,如果问题出在 Windows 引导加载程序上,rEFInd 根本无济于事,因为 GRUB 和 rEFInd 都使用 Windows 引导加载程序来启动 Windows。请注意,您可以通过将 rEFInd 安装到 USB 闪存驱动器或 CD-R 来试用它;这两种介质的现成映像都可以在 rEFInd 下载页面上找到。
另一条评论:如果你还没有这样做,你必须禁用 Windows 中的快速启动和休眠功能,如下所述这里和这里。当然,如果您无法启动 Windows,您就无法执行此操作。这些功能的问题在于,它们会导致双启动场景中的文件系统损坏,有时这种损坏会导致引导加载程序损坏。如果这是问题的根源,请dosfsck
在 ESP 上运行(/dev/sda1
在您的情况下)可能一次性解决该问题;但是,如果您这样做sudo dosfsck /dev/sda1
并且可以启动 Windows,请务必立即禁用这两个功能以防止再次发生。
还有一点:您的 ESP 使用 FAT16。这是对 EFI 规范的轻微技术违反。通常这样可以正常工作,但有些计算机在使用 FAT16 ESP 时会出现一些问题。这很可能是您的问题的根源。如果是这样,请在 Ubuntu 中备份 ESP(使用文件级工具,如cp
、tar
或zip
就可以了),卸载 ESP,在其上创建一个新的 FAT32 文件系统,重新安装它(并调整/etc/fstab
),然后恢复备份可能会使一切正常。