我急需帮助,因为我今晚要交作业。提前谢谢您!
这是我收到的错误:
Failed to open a session for the virtual machine myMachine.
Could not open the medium 'C:\Users\...\Snapshots/{2e933747-5235-41f1-8ba8-c6368a235243}.vhd'.
VD: Image file 'C:\Users\...\Snapshots/{2e933747-5235-41f1-8ba8-c6368a235243}.vhd' is corrupted and can't be opened (VERR_VD_IMAGE_CORRUPTED).
Result Code: E_FAIL (0x80004005)
Component: MediumWrap
Interface: IMedium {ad47ad09-787b-44ab-b343-a082a3f2dfb1}
我意识到这个问题以前被问过这里,但我尝试运行DISM.exe /Online /Cleanup-image /Restorehealth
,sfc /scannow
但没有帮助。我还尝试卸载并重新安装 VirtualBox,但没有帮助。我还通过控制面板禁用了 Hyper-V,并在 powershell 中运行了 Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor
主机:Windows 10 Pro:版本 10.0.19042
虚拟机:Debian Linux(版本 10)
答案1
我急需帮助,因为我今晚要交作业。提前谢谢您!
您很可能必须创建一个新的虚拟机并在其上安装 Debian。虚拟机的一个快照已损坏。 {2e933747-5235-41f1-8ba8-c6368a235243}.vhd
可能是 0 KB,如果是这种情况,则无法解决您的问题。您可以尝试从快照链中删除损坏的快照。
您的问题可以通过以下方式最好地解释:
首次为新虚拟机创建虚拟磁盘时,该虚拟磁盘将被视为客户机的基础磁盘 - 客户机的数据将从该磁盘映像中读取并写入其中。
差异磁盘记录整个磁盘映像中每个扇区的变化,而不是磁盘中任何文件的更改。VirtualBox 不知道磁盘映像上采用的是什么文件系统,因此无法访问磁盘映像上的任何单个文件;只有客户操作系统知道该信息。
第一个快照创建一个差异磁盘用于读/写访问,而基础磁盘变为只读 - 当客户机修改其数据时,数据被写入差异磁盘,而基础磁盘保持不变。
第二个快照创建另一个新的差异磁盘以供读/写访问,而第一个差异磁盘与基础磁盘一起变为只读。
后续快照会创建额外的差异磁盘,其中前一个差异磁盘会加入只读磁盘的层次结构(啄食顺序/链)。
请记住,对虚拟磁盘的访问是逐个扇区进行的,而不是逐个文件的。
当客户机请求读取扇区时,将首先读取最新的快照。如果未找到该扇区(返回 Sector-Not-Found),则读取链中的下一个快照(从最新到最旧),直到到达基本虚拟磁盘。然后读取基本虚拟磁盘上/中的扇区或返回 Sector-Not-Found。
出于某种原因,我以不同的方式标记了“快照 2”(“B”扇区)的更改。假设您离开 VirtualBox 并删除了“快照 2”。或者文件损坏、截断或以某种方式被修改。然后您尝试重新创建硬盘。由于所有“B”扇区都丢失了,这是不可能的。
人们经常混淆“快照”和“高清状态”。他们认为,当他们拍摄快照时,他们会对文件进行差异备份,如果他们手动删除快照,他们可以从中恢复。不是的。
资料来源: