我在 Windows 10 旁边安装了 Ubuntu 18.04.01 LTS,但是 GRUB 没有启动 Windows 的选项。
当我按住 Shift 调出 GRUB 时,没有 Windows 10 的选项。
我尝试从 BIOS 启动到 Windows 驱动器,但它只是打开 GRUB 并启动 Ubuntu,因此我使用启动修复来恢复 MBR 并直接启动到 Windows 驱动器,它显示“未找到操作系统”。
https://ubuntuforums.org/showthread.php?t=1451149
/etc/grub.d/11_windows
此答案建议使用此代码创建自定义条目:
#! /bin/sh -e
echo "Adding Windows" >&2
cat << EOF
menuentry "Windows 10" {
insmod ntfs
insmod chain
insmod drivemap
set root=(hd0,1)
drivemap -s (hd0) (hd1)
chainloader +1
}
EOF
当我从 GRUB 加载它时,它显示类似“错误:无效签名”的内容。
由于这些都不起作用,我使用了启动修复的推荐修复,现在当我尝试启动 Windows 驱动器时,它又回到启动 Ubuntu。
这是其生成的 pastebin:http://paste.ubuntu.com/p/ztH5MSVts9/
抱歉,这看起来像是一个重复的问题,但我已经尝试了我能找到的所有答案,但都没有用。
更新
我找不到所有的答案,但这里有一些我尝试过的答案:
https://ubuntuforums.org/showthread.php?t=1451149
(当我从 GRUB 加载这个答案时,它显示类似“错误:无效签名”的内容。)
Ubuntu 中 GRUB 中没有 Windows 10 选项,Windows 驱动器似乎为空
(这个问题与我的问题不完全相同,我的 Windows 驱动器不是从 Ubuntu 清空的。但是当我重新启动时,更新 grub 没有改变任何东西。)
GRUB 未检测到 Windows
(我在这里使用 os-prober 时它没有任何反应。然后 update-grub 也没有改变任何东西。)
安装 Ubuntu 后无法启动 Windows,如何修复?
(批准的答案对我来说不起作用,我想是因为我的电脑没有运行 UEFI。Karel 建议使用启动修复来修复 Windows 启动文件也不起作用,当我加载任一硬盘时,它仍然会启动到没有 Windows 选项的 GRUB。)
https://askubuntu.com/a/890562/880950
(当我创建并加载自定义条目时,就像在这个答案中一样,它显示“错误:未找到文件“/bootmgr””。)
这是我在 /boot/grub/custom.cfg 中使用的代码:
menuentry "Windows 10" --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid 4A42271C42270C6F
ntldr /bootmgr
}
更新 2
我加载了 Windows 恢复驱动器并尝试了以下操作:
C:
Bootrec /fixmbr
“This operation completed successfully.”
Bootrec /fixboot
“The volume does not contain a recognized file system.”
Bootrec /rebuildbcd
“Scanning all disks for Windows installations.
Total identifies Windows installations: 1
[1] C:\windows
Add installation to boot list?”
Yes
“This volume does not contain a recognized file system.”
bcdedit
“The boot configuration data store could not be opened.
The system cannot find the file specified.”
https://www.bleepingcomputer.com/forums/t/634635/window-10-will-not-start/
我发现这个论坛似乎遇到了类似的问题,并建议使用“chkdsk C:/r”,所以我尝试了一下,结果返回:
“Windows has scanned the file system and found no problems.”
答案1
较新的 Windows 具有包含这些文件的单独启动分区。Vista/7/8/10 BIOS(对于 7、8 或 10,前两个文件通常位于单独的 100MB 启动分区中)
/bootmgr /启动/BCD/Windows/System32/winload.exe
您缺少通常位于 Windows 启动分区中的前两个启动文件。Windows 启动分区是否位于现在的 Ubuntu 驱动器上?Windows 将启动分区放在 BIOS 中设置为默认的驱动器上,并将文件安装到带有启动标志的分区中。
您不必有单独的启动分区。但需要确保 BIOS 设置为首先启动 Windows 驱动器,启动标志位于 NTFS 分区上,然后运行完整的 Windows 修复程序。这应该可以恢复 bootmgr 和 BCD。
Grub 不使用启动标志来了解要链式加载到的 Windows 分区,而是查找前两个启动文件。因此,在 Windows 驱动器上更新后,您应该能够从 BIOS 启动 Ubuntu 驱动器并运行 sudo update-grub 将 Windows 添加到启动菜单。
您希望将 Windows 启动管理器保留在 sda Windows 驱动器上。Grub 仅启动正常工作的 Windows。因此,当 Windows 崩溃并需要 chkdsk 或如果它重新启用快速启动,那么您可以从 BIOS 直接启动它,并使用 f8 进入内部修复控制台。
但最好为您安装的每个操作系统准备最新的修复盘或实时安装程序。并做好备份。
答案2
如果您运行 Windows 和 Ubuntu 的双启动,有时 Ubuntu 的 Grub 可能会干扰 Windows 系统启动并更改磁盘的 MBR 或干扰 Windows 启动管理器,从而无法从 Grub 菜单选项或 BIOS 启动菜单启动 Windows。在这种情况下,从 Windows 恢复和修复磁盘/驱动器上的 Windows 命令提示符修复 MBR 和/或 Windows 启动管理器相对容易,每个 Windows 用户都应该制作并掌握这些命令。使用的标准命令是引导记录以及用于修复 MBR 和 Windows 启动管理器(如有必要)的各种开关。可以找到有关在 Windows 10 及更早版本中使用此命令的良好指南这里。
但是,你可能会发现,一旦你修复了 Windows 的问题,你只能直接在那里启动,而不能进入 Grub。如果是这种情况,请启动你的 Ubuntu Live UFD 并运行启动修复。有一个很好的指南可以做到这一点这里。大多数情况下,完成此操作后就不会再出现启动问题,并且 Grub 应该在重新启动时出现,并可选择成功启动任一系统。
最后但并非最不重要的是,你应该始终通过映像备份 Windows 和 Ubuntu 系统,因为这是解决任何系统损坏问题的最快方法,并且对于回滚系统也很有用。虽然 Windows 7 - 10 有自己的内置映像系统,但不建议这样做,因为它有时被证明不可靠,正如 OP 发现的那样。Ubuntu 有自己的 GUI 用于此磁盘,它允许您对单个分区进行映像,根 \是最重要的。但最好的和最通用的映像系统是 Macrium Reflect,因为这个免费的 GUI 将备份 Windows 和 Ubuntu。要对 Ubuntu 进行映像,您必须首先在 Windows 中制作 Macrium Recovery USB。但是,一旦您制作了这个 USB,您就可以在启动后愉快地对任一系统进行映像。它非常可靠,可用于备份在 UEFI 或 Legacy BIOS 上运行的系统。它甚至包含一个 Windows 命令提示符,以便您可以运行引导记录或任何 Windows 修复命令。将显示如何制作 USB 的详细信息这里。
答案3
你可以
1:重新安装grub。
2:使用引导修复应用程序修复您的引导加载程序。
3:使用 Windows DVD 启动您的计算机并进行启动修复。(在这种情况下您应该恢复 grub,因为 Windows 启动加载程序不认识 ubuntu)
Troubleshoot --- Advanced Options --- Startup Repair ...