Windows 8.1 (nonPro) 64bit - Restarted due to non working MS Office 2016 and now BSOD INACCESSIBLE_BOOT_DEVICE

Due to the current issues, I have moved this to the Windows Update forum.
 
I got a bit frustrated with problems on the drivers and unable to use sfc or dism to repair so I used ntlight to make an updated windows 8.1 usb and am attempting to 'update repair' my existing windows 8.1 install. I have a little freedom here as I can't really mess anything up, I have a clone of the hd on a new hd before I started any repairs and worse case I put it back in my old laptop that does not need different drivers and attempt to boot after changing the bios. Ultimately though I want to be running the newer laptop on win 10 with existing files/programs. We'll see.
 
let sfcfix run overnight and now my MS office asked me for a key and works again, but it found three missing dlls.

I made a quick script to find them.
# Define the DLL names to search for
$dllNames = @(
"Wow64provider.dll",
"EmbeddedProvider.dll",
"PEProvider.dll"
)

# Expanded directories to search
$searchPaths = @(
"C:\Windows\System32",
"C:\Windows\SysWOW64",
"C:\Users\TADAND~1\AppData\Local\Temp",
"C:\winmount\Windows\System32",
"C:\winmount\Windows\SysWOW64",
"C:\Windows\WinSxS",
"C:\Windows\System32\DriverStore\FileRepository",
"C:\Windows.old\System32",
"C:\Windows.old\SysWOW64",
"C:\winmount\Windows\WinSxS",
"C:\winmount\Windows\System32\DriverStore\FileRepository"
)

# Define the target directories
$targetPaths = @{
"Wow64provider.dll" = "C:\Windows\SysWOW64";
"EmbeddedProvider.dll" = "C:\Windows\System32";
"PEProvider.dll" = "C:\Windows\System32"
}

# Log file to save found locations and actions
$logFile = "C:\fixlaptop\DLL_Fix_Log.txt"

# Clear previous log file
if (Test-Path $logFile) {
Remove-Item $logFile
}

# Function to search for DLLs, copy them, and register them
function FindCopyAndRegister-DLL {
param (
[string[]]$dllNames,
[string[]]$searchPaths,
[hashtable]$targetPaths
)

foreach ($dll in $dllNames) {
Write-Host "`nSearching for $dll..."

# Search in all specified paths
foreach ($path in $searchPaths) {
$foundFile = Get-ChildItem -Path $path -Recurse -Filter $dll -ErrorAction SilentlyContinue | Select-Object -First 1

if ($foundFile) {
# Log the location
Add-Content -Path $logFile -Value "Found: $($foundFile.FullName)"

# Determine target directory
$targetDir = $targetPaths[$dll]

# Ensure target directory exists
if (!(Test-Path $targetDir)) {
New-Item -ItemType Directory -Path $targetDir
}

# Copy DLL to the correct location
$destination = Join-Path -Path $targetDir -ChildPath $foundFile.Name
Copy-Item -Path $foundFile.FullName -Destination $destination -Force
Add-Content -Path $logFile -Value "Copied to: $destination"
Write-Host "Copied $($foundFile.FullName) to $destination"

# Register the DLL
Write-Host "Registering $destination..."
Start-Process -FilePath "regsvr32.exe" -ArgumentList "/s `"$destination`"" -Wait

# Confirm registration
if ($?) {
Add-Content -Path $logFile -Value "Registered: $destination"
Write-Host "Successfully registered $destination"
} else {
Add-Content -Path $logFile -Value "Failed to register: $destination"
Write-Host "Failed to register $destination"
}

# Break the loop and move to the next DLL
Write-Host "Moving to the next DLL..."
break
}
}

# If DLL not found
if (-not $foundFile) {
Add-Content -Path $logFile -Value "Not Found: $dll"
Write-Host "$dll not found in any of the search paths."
}
}
}

# Run the function
FindCopyAndRegister-DLL -dllNames $dllNames -searchPaths $searchPaths -targetPaths $targetPaths

Write-Host "`nSearch, copy, and registration completed. Check the log file at $logFile."
 

Attachments

stuck, still errors out even though I've registered the missing files. Attempting to figure out how to fix them manually.
 

Attachments

I used wsus to force the updates it skipped several for some reason so I manually downloaded them into the directory it keeps them and tried again. I still can't update my drivers or use windows update to install them.
 
I appears my component hive is corrupt - I'm going to see if I can restore an older back up and rebuild it from there or if I have to start from scratch.
 
I restored a back up from august 2024 - and dism is working for the first time since. Running "dism /online /cleanup-image /startcomponentcleanup /resetbase" now.

I did save the corrupt components hive it was only 256kb so not sure what happened there, my back up was 150,000kb~

Given that this all started when my MS office 2016 gave me a notice that it needed to be repaired, then rebooted to BSOD - I'm assuming something went wrong at that point or just before it.
 
Last edited:
well that failed.

trying
dism /online /cleanup-image /restorehealth /source:wim:E:\sources\install.wim:1 /limitaccess

will upload logs
 
keeps failing - I've pointed it to a good source and even mounted it.

2025-02-24 19:32:06, Info DISM DISM Package Manager: PID=6720 TID=6572 Error in operation: source for package or file not found, ResolveSource() unsuccessful. (CBS HRESULT=0x800f081f) - CCbsConUIHandler::Error
2025-02-24 19:32:06, Error DISM DISM Package Manager: PID=6720 TID=11024 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f081f)
2025-02-24 19:32:06, Error DISM DISM Package Manager: PID=6720 TID=11024 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
2025-02-24 19:32:06, Error DISM DISM Package Manager: PID=6720 TID=11024 Failed processing package changes with session option CbsSessionOptionRepairStoreCorruption - CDISMPackageManager::RestoreHealth(hr:0x800f081f)
2025-02-24 19:32:06, Error DISM DISM Package Manager: PID=6720 TID=11024 The source files could not be found; their location must be specified using the /source option to restore the feature. - GetCbsErrorMsg
2025-02-24 19:32:06, Error DISM DISM Package Manager: PID=6720 TID=11024 Failed to restore the image health. - CPackageManagerCLIHandler::ProcessCmdLine_CleanupImage(hr:0x800f081f)
2025-02-24 19:32:06, Error DISM DISM Package Manager: PID=6720 TID=11024 Failed while processing command cleanup-image. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f081f)
2025-02-24 19:32:06, Info DISM DISM Package Manager: PID=6720 TID=11024 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
 
cbs pointed to it not liking the hashes for whatever reason so I'm attempting to point to my wsus folder as the source.

dism /online /cleanup-image /restorehealth /source:C:\WSUSOffline\client\w63-x64\glb /limitaccess /logpath:C:\fixlaptop\dism_repair_log_verbose4.txt
 
Ok I got tired of messing around , backed up my hive/winsxs and copied the components file and winsxs to my computer from a slip streamed install.wim and that seems to have fixed the problem!

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>dism /online /cleanup-image /checkhealth

Deployment Image Servicing and Management tool
Version: 6.3.9600.19408

Image Version: 6.3.9600.19397

The component store is repairable.
The operation completed successfully.

C:\Windows\system32>


running next.

dism /online /cleanup-image /restorehealth /source:wim:E:\sources\install.wim:1 /limitaccess
 
new error this time

C:\Windows\system32>dism /online /cleanup-image /restorehealth /source:wim:E:\sources\install.wim:1 /limitaccessDeployment Image Servicing and Management toolVersion: 6.3.9600.19408Image Version: 6.3.9600.19397[==========================100.0%==========================]Error: 3017The requested operation failed. A system reboot is required to roll back changes made.The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
 

Attachments

rebooted a few times and removed the update catch to try again.

dism /online /cleanup-image /restorehealth /limitaccess
 
no luck my system is just expecting too much that is not there and it can't find it.
resetting
dism /online /cleanup-image /startcomponentcleanup /resetbase
 
XLM parse error but almost worked..

Cleared the PendingDeletes folders and PendingRenames folder - rebooted and trying again now.
 

Has Sysnative Forums helped you? Please consider donating to help us support the site!

Back
Top