我有一个多重启动系统,其中包含 Ubuntu 16.04 和两个 Windows 10 副本。分区布局如下:
/dev/sda1, file system = ext4, size = 30.52 GiB, label = Ubuntu 16.04
/dev/sda2, file system = ntfs, size = 64.00 GiB, label = Windows 10 (1)
/dev/sda2, file system = ntfs, size = 64.00 GiB, label = Windows 10 (2)
/dev/sda4, file system = extended, size = rest of drive
每次我尝试在 Windows 10 下安装更新时,安装过程都会失败,显示
“我们无法完成更新。正在撤消更改。请不要关闭计算机”。
我运行了 Windows 10 疑难解答,但失败并显示错误
“Windows 10 服务注册丢失或损坏”。
我尝试修复Microsoft 论坛没有运气。
我使用同一台机器上的另一个驱动器启动 Windows 10,并成功下载并安装所有更新。使用 DiscWizard,我将该安装映像化,并将其还原为第一个驱动器上的“Windows 10 (1)”,但无法安装更新,并收到相同的错误。
Linux 分区的存在会让 Windows 感到困惑吗?或者 Windows 可能不喜欢从 Grub 2 启动?我完全没有主意了。
答案1
我能够通过使 Windows 10 分区处于活动状态并使用 Grub4DOS 记忆棒隐藏 Linux 分区来解决问题。我发现 Windows 10 想要将文件停放在活动分区所在的任何位置。在我的特定情况下,活动分区是 Ubuntu,并且由于 Ubuntu 需要 EXT4 文件系统(Windows 无法理解的文件系统),Windows 10 无法写入成功更新所需的文件。
尽管 Windows 是活动分区,Grub 2 菜单仍然出现,并且 Windows 和 Ubuntu 均正常运行。
答案2
@puzzl3 我确实可以确认,当在 BIOS/MBR 引导程序上双启动 Windows 10 和 ubuntu Linux 时,如果 Ubuntu/Grub2 分区设置为活动状态,则更大的 Windows 升级将始终失败/卡住(我们无法...循环)!
要完成更新,您可以使用 Windows CLI 工具“diskpart”将 Windows 切换回活动分区(仅当其自己的分区也可启动时)。
开始>命令提示符> diskpart “UAC Yes” list disk sel disk 0 list part sel part x active exit
您可以在 Windows 升级成功后将 Grub2/ubuntu 分区重新设置为活动分区,从而将 grub2 恢复为引导加载程序。如果 Grub2 安装在 MBR 本身而不是 PBR 中,则此方法可能不起作用!