启用WSL,用管理员打开powershell输入

  1. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

启用虚拟平台,用管理员打开powershell输入

  1. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

安装WSL2内核,下载地址:

  1. https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

将WSL2设置为默认版本,用管理员打开powershell输入

  1. wsl --set-default-version 2

安装LxRunOffline,下载地址:

  1. https://github.com/DDoSolitary/LxRunOffline/releases

下载Archlinux,下载地址:

  1. # 下载bootstrap版本的,如:archlinux-bootstrap-2021.10.01-x86_64.tar.gz
  2. https://mirrors.tuna.tsinghua.edu.cn/archlinux/iso/latest/

安装archlinux到WSL

  1. usage:
  2. LxRunOffline i -n <自定义名称> -f <Arch镜像位置> -d <安装系统的位置> -r root.x86_64
  3. eg:
  4. LxRunOffline i -n archlinux -f archlinux-bootstrap-2021.10.01-x86_64.tar.gz -d C:\wsl\archlinux -r root.x86_64

将wsl升级到wsl2

  1. usage:
  2. wsl --set-version <名称> 2
  3. eg:
  4. wsl --set-version archlinux 2

进入系统,编辑pacman.conf和mirrolist配置文件

  1. wsl -d archlinux
  2. rm /etc/resolv.conf
  3. exit
  4. wsl --shutdown archlinux
  5. wsl -d archlinux
  6. cd /etc/
  7. explorer.exe .
  8. windows的文件管理器打开/etc目录,然后找到pacman.conf,在这个文件最后加入
  9. [archlinuxcn]
  10. Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
  11. 进入下一级目录pacman.d,编辑里面的mirrolist文件,将China的源注释去掉(选择部分即可)
  12. pacman -Syy
  13. pacman-key --init
  14. pacman-key --populate
  15. pacman -S archlinuxcn-keyring
  16. pacman -S base base-devel vim git wget

设置root密码

  1. passwd

新建普通用户

  1. useradd -m -G wheel -s /bin/bash <用户名>
  2. passwd <用户名>
  3. # 将文件/etc/sudoers中的wheel ALL=(ALL) ALL那一行前面的注释去掉
  4. vim /etc/sudoers

设置使用普通用户登录Archlinux

  1. # 查看当前用户id
  2. id -u <用户名>
  3. # 退出archlinux
  4. exit
  5. powershell中执行
  6. lxrunoffline su -n <你的arch名字> -v <账户id>

中文乱码

  1. # 安装字体
  2. pacman -S wqy-zenhei ttf-fireflysung
  3. 打开sudo vim /etc/locale.gen
  4. en_US.UTF-8注释去掉
  5. zh_CN.UTF-8注释去掉
  6. 生效
  7. sudo locale-gen

解决wsl下win的文件系统挂载过来后全是777权限的问题

win文件挂载权限

创建/etc/wsl.conf,写入如下内容

  1. [automount]
  2. enabled = true
  3. root = /mnt/
  4. options = "metadata,umask=22,fmask=11"
  5. mountFsTab = true

修改完成后,需要重启WSL使设置生效

  1. wsl -t <使用发行版的名称>
  2. wsl -l -v #确定是否已经停止

mkdir文件夹权限

在.bashrc中加入以下内容

  1. #Fix mkdir command has wrong permissions
  2. if grep -q Microsoft /proc/version; then
  3. if [ "$(umask)" == '0000' ]; then
  4. umask 0022
  5. fi
  6. fi