【背景】
明明已经卸载了VirtualBox,但是Win10升级时依然报错:VirtualBox阻止升级导致升级失败。
【分析】
说明电脑中存在VirtualBox残余,但是这些参与虽然能被升级程序检测到却不能在卸载VirtualBox时自动关联删除,需要找到方法找寻到这些残余并手动删除。
【实际操作】
下载我搜集好的解决此问题的软件集合:
https://download.csdn.net/download/weixin_41697242/88298404
注意,由于部分软件持续更新,如果失败请根据readme中所说下载最新版再继续操作。
要了解系统内部发生了什么,我们需要阅读日志,这些日志隐藏的在这个目录中C:$WINDOWS.~BT\Sources\Panther。
打开“运行”窗口,按下开始按钮和R键,粘贴路径并按回车键。打开最新的compat数据文件(看时间轴)。右键点击它,选择“用Notepad++编辑”。
这里需要检查两个节点:驱动和程序,看看是谁引起了更新失败问题。
首先是驱动程序包,确保所有的“block migration”值都是“false”。如果其中一个是“true”,那就意味着需要禁用该驱动程序。我有两个驱动程序要禁用,让我们看看它们是什么。
从Inf属性中复制值,然后转到目录C:\Windows\INF,将文件名粘贴到搜索框中,然后按回车键。找到后右键点击,选择用Notepad++编辑。
这里如果嫌弃Windows自带搜索速度太慢,推荐用我包里的Everything来搜索。
在Abstract部分,确定驱动程序是什么。同样方法检查第二个。
第二个驱动程序是“Microsoft Print to PDF”。接下来禁用这两个驱动。
打开“开始”菜单,搜索“控制面板”,打开后点击“程序”,然后点击“程序和功能”,点击“打开或关闭Windows功能”,只需取消选中“Microsoft Print to PDF”和“Microsoft XPS Document Writer”。不用怕删了有什么问题,升级成功后你可以回到这里并重新启用它们。点击“确定”,等Windows完成了更改后点击“关闭”。
第一部分问题已经解决,现在让我们解决第二部分问题:程序。
警告说是VirtualBox阻止了更新过程,但我已经卸载了它。所以推断还有没删干净的部分,需要手动定位。
定位位置需要先下面这个ID值。
打开文件“*_APPRAISER_HumanReadable.xml”,复制这个文件名,然后来到系统盘。确保点击“查看”选项卡并勾选“隐藏项目”,显示所有隐藏文件。搜索复制的xml文件名。同样的,此处可以用我提供的ZIP包里的搜索神器everything。找到文件后右键点击,使用Notepad++编辑。
让我们回到compat数据文件,复制该程序的ID。
回到XML按下Ctrl和F打开查找窗口,然后粘贴ID值并点击“查找下一个”。找到该程序的位置。复制目录路径(不包括最后的exe文件部分)。
打开“运行”窗口,粘贴路径并按回车键。定位到的程序就是使用了VirtualBox的程序,但貌似找不到现有的卸载exe。怪不得卸载列表中也找不到它。我先尝试删除整个文件夹。但是由于进行占用没法删除。
我再仔细搜索文件夹内的BAT文件。终于找到了一个uninstall.bat。右键点击它,并以管理员身份运行。
这个批处理文件的作用应该就是终止这个程序所有运行中的VirtualBox任务,现在在该目录中没有任务占用了,可以删除了。直接删除文件夹。
到此为止我们学习了如何修复驱动程序包和程序节点,关闭compat数据文件。
回到一开始的Update警告,如果此时点击“刷新”,由于该进程仍然依赖于旧缓存,所以不会有效果。
需要再次访问Panther目录,然后删除“compat scan cache”文件。
现在再点击“刷新”,发现问题解决了,你可以享受新的Windows版本了。
更新Windows
安装新版本的Windows后,建议确保保持Windows所有可选更新都更新到最新状态。所有的状态都变成“等待安装”后,重新启动以完成安装。最终要确保Windows状态是最新的。
如果Windows更新代理无法正常工作,可以使用独立下载的Windows 10更新助手(也可以在我准备的程序包中找到)。
这就是本教程的全部内容,希望有所帮助。如果想节省时间欢迎下载我准备好的所有所需的程序集合包。
https://download.csdn.net/download/weixin_41697242/88298404