banner
Nagi-ovo

Nagi-ovo

Breezing
github
twitter

WSL2 配置 Ubuntu20.04

买了新电脑(3090ti)用来炼丹,犹豫了许久后在双系统和 WSL 中选择了后者。

原因如下:

  • 不想折腾双系统的硬盘、网络配置,而 WSL 可以同步主系统的 host
  • 尝鲜 WSL2,知道这东西好久了,但之前的用的拯救者笔记本跑起来很卡,没当生产力用过
  • 存在感低,2-3 秒就能开启的子系统,可以跑着任务挂后台,同时满足我 “不想在 windows 里配环境” 的奇怪要求
  • 网上说现在的 WSL2 对 NVIDIA GPU 的支持很好,很多帖子中要避的雷都已经不再重要了。

配置历程#

回忆一下配置路程:

下载 WSL2#

Win11 下,只需要在 WIndows Powershell 中运行下面指令即可完成全部系统配置,不需要再去勾选什么 “虚拟机平台” 和 “开启 HyperV”:

wsl --install # 默认是 LTS 版本,要下载指定版本可以先输入wsl --list --online 查看

迁移硬盘#

个人习惯把东西放其它盘里,但 WSL 默认是装在系统盘,先确定版本:

wsl --list --verbose

导出现有的系统:

wsl --export Ubuntu-20.04 D:\Ubuntu.tar # 我这里的版本和命名是这样的

取消挂载:

wsl --unregister Ubuntu-20.04

重新挂载:

wsl --import Ubuntu-20.04 D:\wsl2\Ubuntu D:\Ubuntu.tar

wslconfig#

Win + r 输入 % UserProfile%,然后在该目录下创建一个名为 .wslconfig的文件(记得去开启文件后缀显示),具体配置还是得去网上找专业内容,WSL2 默认只能使用一半内存,我这里希望全开而已,前两条是网络 host 省心设置。

[wsl2]
networkingMode=mirrored
autoProxy=True
memory=32GB

避雷#

这里要注意的是,迁移硬盘重新挂载后默认用户将是 root 而非一开始登陆的 Unix User,为了美好的未来,最好不要用 root 用户来完成全部操作。

vim /etc/wsl.conf

然后复制下面内容,systemd 应该默认就有了现在:

[user]
default=你最开始注册的用户名

[boot]
systemd=true

此外,不要在 WSL 里尝试删库大法,可能会把整个盘都删了,想感受效果去虚拟机里整。

关机#

不用的时候想释放资源,可以在 Windows PowerShell 里输入:

wsl --shutdown

ZSH#

习惯了 zsh 作为默认终端,sudo apt install zsh 就行,再找个 oh-my-zsh 的配置贴跟着走完就能得到一个够用的终端。

如:https://dev.to/equiman/zsh-on-windows-with-wsl-1jck
不过这篇推荐的用来适配终端的 font 不太好看,个人还是喜欢 JetBrains Nerd Font Mono 字体。

其它配置#

我的需求是配置深度学习环境,没什么可讲的,跟你在纯正 Linux 服务器上操作一样,miniconda+uv pip install 即可。

如果这里 pip 下载时提示你当前在用 root 账户操作的话,注意本文前面提到的

尾声#

感觉 WSL2 确实节省了不少精力,也能便调配方、炼丹边摸鱼,这样的 Windows 才是我心中理想的操作系统,Mb Air 都放了两天了,除非出门根本不会用。

至于炼丹速度,能跑起来就行了,网上说的 20% 左右的损耗只要不去想就没事,越爱比较烦恼越多~

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。