我在运行 Ubuntu 15.10 的联想 ThinkPad Yoga s1 上。
就在昨天,我在笔记本电脑中安装了第二个 SSD。我移除了装有 Ubuntu 的主驱动器,将 Windows 10 安装在第二个驱动器上,然后重新插入主驱动器并运行sudo update-grub
。当我重新启动时,我同时看到了 Ubuntu 和 Windows 10,但现在当我启动 Windows 时,我卡在了紫色屏幕上。
奇怪的是,如果我加载 BIOS 并选择从哪个驱动器启动,我可以通过 grub 正常访问 Windows。但是当我更改启动顺序以优先考虑主驱动器或辅助驱动器时,我遇到了同样的问题(相关说明,Windows Boot Loader 是否应该在启动顺序中列在很高的位置?)。
我已经下载并使用了启动修复实用程序,而且我也在 grub 控制台中运行了一些命令,但没有成功。
作为参考,这里是启动修复 pastebin:http://paste.ubuntu.com/14473911/
我发现的一个解决方案是建议启动 Windows 并运行bootrec/fixmbr
和bootrec/fixboot
,但这些命令似乎将取代 grub,而且我不想失去对 Ubuntu 的访问权限。
有什么想法我可以做些什么来从 grub 加载 Windows,而无需从 BIOS 中选择正确的磁盘?
快速更新:如果我加载 BIOS 然后启动 Windows,它就可以正常工作。否则,如果我打开电脑并选择 Windows,我会看到紫色屏幕。
找到了解决方案:
我发现的解决方法是禁用 Windows 中的快速启动。Pastebin 中列出了 Windows 10 处于不安全状态,无法启动,并禁用快速启动。
答案1
在 /etc/grub.d 中创建一个名为 12_custom 的新脚本文件,代码如下:
#!/bin/sh -e
echo "Adding Windows 10 to GRUB 2 menu"
cat << EOF
menuentry "Windows 10" {
set root=(hd1,1)
chainloader (hd1,1)+1
}
EOF
hd1 对应于磁盘 2 和 /dev/sdb,但 hd0 是磁盘 1 或 /dev/sda。您可能需要 root 权限才能创建文件。使用 chmod +x 12_custom 使其可执行。使用 sudo update-grub 更新您的 GRUB。重新启动以查看您是否可以在 Ubuntu 和 Windows 之间进行选择。