我想清理驱动器上的分区表,因此我获取了另一个驱动器并创建了一个 Windows To Go 工作区。在该 WTG 系统中,我使用 DISM 备份了现有的 Windows 10。然后,我清理了磁盘并重新分区,然后尝试重新应用 WIM 映像。
但现在我尝试涂抹或安装图像,DISM 和 ImageX 都卡在文件处并退出\Users\iBug\AppData\Local\lxss\rootfs\lib\xtables\libip6t_HL.so
。两者都报告“错误 5:拒绝访问”。我知道这是来自 Windows Subsystem for Linux 的文件。
我设置了 7-Zip 并打开了 WIM 文件,看起来一切正常。我导航到该文件夹,惊讶地发现那里有 2 个同名文件,只是大小写不同。也就是说,我在同一个地方有libip6t_HL.so
AND libip6t_hl.so
。我认为这就是问题所在,因为 NTFS 默认不启用区分大小写支持(但它确实支持)。
那么我该如何正确应用 WIM?我迫切希望销毁这些文件(如果需要,甚至销毁整个 WSL 设置)。
答案1
最后从备份中恢复了我的 Windows 10 安装!!!
我使用了一款名为 WimTool 的中文实用程序。在其主 UI 中有一个“编辑配置”按钮。我将其添加\Users\iBug\AppData\Local\lxss
到[ExclusionList]
部分,然后应用 WIM。正如预期的那样,该文件夹被忽略,并且没有出现更多错误。恢复 Windows 10 设置后,只需重新安装 WSL。
根据我的经验,非中文用户应该可以做到这一点,而不需要该工具,但 ImageX。微软提供了创建 ImageX 配置文件的教程,并在教程中他们披露了默认排除列表对于 ImageX(与 DISM 相同)。您需要做的就是复制默认列表并向其中添加所需的行。然后在应用图像时提供/Config yourfile.ini
给 ImageX,它将忽略您指定的目录。
答案2
供参考...
这是 Windows 10 1607 中 imagex 的一个已知问题。Microsoft知识库文章就此问题。文章并未提及 Windows 10 1703 是否修复了该问题。
微软的“解决方案”是在捕获映像之前不安装 WSL。您的排除 lxss 目录的解决方案更好 :-)。仍然是ASCII 中的痛苦必须重新安装 WSL。
答案3
wimupdate
您可以使用维姆利布删除 WSL,然后您将能够成功恢复映像。
具体命令如下:
cat > update_commands.txt << EOF
delete --recursive /Users/{your_username}/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
EOF
wimupdate {your_backup}.wim 1 < update_commands.txt