對於具有 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 上從 16 更新到 ubuntu 18 後會發生這種情況

答案1

Ramhound 的評論對我有用:

lx運行/更新

正確的方法是重置然後更新。

答案2

你必須完全刪除Linux子系統並重新安裝它。

使用 lxrun.exe /uninstall full 從 Windows 完全解除安裝 Ubuntu\bash。

停用 Linux 的 Windows 子系統(測試版)功能

對 C 盤進行系統清理,以便刪除剩餘的臨時檔案。

重新啟用適用於 Linux(測試版)功能的 Windows 子系統。

相關內容