安装 Windows 更新 3033929

安装 Windows 更新 3033929

我使用 grub 作为双启动笔记本电脑 (DELL Vostro 3750) 的默认启动加载程序。由于 Windows 更新 3033929,我的系统目前正在经历重启循环 (无限)。

正如所描述的这里

如果用户的计算机满足以下条件,则无法安装此安全更新:具有 Windows 和各种 Linux 发行版的多重启动配置

一个可能的解决方案似乎是:

要解决该问题,你可以使用 Windows 作为默认引导加载程序

很多文章描述了如何在启动时将 Windows 设置为默认 grub 项,但这与描述的可能的解决方案完全不同。

因此,有人可以描述一个可行的解决方案(分步说明)以Windows Update 3033929在双启动系统(grub 1.99-27+deb7u2 和:debian wheezy 和 windows 7/64bits)上安装。两个分区分别位于同一磁盘上:sda5sda2,因此我无法使用描述的解决方案这里

我在网上找到的一个可能的解决方案是完全删除 grub,但这似乎是一个过度的解决方案(而且我甚至不知道之后如何重新安装它)。我也想避免使用列出的解决方案这里其中 grub 引导加载程序已被删除并替换为Windows 7's "bootmgr"

答案1

我知道这个帖子现在已经很老了,但如果将来有人遇到这个问题,我希望这可以为人们节省很多麻烦。

当 Windows 和 Linux 安装在同一磁盘上时,有一种更简单的方法来解决这个问题,而不是经历“困难情况”答案中列出的所有努力(至少,根据我的经验)。

在 Windows 机器上双启动 Linux(虽然我不能代表所有发行版,所以在某些情况下可能并非如此)不会以任何方式删除或影响系统分区上的 MBR。它所做的只是使其处于非活动状态,而是使用 GRUB 引导加载程序分区作为活动分区。因此,完全没有必要弄乱任何一个引导加载程序,不需要重建任何引导加载程序,不需要任何复杂的操作。安装此失败的更新所需要做的就是:

  1. 将 Windows 系统分区(通常是最小的分区,大小为 100MB)更改为活动分区。如果您确实可以进入 Windows 系统,则可以通过磁盘管理 GUI 完成此操作,或者您也可以在修复模式下通过 Diskpart 命令提示符实用程序执行此操作:
  • diskpart

  • select disk 0(或安装 Windows 的任何磁盘号。您可以使用“列出磁盘”(不带引号)来查找)

  • select partition 1(再次,您可以通过输入“list part”(不带引号)来找到正确的分区号。100 MB 分区通常是 Windows 系统分区)

  • active(这将激活所选分区,随后使 GRUB 分区处于非活动状态,因为它只允许一个活动的启动分区)

  • exit并重新启动系统,它应该直接从 Windows 引导加载程序启动到 Windows

  1. 安装导致问题的更新(通常是 KB3033929)并重新启动 Windows。它应该可以成功安装。

  2. 重新启动进入命令提示符并将活动分区改回 GRUB 分区(通常不超过几百 MB),类似于我们在启动时激活 Windows 系统引导加载程序的方式。执行此操作时,请确保选择正确的分区号。命令示例:

  • diskpart

  • select disk 0

  • select partition 3

  • active

  • exit

  1. 重启系统。系统应该会像之前一样直接启动到 GRUB 加载程序,并且所有操作系统选项都可用。检查 Windows 更新,你会发现所有更新都已成功安装,系统应该可以正常运行。

这个解决方案花了我不到 2 分钟就完成了,非常简单。我希望它能帮助其他人,并在人们遇到这些麻烦时节省一些时间。

答案2

文章Windows 更新 KB3033929 更新循环包含此更新循环的仅有的两个已知解决方案。

在开始之前,我建议对整个磁盘进行映像备份,并确认您有正确的启动 CD 或 USB,以便在发生灾难时恢复它。我建议以后在执行 Windows 更新之前始终进行这样的映像备份,并将其置于手动模式。

简单情况:Windows 安装在单独的磁盘上

  1. 关闭计算机并拔下非 Windows 驱动器,或者如果 BIOS 支持此操作,则将启动盘设置为包含 Windows 的启动盘。
  2. 直接重新启动 Windows 并安装 KB3033929 更新。
  3. 再次重新启动以配置更新。
  4. 一旦一切安装完毕并正常运行,请关闭电脑并重新连接 Linux 驱动器。
  5. 下次重启时一切都会恢复正常。
  6. 如果没有,请在 Windows 启动时使用 F8 启动到安全模式并将 Windows 更新重置为“通知但让我下载”,或将此更新设置为“从不显示”,以避免安装它,直到 Microsoft 最终修复它。

困难情况:Windows 和 Linux 都安装在同一磁盘上

在这种情况下,您必须用 Windows 的引导程序替换引导程序,让此更新自行安装,然后返回 GRUB。步骤如下:

  1. 从 Windows 安装媒体启动并选择命令提示符修复选项。

  2. 键入以下内容并按 Enter:

Bootrec.exe /FixBoot

然后输入并按 Enter:

Bootrec.exe /FixMbr

  1. 直接重新启动进入 Windows(Grub 不再存在)。

  2. 安装有问题的更新并正确启动并运行 Windows。

  3. 要恢复 GRUB,请将计算机启动到实时 Linux CD 或 USB 并选择“试用”该操作系统。

  4. 找出 Linux 安装在哪个分区上,也许可以使用 Gparted 实用程序来查找根“/”分区。我们假设它在 sda1 上。

  5. 要挂载该分区,请打开终端并输入以下内容,然后按 Enter:

sudo mount /dev/sda1 /mnt

  1. 使用以下命令重新安装 grub:

sudo grub-install /dev/sda –root-directory=/mnt

  1. 移除安装介质并重新启动。Grub 引导加载程序将仅显示 Linux 安装。

  2. 要解决此问题,请启动到 Linux 桌面,打开终端并运行此命令以获取机器上所有可用的操作系统:

sudo update-grub

  1. 重新启动后,您现在应该可以使用 Grub 了,并且 Windows 安装为可启动选项。

  2. 如果上述方法对你不起作用,请尝试文章中的替代方法 删除 Linux Grub 并恢复 Windows 7 启动 GUI. 本文可能也有用: 如何修复、调整或删除 Grub 引导加载程序

  3. 如果以上方法均无效,请恢复备份磁盘映像,很抱歉,您现在又回到了原点。

答案3

我以为我在双启动 Manjaro Linux 后也遇到了这个问题。Windows 一直提示我重新启动,但更新未安装。我尝试将分区标记为“活动”,但没有成功。

但是,Windows 更新最终出现了错误代码0x80070bc2。我按照 Microsoft 社区中列出的解决方案运行

SC config wuauserv start= auto
SC config bits start= auto
SC config cryptsvc start= auto
SC config trustedinstaller start= auto

以管理员身份在 cmd 中。

然后,Windows 更新能够继续,但又出现了两个错误: 0x8007045b0x80070490

然后我跑了:

DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow

一切终于都好了。

第一个命令运行了一段时间,似乎卡在了 94.4%。但过了一会儿,它就成功了。

我只是把我遇到的问题留在这里以防将来有人遇到同样的问题。

答案4

您不需要删除 grub。只需使用 gparted live (gparted.org) 并从 Linux 分区中删除启动标志(如果您有一个单独的启动分区,请从中删除启动标志)并将启动标志归因于 Windows 分区。重新启动 PC(它将在 Windows 中启动),安装更新(PC 需要重新启动)。关闭 PC,然后使用 gparted live 重新启动它并撤消启动标志的更改。

相关内容