0%

使用wsl替代ubuntu

从接触Linux开始到现在,使用Linux也接近十年了,期间也尝试过各种Linux发行版。目前主要开发环境使用的时MacOS,使用起来还算是非常顺手。但是在有些时候也不太方便,比如Linux Kernel的编译、有些工具链的使用、一些Linux下工具使用,等还是使用Linux环境比较方便。Linux凭借其开源特点,各种发行版百花齐放,主流服务器大多都是使用Linux系统,比如Debain、Ubuntu、OpenSUSE等等接近十来种。Desktop发行版也有很多,常用的有Debain、Ubuntu、Deepin等等也是一堆,相关的大大小小桌面环境也有好多种,如GNOME、KDE、Xfce、LXDE等等。

这些基本上都有试过,能用,但是不够好用。也许因为开源与百花齐放,没有一个强有力的商业支撑,Desktop使用体验真的不如MacOS。

在使用Linux这段时间里,自己的使用诉求并不是很强,主要也是各种工具链的使用,实际上使用非桌面系统也能满足要求,但是效率会很低。因从更多时候是装了Win和Linux双系统。

随着WSL的发展,WSL2已经支持挂载ext4磁盘或LVM。在WSL2种也能直接使用CUDA,基本上都能满足需求。VSCode也能直接是使用Remote Host。Win下能直接访问Linux文件系统。并且安装和重置都很简单,因此试着使用WSL2 来替代Ubuntu。

近几天使用下来,基本上都能满足要求,也能支持GUI。非必须使用Linux的,使用Win环境下的工具也非常方便,省去了各种折腾的时间,更聚焦于当前所做的事情上。

下面记录一些相关使用。

  • wsl bash找不到路径的问题,Liunx安装出现问题
1
2
wsl.exe --list --all // 列出所有wsl
wsl.exe --unregister xxx //注销 出问题的wsl,之后重新安装wsl
  • 多个发行版,设置默认发行版
1
2
3
4
5
6
7
8
9
$ wslconfig /list
适用于 Linux 的 Windows 子系统分发:
Ubuntu-20.04 (默认)
Ubuntu-22.04
$ wslconfig /setdefault Ubuntu-22.04
$ wslconfig /list
适用于 Linux 的 Windows 子系统分发:
Ubuntu-20.04
Ubuntu-22.04 (默认)
  • 挂载LVM磁盘

powershell下

1
2
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
wsl --mount \\.\PHYSICALDRIVE0 --bare

wsl linux环境中

1
2
3
4
5
6
7
8
# lvm 挂载
sudo vgscan #扫描得到逻辑分区vgkubuntu
# 激活
sudo vgchange -a y vgkubuntu
# 列出设备
sudo fdisk -l
# 挂载
sudo mount /dev/dm-0 /mnt/wsl/ubuntu_host

非LVM直接挂载。