随着 dist 升级,Linux systemd 的 Windows 子系统崩溃了,我该如何修复它?

随着 dist 升级,Linux systemd 的 Windows 子系统崩溃了,我该如何修复它?

在任何更新或升级操作之后我得到以下信息:

Need to get 0 B/389 MB of archives.
After this operation, 416 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Extracting templates from packages: 100%
Preconfiguring packages ...
Setting up systemd (237-3ubuntu7) ...
Synchronizing state of ondemand.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable ondemand
[/usr/lib/tmpfiles.d/tmp.conf:15] Failed to replace specifiers: /tmp/systemd-private-%b-*
[/usr/lib/tmpfiles.d/tmp.conf:16] Failed to replace specifiers: /tmp/systemd-private-%b-*/tmp
[/usr/lib/tmpfiles.d/tmp.conf:17] Failed to replace specifiers: /var/tmp/systemd-private-%b-*
[/usr/lib/tmpfiles.d/tmp.conf:18] Failed to replace specifiers: /var/tmp/systemd-private-%b-*/tmp
dpkg: error processing package systemd (--configure):
 installed systemd package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)

在 WSL 上尝试将 ubuntu 从 16 更新到 18 后,会发生这种情况

答案1

对我有用的是 Ramhound 的评论:

lxrun /更新

正确的方法是重置然后更新。

答案2

您必须完全删除 Linux 子系统并重新安装它。

使用 lxrun.exe /uninstall full 从 Windows 中彻底卸载 Ubuntu\bash。

禁用 Linux 的 Windows 子系统(测试版)功能

对 C 盘进行系统清理,以便删除剩余的临时文件。

重新启用适用于 Linux 的 Windows 子系统(测试版)功能。

相关内容