Repair issues (Windows 7 x64 guest) after corrupt system vdi

Discussions related to using VirtualBox on Solaris hosts.
Post Reply
Alduin
Posts: 8
Joined: 9. Feb 2012, 10:13

Repair issues (Windows 7 x64 guest) after corrupt system vdi

Post by Alduin »

Background story
Today, I experienced the classical sudden freeze-up on a Windows 7 x64 guest (using VirtualBox 3.2.14); the machine suddenly becomes unresponsive to input and the screen is frozen without any outer indications (such as status: halted/paused etc).

I fired up a terminal, checked the status of the zpool and ... yep, the .vdi image where the system disk of the guest os is located had suffered from a corruption (checksum errors), just as I suspected:
-------------------
bla bla bla ...
scrub repaired 0 in 0h16m with 1 errors on Sun Feb 19 10:45:28 2012
NAME STATE READ WRITE CKSUM
systempool ONLINE 0 0 2
c2d0p4 ONLINE 0 0 4
errors: Permanent errors have been detected in the following files:
/systempool/images/Windows 7 x64 Ultimate.vdi
-------------------
unfortunately, the systempool is not redundant and this is certainly not the first time I've seen this error. What is new though is that instead of throwing the image in the bin I have decided to try and repair the it and here is where the issues started.

The issue
It seems that the Guest Additions install adds modifications to the guest OS which the "sfc /scannow" is unable to fix. So it would be great to know which files would be affected so that I could dismiss these errors as they occur. Here are the errors I found in the sfc log:
--------------------
2012-02-19 11:07:13, Info CSI 000002b5 [SR] Cannot repair member file [l:16{8}]"d3d8.dll" of Microsoft-Windows-DirectX-Direct3D8, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2012-02-19 12:27:33, Info CSI 000001f8 [SR] Cannot repair member file [l:32{16}]"Amd64\LR1506.GPD" of prnle003.inf, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type = [l:24{12}]"driverUpdate", TypeName neutral, PublicKey neutral in the store, file is missing
--------------------
so I take it that the hypervisor patches into the d3d8 driver and the AMD CPU drivers which impairs the ability of sfv to "repair" those files. Chkdsk found some errors in the volume bitmap but it appears that it was able to fix these errors.
Post Reply