我刚刚格式化了我的 PC 并尝试重新安装我的 Debian 发行版。
格式化之前,我运行了wsl --export
获取 Debian 的 TAR 文件。再次安装 Windows 后,我在选项功能 GUI 中启用了 WSL,重新启动,然后运行wsl --import
。
现在,似乎导入的发行版无法被正确识别。
PS C:\Users\username> wsl -l -v
NAME STATE VERSION
* Debain Stopped 2
docker-desktop-data Stopped 2
docker-desktop Running 2
PS C:\Users\username> wsl --unregister debian
Unregistering.
There is no distribution with the supplied name.
Error code: Wsl/Service/WSL_E_DISTRO_NOT_FOUND
PS C:\Users\username> wsl --unregister Debian
Unregistering.
There is no distribution with the supplied name.
Error code: Wsl/Service/WSL_E_DISTRO_NOT_FOUND
PS C:\Users\username> wsl
Failed to attach disk 'E:\vm\wsl\debian\ext4.vhdx' to WSL2: The system cannot find the path specified.
Error code: Wsl/Service/CreateInstance/MountVhd/ERROR_PATH_NOT_FOUND
我也尝试过在中间重启 Windows。我还尝试过取消选中“可选功能”中的 WSL 框,重启 Windows,重新选中它,然后再次重启 Windows。但毫无效果。
系统信息(ThinkPad E14,Gen 4):
Device name [REDACTED]
Processor 12th Gen Intel(R) Core(TM) i7-1260P 2.10 GHz
Installed RAM 24.0 GB (23.7 GB usable)
Device ID [REDACTED]
Product ID [REDACTED]
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display
Edition Windows 11 Pro
Version 22H2
Installed on 12/02/2023
OS build 22621.1105
Experience Windows Feature Experience Pack 1000.22638.1000.0
答案1
虽然(从评论来看)本例中的问题是使用时将“Debian”拼写错误(拼写为“Debain”)wsl --import
,但我要指出的是,这是一个好的事故。
总的来说,我建议不是使用wsl --import
名为 的 WSL 发行版Debian
,或者任何可能由可从商店安装的现有发行版使用的“库存”名称(即“ubuntu”、“ubuntu-22.04”、“Kali-Linux”、“Alpine”等)。
以“Debian”命名的发行版应该保留给 Debian 安装程序实际创建的发行版(它基于一个通用的WSL 发行版启动器--import
参考实现)。此发行版与ed 发行版有几个主要区别:
- 安装程序会自动生成一些额外的注册表项。
- 安装程序(和以前版本中的卸载程序)修复了目录中分发的位置
C:\Users\<username>\AppData\Local\Packages\<PackageName>
。 - 安装程序在该包文件夹中创建一些额外的元数据。
虽然参考发行版启动器可能处理“distro-launcher-distro”的特殊情况,它不是“预期”的,我相信在wsl --import
ing 时使用不同的发行版名称更安全。
例如,我在用户发行版前面加上了ntd_
(代表 NotTheDr01ds),因此我的“工作” Ubuntu 被称为:
ntd_Ubuntu_22.04_WSL2
这也意味着我只需运行以下命令即可启动 Ubuntu 22.04 的临时“发行版启动器”版本:
ubuntu2204.exe
我可以将它用作某些新软件或配置的测试,然后在完成后就可以“将其扔掉” wsl --unregister ...
。