Windows – Virtual Box fail load virtual machine E_FAIL (0x80004005)

virtualboxwindows 7

I have Xubuntu VM on VirtualBox 4.3.18 on Windows 7 Service pack 1 with some updates.
Error message is:

Result Code: 
E_FAIL (0x80004005)
Component: 
Machine
Interface: 
IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}

The detailed log is below:

...

1550.12bc: supR3HardNtViCallWinVerifyTrustCatFile: CryptCATAdminEnumCatalogFromHash failed ERRROR_NOT_FOUND (1168)
1550.12bc: supR3HardNtViCallWinVerifyTrustCatFile -> -22900 (org 22900)
1550.12bc: supHardenedWinVerifyImageByHandle: -> -22900 (\Device\HarddiskVolume2\Windows\System32\shell32.dll)WinVerifyTrust
1550.12bc: Error (rc=0):
1550.12bc: supR3HardenedScreenImage/Imports: rc=Unknown Status -22900 (0xffffa68c) fImage=1 fProtect=0x0 fAccess=0x0 \Device\HarddiskVolume2\Windows\System32\shell32.dll: Not signed.
1550.12bc: supR3HardenedWinVerifyCacheInsert: \Device\HarddiskVolume2\Windows\System32\shell32.dll
1550.12bc: supR3HardenedWinVerifyCacheProcessImportTodos: Processing 'advapi32.dll'...
1550.12bc: supR3HardenedWinVerifyCacheProcessImportTodos: 'advapi32.dll' -> '\Device\HarddiskVolume2\Windows\System32\advapi32.dll' [rcNtRedir=0xc0150008]
...
1550.12bc: supR3HardenedWinVerifyCacheProcessImportTodos: Processing 'shell32.dll'...
1550.12bc: supR3HardenedWinVerifyCacheProcessImportTodos: 'shell32.dll' -> '\Device\HarddiskVolume2\Windows\System32\shell32.dll' [rcNtRedir=0xc0150008]
1550.12bc: supR3HardenedScreenImage/Imports: cache hit (Unknown Status -22900 (0xffffa68c)) on \Device\HarddiskVolume2\Windows\System32\shell32.dll
1550.12bc: Error (rc=0):
1550.12bc: supR3HardenedScreenImage/Imports: cached rc=Unknown Status -22900 (0xffffa68c) fImage=1 fProtect=0x0 fAccess=0x0 cErrorHits=1 \Device\HarddiskVolume2\Windows\System32\shell32.dll

Best Answer

I know that you've asked this question a long time ago and your problem might not exist anymore, but I've goggled around and found your post on top results... So I'll answer it just to help other people who is suffering the same pain...

I think the story goes like this...

The VirtualBox, after some version, starts to be strictly correct about the OS it is installed on. On Windows, it validates your files against modifications, files such as system32.dll, shell32.dll and so on... This files are the ones modified when you use a custom theme and softwares like CustoPack Tools. This is my case. So, that entry on your log which says:

supR3HardenedWinVerifyCacheProcessImportTodos: 'shell32.dll' -> '\Device\HarddiskVolume2\Windows\System32\shell32.dll' [rcNtRedir=0xc0150008]

Is validating your shell32.dll against modifications. If it fails, for any reason, it will not start your VM. I don't know why they started to do this, but the latest version which doesn't do that is the 4.3.12. You can download that specific version (or earlier) and run your VMs or try to repair your system files. You should uninstall and repair all your system files before it can work again (Like using SFC - If you don't know what is it, google for SFC /scannow).

For me, this behavior is a pain in the S... Hope the Oracle had a good reason when started doing this hard check...

Related Question