在WSL2中安装ArchLinux并进行本地化配置
启用WSL
用管理员打开powershell输入:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
升级为WSL2的必要条件
- 对于x64的系统要求win10版本为1903 或者更高
- win + R 输入
winver
查看版本
启用虚拟平台
用管理员打开powershell输入
1 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
执行完毕后重启。
需要在BIOS中开启虚拟化,Intel CPU开启VT选项,AMD CPU开启SVM选项。
下载Linux内核升级包
下载地址:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载完成后双击安装。
将WSL2设置为默认版本
用管理员打开powershell输入
1 | wsl --set-default-version 2 |
到这里WSL就安装好了,下面安装ArchLinux。
安装LxRunOffline
下载地址:
选择最新版下载,解压后将LxRunOffline.exe放入任意一个path文件夹下(比如C:/Windows/System32)。也可以把LxRunOffline.exe的目录添加到环境变量中。
当前最新版为LxRunOffline-v3.5.0-msvc.zip 。
下载Archlinux
下载地址:https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/
找到archlinux-bootstrap-2021.04.01-x86_64.tar.gz 。
安装archlinux到WSL2
命令1:
1 | LxRunOffline i -n <自定义名称> -f <Arch镜像位置> -d <安装系统的位置> -r root.x86_64 |
比如:
1 | LxRunOffline i -n ArchLinux -f C:\Users\19146\Downloads\archlinux-bootstrap-2021.04.01-x86_64.tar.gz -d C:\Users\19146\ArchLinux -r root.x86_64 |
命令2:
1 | wsl --set-version <名称> 2 |
比如:
1 | wsl --set-version ArchLinux 2 |
进入系统
命令:
1 | wsl -d <你的archlinux名字> |
比如:
1 | wsl -d ArchLinux |
在这里我们就进入了archlinux内部,然后以下操作在archlinux中进行
删除/etc/resolv.conf
文件,让archlinux自己生成resolve.conf文件
执行命令
1 | rm /etc/resolv.conf |
重新启动Archlinux
1 | exit |
执行上述命令后会退出arch,回到powershell,然后在powershell中执行
1 | wsl --shutdown <你的archlinux名字> |
比如:
1 | wsl --shutdown ArchLinux |
然后再次进入Arch:
1 | wsl -d ArchLinux |
添加清华源
使用vim
安装vim:
1 | pacman -S vim |
编辑pacman配置文件:
1 | vim /etc/pacman.conf |
在文件末尾添加:
1 | [archlinuxcn] |
然后退出,编辑镜像源列表:
1 | vim /etc/pacman.d/mirrolist |
将China的源注释去掉(选择部分即可)
不会用vim的可以用资源管理器打开
很难相信有人居然不会用vim
在Arch中执行:
1 | cd /etc/ |
注意后面的点,执行这条命令后会用windows的文件管理器打开/etc目录,然后找到pacman.conf,在这个文件最后加入
1 | [archlinuxcn] |
然后进入下一级目录pacman.d
,编辑里面的mirrolist文件,将China的源注释去掉。
安装pacman-key
然后回到ArchLinux,执行:
1 | pacman -Syy |
Archwiki提示:
注意: 如果
pacman-key --init
运行时系统没有足够的熵,可能会需要很长时间。请在目标机器上安装 haveged 或 rng-tools。然后在用 root 权限执行pacman-key --init
前启动haveged.service
。
1 | pacman -Syu haveged |
如果pacman -S archlinuxcn-keyring 报错
,删除gnupg,重建密钥:
1 | rm -rf /etc/pacman.d/gnupg |
配置sudo
安装一些常用软件:
1 | pacman -S base base-devel vim git wget python |
给当前的root设置密码:
1 | passwd |
Archwiki提示:
警告:
/etc/sudoers
格式错误会导致sudo不可用。必须使用visudo
编辑该文件防止出错。
visudo
调用的默认编辑器是vi
。官方仓库里的 sudo 编译时开启了--with-env-editor
,会采用环境变量VISUAL
和EDITOR
的设置。如果设置了VISUAL
就不会使用EDITOR
。如果要临时使用其他编辑器,在该命令前加上
EDITOR
环境变量即可。例如,要使用nano
,用root运行以下命令:
1 EDITOR=nano visudo要永久设置编辑器,请查看 定义本地环境变量.
系统级的设置可以把编辑器设置到
/etc/sudoers
。以nano
为例,使用visudo
打开该文件,加入以下内容:
1
2
3
4
5 Defaults specification
Reset environment by default
Defaults env_reset
Set default EDITOR to vim, and do not allow visudo to use EDITOR/VISUAL.
Defaults editor=/usr/bin/nano, !env_editor
使用vim作为编辑器,就需要在 /etc/sudoers
中加入:
1 | Defaults specification |
或者直接ln -s /bin/vim /bin/vi
。
执行visudo
,将/etc/sudoers
中的wheel ALL=(ALL) ALL
那一行前面的注释去掉:
1 | visudo |
设置语言,安装字体
编辑locale.gen
:
1 | vim /etc/locale.gen |
取消下面两行的注释:
1 | en_US.UTF-8 UTF-8 |
如果不取消en_US.UTF-8 UTF-8
前面的注释,你就会发现终端无法正常显示中文。
设置语言:
1 | echo 'LANG=zh_CN.UTF-8' > /etc/locale.conf |
生成语言配置:
1 | locale-gen |
安装字体配置工具:
1 | pacman -S fontconfig |
安装字体:
1 | pacman -S ttf-dejavu wqy-zenhei wqy-microhei |
刷新字体缓存:
1 | fc-cache |
设置使用普通用户登录Archlinux
新建一个普通用户并设置密码:
1 | useradd -m -G wheel -s /bin/bash <用户名> |
查看当前用户id:
1 | id -u <用户名> |
退出ArchLinux:
1 | exit |
在powershell中执行
1 | lxrunoffline su -n <你的archlinux名字> -v <账户id> |
运行linux:
1 | wsl -d ArchLinux # wsl -d <你的archlinux名字> |
卸载
输入指令:
1 | LxRunOffline ui -n ArchLinux # LxRunOffline ui -n <你的archlinux名字> |
安装Windows Terminal
在微软商店搜索Windows Terminal
,安装后打开,就会发现下拉菜单有ArchLinux选项卡,不用每次执行wsl -d ArchLinux
进入系统了。