Loading... > 参考资料:https://blog.csdn.net/oppend/article/details/103384616 > 官网:https://docs.microsoft.com/zh-cn/windows/wsl/ ### 安装环境配置 ##### 启动`Windows Subsystem For Linux` 以管理员是身份打开`PowerShell`。输入以下命令。然后重启电脑。 ```bash Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux ``` ### 子系统安装位置迁移 ##### 获取安装路径 1. 在应用商店中安装ubuntu,然后在C盘文件夹Packages中找到带有ubuntu的目录。比如: `C:\Users\mengy\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc`,并`记录`。 然后卸载。 ##### 制作软连接(均在管理员cmd中执行) 1. 执行命令`whoami`查看当前用户 2. 在迁移的磁盘中创建文件夹,并给权限。 例如:创建`G:\Ubuntu`文件夹后,在执行以下命令(mengy 替换成步骤1的输出结果)。 ```bash icacls G:\Ubuntu /grant "mengy:(OI)(CI)(F)" ``` **注意**:不做这一步直接做软链接安装会出错,安装快完成会出现应用商店0x80070005错误,折腾好久。 3. 创建软连接 替换其中的路径用户名和目标路径,CMD管理员运行 ```bash mklink /j C:\Users\mengy\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc G:\Ubuntu\ ``` ![image.png](https://www.program-er.com/usr/uploads/2021/03/2948897059.png) 4. 重新安装之前安装的ubuntu版本。 ### 设置root密码 1. 在系统菜单点击并运行ubuntu ![请输入图片描述](https://www.program-er.com/usr/uploads/2021/03/633961985.png) 2. 等待应用开始安装 ```bash Installing,this is may take a few minutes... ``` 3. 设置用户名和密码 ![image.png](https://www.program-er.com/usr/uploads/2021/03/2201367591.png) 4. 执行`sudo -i`并输入你的用户名密码 5. 执行`passwd root`设置root用户的密码 ### 设置启动时root登录 cmd管理员执行以下命令 ```cmd C:\Users\mengy\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe config --default-user root ``` ### 更换软件源 ```bash sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim /etc/apt/sources.list ``` 粘贴以下内容 ```bash deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse ``` ```bash sudo apt update sudo apt upgrade ``` ### 设置分发版本为ubuntu 命令行输入 wsl -l,输出以下内容 ```bash 适用于 Linux 的 Windows 子系统分发版: docker-desktop-data (默认) docker-desktop Ubuntu ``` 输入以下命令,切换到指定的分发版 ```bash wslconfig /setdefault Ubuntu ``` ![image.png](https://www.program-er.com/usr/uploads/2021/03/3973537910.png) #### 启用硬盘自动回收 > 启用稀疏 VHD 允许 WSL2 的硬盘空间自动回收 ```bash wsl --manage Ubuntu --set-sparse true ``` #### 其他优化 在windows中打开或创建wsl配置文件(位于C:/User/%你的用户名/.wslconfig),并添加以下内容: ```bash [wsl2] memory=8GB swap=4GB networkingMode=nat# 网络模式[nat, mirrored] 开启镜像网络` dnsTunneling=true # 开启 DNS Tunneling firewall=false # 是否开启 Windows 防火墙 autoProxy=true # 开启自动同步代理 [experimental] autoMemoryReclaim=gradual # 开启自动回收内存,可在 gradual, dropcache, disabled 之间选择 sparseVhd=true # 开启自动释放 WSL2 虚拟硬盘空间 ``` > 网上很多教程建议将networkingMode设置为mirrored,以获取更高的网络性能体验。但是我设置后发现可以ping通,但是curl不通,导致会出现一些网络异常,原因还不清楚为什么。 wsl中执行 `vim /etc/wsl.conf` ```bash [network] generateResolvConf=false [boot] systemd=true ``` wsl中执行`vim /etc/resolv.conf` ```bash nameserver 10.255.255.254 nameserver 8.8.8.8 nameserver 1.1.1.1 ``` wsl中执行`vim /etc/hosts` ```bash # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateHosts = false 127.0.0.1 localhost 127.0.1.1 Eric. Eric # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ``` 重启wsl ```bash wsl --shutdown wsl ``` ### Ubuntu中使用宿主机的代理网络。 ##### 查询宿主机ip 在宿主机cmd/PowerShell中,执行以下命令,查看IPV4的网络IP。 ```bash ipconfig ``` ![image.png](https://www.program-er.com/usr/uploads/2021/03/3994581143.png) ##### 设置ubuntu代理端口 查看代理所监听的端口,我的是7078,同时还要打开代理的 `允许局域网连接`。 ![代理工具设置](https://qiniu.program-er.com/blog/typecho/usr/uploads/proxy-setting.png) 修改wsl中配置文件,写入以下配置 ```bash vim ~/.bashrc ``` ![image.png](https://www.program-er.com/usr/uploads/2021/03/3508647719.png) 使配置文件生效 ```bash source ~/.bashrc ``` ##### 请求谷歌,测试代理 ```bash curl https://www.google.com ``` ![image.png](https://www.program-er.com/usr/uploads/2021/03/2301393242.png) 最后修改:2024 年 07 月 24 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 感谢赏赐的coffee~