问题
这几天微软推送了Windows 20H2(2009),由于我电脑软件量巨大,非特殊情况我基本不重装系统,因此我也和之前一样,使用易升来升级
说来我自己都佩服我自己,从1507(10240)一路升级上来,经历了1703/1803/1903各个版本,不过每次升级都多少伴随点问题
鉴于我最近2次升级遇到的问题都一样,因此我在这里记录下,说不定下次更新还用得上:
- 升级以后SoftPerfect RAM Disk罢工,提示”NT error code = C000009A”(老版本升级到18XX之后会遇到,后续版本没问题)
- 无法启用WSL 2,只能使用1(老版本升级到19XX之后会遇到,后续版本没问题)
- 更新以后开始菜单跟任务栏全部重置,任务栏出现(2)的图标,例如Google Chrome (2)
- UWP应用全线罢工,连计算器都打不开
- WSL跟Docker Desktop的WSL Backend罢工,提示”The attempted operation is not supported for the type of object referenced”
解决
针对SoftPerfect RAM Disk罢工:
这个我去查了下官方支持库,说是由于新系统的API变更,因此需要更新软件版本(言下之意就是不能再白嫖了,因为他们从4.0开始变成收费软件了,我一气之下直接买了3年的更新)
针对WSL无法启用:
我又去查了以下微软文档,实际上他们还讲得挺详细
1 2 3 4 5 6 7 8 9 10 11 |
#Win+X 用管理员启动Power Shell #先启动Windows Subsystem for Linux dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart #再启用虚拟机服务 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart #下载安装新的Linux kernel https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi #将新虚拟机设置为默认使用WSL2 wsl --set-default-version 2 #将老的1代WSL升级到2(不知道WSL名可以使用"wsl --list --verbose"来列出) wsl --set-version WSL名 2 |
针对开始菜单跟任务栏重置:
开始菜单这个我暂时没什么头绪,只能把那些未知图标的磁贴删了自己重新排列了;任务栏的话,直接把当前任务栏的所有图标全部取消固定,然后打开
%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar把里面的快捷方式全部剪出来,然后挨个双击运行,重新固定。
针对UWP全线罢工:
1 2 3 |
#Win+X 用管理员启动Power Shell #用下面语句重新注册所有的UWP应用(如果应用商城打不开,可以先运行"wsreset"重置商城) Get-AppXPackage --AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"} |
如果还是不得劲,就直接开始菜单里右键,更多,打开APP设置,然后修复了再重置一把,还是不行就卸了重新从应用商城下载……
针对WSL报错”The attempted operation is not supported for the type of object referenced”:
这个我去查询了一下GitHub,下面有个铁子提到了Proxifire,我寻思了一下,我电脑上不也装了么,于是顺着他给的链接下载了个NoLSP.exe(没有LSP?),然后管理员运行
NoLsp.exe c:\windows\system32\wsl.exe完事,重启一发,然后WSL就能正常启动了