突然发现,手头一台笔记本经常在提示升级重启。不会这么频繁啊?仔细看了一眼,发现版本仍然停留在1809,进入更新界面一看,升级1903是失败状态,提示错误代码0x80004005。手动重复多次,发现问题依旧。
使用最新的Media Create Tool生成新的升级U盘,发现升级到最后也会提示升级失败。
按照网上的线索,找到了日志文件:C:$WINDOWS.~BTSourcesPanthersetuperr.log
发现里面有如下线索:
Error IBSLIB BCD: Failed to get registry value. Status: c0000024[gle=0x00000002]
Error IBSLIB BCD: Failed to get registry value. Status: c0000024[gle=0x00000002]
看起来是boot的BCD问题。回想起来这台电脑实际上当初是更换了ssd,使用傲梅轻松备份进行了系统克隆的,怀疑是这个克隆操作导致了一些问题。于是按照网上的教程,使用安装盘进入修复模式的Command Prompt。
使用如下命令进行修复:
bootrec /rebuildbcd
已识别的Windows安装总数:0. (total identified Windows installations: 0)
这说明无法识别系统中安装的windows。问题在什么地方呢?先不管,导出bcd看看:
bcdedit /export c:bcdbackup
存储导出操作已失败. 无效的句柄 ("The store export operation has failed. The handle is invalid".)
这种情况下怀疑是文件系统访问的问题,用修复boot尝试下:
bootrec /fixboot
访问被拒绝(access denied)
于是按照[1]进行EFI分区格式化:
使用diskpart命令,使用list vol查看UEFI分区的id。UEFI分区一般是一个100M~600M的FAT32的隐藏分区,并没有分配盘符。需要通过diskpart分配一个盘符。假设vol的id是2,分配的盘符是E:。
diskpart
list vol
sel vol 2
assign
exit
然后在command中格式化F盘。
format E: /FS:FAT32
最后重建UEFI的分区文件,假设原始的win10安装在C盘:
bcdboot C:windows /s E: /f UEFI
重启电脑,发现可以进行升级了。
【1】Fixboot: Access Denied in Windows 10 - Solved [5 Methods Included]
【2】https://twd2.me/archives/14185