经过一些更新(VM 中的几个 Windows Update 以及主机 PC 上的 BIOS 升级 - 不幸的是,两者都是在同一天完成的,所以我不知道是哪一个导致了这个问题)Win10 VM 在几分钟后崩溃非常随机地启动(在随机时刻和不同的错误代码,运行不同的应用程序或只是在没有打开应用程序的情况下将其放在那里)
我在VBox.log
该 VM 的文件中得到这样的日志:
00:03:46.239192 GIM: HyperV: Guest indicates a fatal condition! P0=0x3b P1=0xc0000005 P2=0xfffff8066340f470 P3=0xffffd98b1c2de640 P4=0x0
00:03:46.239872 GIMHv: BugCheck 3b {c0000005, fffff8066340f470, ffffd98b1c2de640, 0}
00:03:46.239873 SYSTEM_SERVICE_EXCEPTION
00:03:49.161941 AHCI#0: Reset the HBA
00:03:49.161963 VD#0: Cancelling all active requests
00:03:49.162188 AHCI#0: Port 0 reset
00:03:49.163200 VD#0: Cancelling all active requests
00:03:49.624006 VMMDev: vmmDevHeartbeatFlatlinedTimer: Guest seems to be unresponsive. Last heartbeat received 4 seconds ago
00:03:59.390391 VMMDev: Guest Log: VBoxGuest: BugCheck! P0=0x3b P1=0xc0000005 P2=0xfffff8066340f470 P3=0xffffd98b1c2de640 P4=0x0
00:03:59.390548 GIM: HyperV: Reset initiated through MSR
00:03:59.391650 Changing the VM state from 'RUNNING' to 'RESETTING'
00:03:59.394050 GIM: HyperV: Resetting MMIO2 regions and MSRs
00:03:59.394096 PIT: mode=3 count=0x10000 (65536) - 18.20 Hz (ch=0)
或者
00:13:05.795535 GIM: HyperV: Guest indicates a fatal condition! P0=0x1e P1=0xffffffffc0000005 P2=0xfffff8064de1b99c P3=0x0 P4=0xffffffffffffffff
00:13:05.795650 GIMHv: BugCheck 1e {ffffffffc0000005, fffff8064de1b99c, 0, ffffffffffffffff}
00:13:05.795650 KMODE_EXCEPTION_NOT_HANDLED
00:13:05.795651 P1: ffffffffc0000005 - exception code - STATUS_ACCESS_VIOLATION
00:13:05.795651 P2: fffff8064de1b99c - EIP/RIP
00:13:05.795651 P3: 0000000000000000 - Xcpt param #0
00:13:05.795651 P4: ffffffffffffffff - Xcpt param #1
在该日志或 VM 的 BSOD 中,我得到了这个崩溃标识符(我发现一个问题或更改可能导致这么多不同类型的错误真的很奇怪):
SYSTEM_SERVICE_EXCEPTION
STATUS_ACCESS_VIOLATION
PAGE_FAULT_IN_NONPAGED_AREA
IRQL_NOT_LESS_OR_EQUAL
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
我猜 Windows 10 的全新安装可以正常工作,但我想保留我的文件、设置、会话、存储的密码......
所以试图恢复这个安装,我试图:
- 以许多不同的组合更改/删除 VM 虚拟硬件:因为它看起来像是硬件或驱动程序的问题,所以我尝试了不同的显示适配器,删除了声音,USB,共享文件夹,处理器设置,......
- 启动 Windows 并尝试安装所有可用更新(尚未安装每月 2022-06 更新,21H2 升级也是如此)。它们被找到并下载,但无法安装,带有许多不同的错误代码(我搜索了其中一些并尝试了一些建议,如禁用休眠或不使用共享文件夹,但没有任何效果):
0x80073701
0x8000ffff
0x80091007
0x8007000d
0xc80003fa
0x80073712
- 在主机上,下载这些更新的安装程序,将它们复制到 VM 并安装它们:我找不到这些安装程序,似乎它们不像 Windows XP 那样提供独立的更新安装程序
- 打开控制面板,程序,卸载更新:卸载永远不会完成
- 重新启动主机 PC
- 使用 Live Linux ISO 启动 VM,然后运行 badblocks:一切正常
- 使用 memtester86 启动 VM:没有内存错误
- 将 VirtualBox 从 6.1.34 降级到 6.1.32 和 6.1.30:结果相同
- 以安全模式启动 Windows:以相同方式崩溃
- 以救援模式启动 Windows:所有选项均无效:
- 我没有系统还原点
- 卸载更新失败并显示一般错误消息,原因可能与从正在运行的 Windows 环境中卸载更新的原因相同
- 使用“保留我的文件”选项重置 Windows。它提供使用本地版本的 Windows 或下载它,并且都失败并出现一般错误消息
- 使用 NirSoft BlueScreenView 获取有关崩溃的更多信息:所有崩溃都显示
ntoskrnl.exe
,因此我无法找到有关故障驱动程序或设备的任何信息 chkdsk
没有发现错误sfc /scannow
说它无法执行所需的操作- 下载 Windows 10 ISO 文件:单击修复后,它会进入与将已安装的 Windows 系统启动到救援模式相同的修复环境
- 升级到 Windows 11:从 Win11 ISO 启动不允许升级,只能全新安装。必须通过启动Win10并运行来完成升级
setup.exe
,但这与尝试使用Windows Update类似地失败(似乎启动正常但几分钟后它说操作无法完成)
还有什么可以尝试的吗?
编辑:
- 几天前,我用 压缩了 VDI 文件
vboxmanage modifymedium --compact Win10.vdi
,以防万一有人知道这会导致磁盘映像损坏 - Win10 安装 5 个月没有应用 Windows 更新。它们每月自动安装但等待重启,本月系统重启并完成更新
发表我的评论作为答案。
VirtualBox 论坛上报告了类似的问题,这是讨论的内容:
附带说明一下,我在使用 zRAM 的主机上遇到了不可预测的 VirtualBox 来宾行为(KVM 没有此类问题),所以也要检查一下。
尝试将您的虚拟机复制到另一台 PC 上,看看它是否在那里运行。这将告诉您问题是主机还是虚拟机: