我通过wsl --export从另一台机器通过wsl --import导入了一个wsl备份文件。
但是,与我在Window Store上安装WSL时不同的是,没有创建distro.exe文件,比如ubuntu.exe(在开始菜单中找到)。因此,从JetBrain IDE获得WSL支持是有问题的。这是因为JetBrain IDE通过distro.exe文件识别到distro.exe的路径。
如果有人解决了这个问题,我想找人帮忙。谢谢你的阅读。
编辑: Windows是v.1909(OS build 18363.592),我尝试使用https://winaero.com/blog/export-import-wsl-linux-distro-windows-10/。
发布于 2020-02-06 02:53:56
我找到了一个解决方案。(Windows 10构建18363.592)
1.出口您的WSL发行版
wsl --export {your_distribution_name} rootfs.tar.gz导出您的wsl发行版。(您的发行版将保存到tarball中。)
2.通过地区发射器安装你的发行版。
我用的是Yuk7版本。首先,下载Launcher.exe,并将其重命名为your_distro_name.exe,然后使目录定位于WSL发行版。把your_distro_name.exe和rootfs.tar.gz放进去。
现在您可以安装发行版了,只需运行your_distro_name.exe。安装之后,您可以在powershell中运行您的发行版。PS > your_distro_name
3. Settig wsl.distributions.xml
C:\users\\{user_name}\\.{jetbrains_ide_name_version}\config\options\wsl.distributions.xml
Jetbrains通过wsl.distributions.xml支持WSL,您应该在Jetbrains上添加distro.exe以使用WSL。
<application>
<component name="WslDistributionsService" version="1">
<descriptors>
<set>
<descriptor>
<id>DEBIAN</id>
<microsoft-id>Debian</microsoft-id>
<executable-path>debian.exe</executable-path>
<presentable-name>Debian GNU/Linux</presentable-name>
</descriptor>
<descriptor>
<id>KALI</id>
<microsoft-id>kali-linux</microsoft-id>
<executable-path>kali.exe</executable-path>
<presentable-name>Kali Linux</presentable-name>
</descriptor>
...
</set>
</descriptors>
</component>
</application><!-- DESCRIPTOR FOR YOUR DISTRO -->
<descriptor>
<id>YOUR_DISTRO_NAME</id>
<microsoft-id>Your-distro-name</microsoft-id>
<executable-path>your_distro_name.exe</executable-path>
<presentable-name>your_distro_name</presentable-name>
</descriptor>只需将<descriptor>添加到<set>中即可。
4.重新启动JetBrains IDE
最后,我可以在另一台机器的WebStorm中使用导出的wsl发行版:)
发布于 2021-03-24 23:34:12
不幸的是,最新的解决方案似乎不再有效,至少对我和03/2021。也许Phpstorm不再使用xml了,它会查询注册表(在本例中最好不要弄乱注册表),我想和您分享一下我是如何让它工作的(不仅是wsl$ path,还有phpstorm中的php和git可执行文件)。
ext4.vhdx。用wsl -l -v检查一下wsl --shutdown <YOUR_DISTRO_NAME>%LOCALAPPDATA%\Packages\CanonicalGroupLimited.<YOUR_DISTRO_NAME>\LocalState并将ext4.vhdx重命名为ext4.vhdx.old (为了安全起见,稍后可以删除它)ext4.vhdx复制到上面的LocalState路径中wsl --set-default <YOUR_DISTRO_NAME>将新发行版设置为默认版本wsl --unregister <IMPORTED_DISTRO>现在,存储中的新安装将使用导入的vhdx磁盘。您可以删除ext4.vhdx.old。
在我的例子中,现在一切都很顺利:)
https://stackoverflow.com/questions/59982813
复制相似问题