Windows 10 开启子系统Ubuntu 世界通讯
来源:博客园
2023-06-19 14:16:44
(资料图片仅供参考)
卸载原有的wsl 分发子系统# 查看已安装的wsl子系统wsl --list# 依次删除wsl 子系统wsl --unregister <子系统名称>
结果安装子系统Ubuntu 20.04在Microsoft Store中搜索Ubuntu,选择对应版本安装。安装完成后,不要直接点开
安装完成后,不要直接点击打开
直接安装默认安装在C盘,后续要在Ubuntu系统装很多东西,会影响性能,所以需要将系统的安装位置修改一下。
修改子系统安装位置控制台切换到子系统默认安装目录:C:\Program Files\WindowApp\
cd C:\\Program Files\\WindowApp\\
找到Ubuntu2004.exe 目录
dir Canonical #按tab键切换目录查看
在想要安装的位置创建文件夹,然后将ubuntu2004.exe所在的目录复制到创建的目录下。
mkdi G:\ubuntu\20.04 #请将目录改为自己需要的目录cp .\CanonicalGroupLimited.Ubuntu20.04所在目录\* G:\ubuntu\20.04 #Ubuntu20.04的目录需要补全
在自定义安装目录下,找到exe文件,双击打开。Ubuntu子系统会开始进行初始化。
分配网络每次启动子系统时候,会自动分配给子系统一个IP地址,这样会导致一些操作需要重新修改IP地址,如GitLab的地址。创建一个bat文件,将如下脚本保存到文件中
@echo offsetlocal enabledelayedexpansion::先停掉wsl实例wsl --shutdown ubuntu::重新拉起来,并且用root的身份,启动docker服务wsl -u root service docker start | findstr "Starting Docker" > nul # 不安装Docker会报错,可以先注释掉if !errorlevel! equ 0 ( echo docker start success :: 看看我要的IP在不在 wsl -u root ip addr | findstr "171.168.0.109" > nul if !errorlevel! equ 0 ( echo wsl ip has set ) else ( ::不在的话给安排上 wsl -u root ip addr add 171.168.0.109/24 broadcast 171.168.0.0 dev eth0 label eth0:1echo set wsl ip success: 171.168.0.109 ) ::windows作为wsl的宿主,在wsl的固定IP的同一网段也给安排另外一个IP ipconfig | findstr "171.168.0.100" > nul if !errorlevel! equ 0 ( echo windows ip has set ) else ( netsh interface ip add address "vEthernet (WSL)" 171.168.0.100 255.255.255.0 echo set windows ip success: 171.168.0.100 ))pause
由于该脚本需要Administration权限运行,可以在桌面创建快捷方式,修改快捷方式的打开方式用管理员权限打开。
参考链接:
Win10自定义路径位置安装WSL2 (Ubuntu 20.04)https://zhuanlan.zhihu.com/p/357050093