Last week I had to fix my dad's PC, which stopped booting after bad weather caused a power outage.
He likes to do video editing, and CHKDSK spent a long time scanning all the disks before failing on boot repairs. Win 7 would boot to the logo, before powering off. Booting to safe mode also powered off.
From a W7 ISO, I tried running boot repair and System Restore -- it didn't work. sfc /scannow reported some uncorrectable errors.
This point, some users expect to do a repair install. But you can't run Upgrade from WinPE, that only works on a live system. W7 is too old for DISM /cleanup-image /restorehealth, even if you use a W10 ISO.
What worked was using sfc, but logging the errors to a file. Normally WinPE doesn't allow you to write files since X: is a RAM disk.
WinPE doesn't have findstr or other tools, so I read the file on my PC.
difxapi.dll is a library used for driver signing. It lives in four folders: System32, SysWOW, and two WinSxS backup folders.
I didn't know which ones were corrupted, so I copied the same files from a working W7 system and sfc /scannow completed w/o errors.
Windows was fixed, and it booted again. The only problem was Firefox didn't launch, and I re-installed it. The lesson is sometimes you don't really need to re-install Windows if you have patience to try other repairs.
He likes to do video editing, and CHKDSK spent a long time scanning all the disks before failing on boot repairs. Win 7 would boot to the logo, before powering off. Booting to safe mode also powered off.
From a W7 ISO, I tried running boot repair and System Restore -- it didn't work. sfc /scannow reported some uncorrectable errors.
This point, some users expect to do a repair install. But you can't run Upgrade from WinPE, that only works on a live system. W7 is too old for DISM /cleanup-image /restorehealth, even if you use a W10 ISO.
What worked was using sfc, but logging the errors to a file. Normally WinPE doesn't allow you to write files since X: is a RAM disk.
Code:
sfc /scannow /offbootdir=E:\ /offwindir=E:\Windows /offlogfile=D:\log.txt
WinPE doesn't have findstr or other tools, so I read the file on my PC.
Code:
findstr /c:"[SR]" log.txt | findstr "file"
0000e8f8 [SR] Cannot repair member file [l:22{11}]"difxapi.dll" of Microsoft-Windows-difxapi, 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
0000e8fa [SR] Cannot repair member file [l:22{11}]"difxapi.dll" of Microsoft-Windows-difxapi, 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
0000e8fe [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\SysWOW64"\[l:22{11}]"difxapi.dll"; source file in store is also corrupted
0000e904 [SR] Cannot repair member file [l:22{11}]"difxapi.dll" of Microsoft-Windows-difxapi, 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
0000e906 [SR] Cannot repair member file [l:22{11}]"difxapi.dll" of Microsoft-Windows-difxapi, 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
0000e90a [SR] Could not reproject corrupted file [ml:520{260},l:46{23}]"\??\C:\Windows\SysWOW64"\[l:22{11}]"difxapi.dll"; source file in store is also corrupted
difxapi.dll is a library used for driver signing. It lives in four folders: System32, SysWOW, and two WinSxS backup folders.
I didn't know which ones were corrupted, so I copied the same files from a working W7 system and sfc /scannow completed w/o errors.
Windows was fixed, and it booted again. The only problem was Firefox didn't launch, and I re-installed it. The lesson is sometimes you don't really need to re-install Windows if you have patience to try other repairs.