使用wsl安装Linux系统
中午无聊,打算装两个Linux玩玩,我选择了Fedora42和Arch,这两个系统在WSL中式支持的,但默认安装在C盘,还得再导出导入一次才能换到其他盘,那何必多此一举,直接导入到其他盘即可。下面介绍下本次安装的过程。
系统包准备
Fedora42 ,Fedroa42 下载地址
ArchLinux,ArchLinux下载地址
打开Fedora下载地址,Fedora官方支持WSL的镜像,所以只需要下载Fedora-WSL-Base-42-1.1.x86_64.tar.xz即可。
打开ArchLinux下载地址,Arch官方没有WSL的镜像,我们下载archlinux-bootstrap-x86_64.tar.zst,然后在任意一个Linux中使用zstd命令将其转换为tar包。以Ubuntu为例
1 | sudo apt install zstd |
ArchLinux默认会比其他发行版多一层目录root.x86_64,所以这个包还需要再处理下才行,不能直接导入。
1 | # 创建临时目录 |
导入Linux系统
分别创建两个目录E:\WSL\Fedora42和E:\WSL\Arch,在PowerShell中执行如下:
1 | mkdir e:\WSL\Fedora42 |
导入系统
1 | # 导入Fedora42 |
启动系统
使用wsl命令启动这两个系统,后面的参数就是wsl系统的名称,也就是上一步--import后面的那个名字。
1 | wsl -d Fedora42 |
默认是root启动,还需要再次配置。
配置WSL系统
接着就是对系统的初始化配置了
配置Fedora42
1.安装基础工具
1 | dnf install -y sudo passwd ncurses findutils |
2.创建普通用户
1 | useradd -m -G wheel yourusername |
3.配置wsl默认使用新建的用户登录
1 | cat <<EOF > /etc/wsl.conf |
4.检查dnf状态
1 | dnf --version |
5.设置源
1 | sudo sed -e 's|^metalink=|#metalink=|g' \ |
6.更新缓存
1 | dnf makecache |
7.设置并发下载
1 | echo "max_parallel_downloads=10" | tee -a /etc/dnf/dnf.conf |
8.关闭防火墙
1 | systemctl stop firewalld |
9.安装字体
1 | dnf install -y google-noto-fonts-common |
如果把它当centos使用,可以安装开发工具包
1 | dnf groupinstall "Development Tools" -y && \ |
为了避免新创建的用户无法使用sudo命令,可以用root执行visudo。找到下面的配置
1 | %wheel ALL=(ALL) ALL |
确认是没备注是的,它可以允许所有属于wheel组的用户执行任何命令。
然后退出Fedroa42,执行wsl --shutdown,再次打开就可以使用刚才配置的用户登陆了。
10.安装fastfetch
1 | sudo dnf install -y fastfetch |
过程中可能会遇到一个错误No valid source (baseurl, mirrorlist or metalink) found for repository "fedora-cisco-openh264"
这个需要编辑/etc/yum.repos.d/fedora-cisco-openh264.repo
1 | sudo vi /etc/yum.repos.d/fedora-cisco-openh264.repo |
将里面的 enable=1全部修改为enable=0,然后保存退出
配置Arch
大致和Fedroa42类似,但也有特殊的地方。注意,此时登陆的用户是root
1.初始化pacman-key
1 | pacman-key --init |
2.配置源
1 | echo "Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/\$repo/os/\$arch" | tee /etc/pacman.d/mirrorlist |
然后再次执行
1 | pacman-key --init |
3.安装基础工具包
archlinux,默认连vi、sudo都没装
1 | pacman -S base-devel git vim go |
4.创建用户
1 | useradd -m -G wheel yourusername |
注意:archlinux的wheel组不能直接执行sudo。
5.配置wsl
1 | cat <<EOF > /etc/wsl.conf |
6.配置sudo
使用当前用户root,执行visudo,找到%wheel ALL=(ALL:ALL) ALL,将前面的#删掉。
如果忘记执行这一步就重启使用新用户登录,就会提示yourusername is not in the sudoers file.可以在powershell中执行wsl -u root -d Arch,使用root用户登录,然后用root用户修改即可。
7.确认id
1 | id -u yourusername |
8.设置语言
1 | vi /etc/locale.gen |
编译语言包
1 | locale-gen |
设置全局生效
1 | echo "LANG=en_US.UTF-8" > /etc/locale.conf # 多年经验,还是英文好点 |
9.安装其他工具包
ArchLinux是高度定制化的,啥都要自己装
1 | pacman -S base-devel sudo git wget curl bash-completion net-tools iputils |
然后退出系统,再重新登录,就是刚才新建的用户了。
配置PowerShell及配色
一般Windows会自动识别,然后自动创建PowerShell的配置,但也是有延迟的,我都是配置完了才识别出来。由于我已经配好了Debian和Ubuntu,那就直接复制就行,然后改一下名称、图标、启动命令。
按ctrl+,打开设置,找到左侧菜单中的配置文件,点击+ 添加新配置文件,然后选择复制,复制一个你配置好的即可。

复制后,点击刚才复制的配置,修改一下。

系统默认会识别出来的,其中Fedroa系统会有自己的图标,ArchLinux没有,使用的默认WSL的图标。再命令行那里,系统识别出来的是C:\WINDOWS\system32\wsl.exe --distribution-id {897ed9c5-dc17-4a23-a17a-45719d59c52b} --cd ~,但其实我更推荐使用-d 系统名称,这样即使删掉在创建,只要名字一样,这个配置就会一直有用。注意这个名字是 --import 后面的这个名字。
不同系统都会有自己独特的配色,例如Ubuntu有个茄子配色,Fedroa是蓝色的,suse是绿色的,下面分享一下我得配色。在PowerShell中,按下快捷键Ctrl + Shift + ,打开Windows Terminal 的 settings.json,在 "schemes" 数组中添加:
1 | { |
这四个配色,下面就以Fedroa为例看下效果,在PowerShell中,按快捷键Ctrl + ,,打开设置,找到Fedora42的配置文件,在其他设置->外观中选择刚才添加的配置名称Fedora-DeepBlue,然后再次登录查看效果。

后续再给每个系统安装个oh-my-zsh美化下就好了。









