Updated VirtIO SCSI driver on my Windows 2012 R2, and now only boots into recovery. How to recover?
I have a Hetzner W2012 R2 Cloud VM, and I updated the VirtIO vioscsi
driver on it. Now it only boots into recovery mode and I cannot access the C-drive even from command prompt.
Is there any way to save this VM or is it a goner?
I have no (recent) snapshot of it :(
I can mount the old previous VirtIO ISO, but how can I reinstall the old driver when I have no access to the C-drive?
Update 1:
Am able to get access to the C-drive with drvload vioscsci.inf
.
Still trying to figure out how to reinstall the old drivers.
Update 2
I used dism /image:e:\ /add-driver /driver:vioscsi.inf
to add the driver but it still won't boot.
Update 3
Startup repair gives error 0x490
.
No clue what to do next or how to even troubleshoot why it is not booting.
Update 4
It appears all my system drivers have become unsigned. Disabling driver signature enforcement allowed the system to finally boot.
Do not know why this happened. It appears I will have to do a full reinstall, but at least I got back access to the VM now.
Solution 1:
1: Disable driver signature enforcement
After much investigation, all system drivers had become unsigned. Cause unknown (possibly drive corruption).
To access the VM I needed to boot without driver signature enforcement.
To do that, first activate the boot menu from Windows Recovery:
bcdedit /set {bootmgr} displaybootmenu yes
Then reboot, press F8 and choose to boot without enforcement.
2: Restore missing security catalogs
For some reason all files in
C:\Windows\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
...had disappeared. I happened to have a catroot_old
folder in System32
, so I copied the files from there back into catroot
. Using any previous backup would probably have worked too.
This change allowed me to boot normally again.