WSL 2 中安装 Gentoo
首先要启用 WSL 2 组件,打开 powershell
PS C:\Users\yourname> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
PS C:\Users\yourname> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
重启后将 WSL 2 设置为默认
PS C:\Users\yourname> wsl --set-default-version 2
你可能想限制 Gentoo 使用的内存,cpu 线程等,在 Windows 的用户目录 %HOMEPATH% 创建文件 %HOMEPATH%\.wslconfig
[wsl2]
memory=8GB
processors=4
swap=1G
swapFile=%USERPROFILE%\Apps\Gentoo\swap.vhdx
localhostForwarding=true
EOF
接下来,去你喜欢的镜像源中下载最新的 stage3 压缩包,由于默认下载的是 tar.xz 压缩包,WSL 2 无法导入,用你熟悉的工具将 tar.xz 解压成 tar 包
打开 windows terminal 或其他的 powershell 终端,将下载的 tar 包导入到 WSL 2 中
PS C:\Users\yourname> wsl --import Gentoo $HOME\Apps\Gentoo $HOME\Downloads\stage3-amd64-xxx.tar --version 2
前一个路径,用于存放虚拟磁盘的文件夹,后一个是你下载的 stage3 的 tar 包的路径,查看导入的结果
PS C:\Users\yourname> wsl -l -v
NAME STATE VERSION
* Gentoo Stopped 2
随后,即可进入 Gentoo 中
PS C:\Users\yourname> wsl -d Gentoo
安全起见,给你的 root 上一个密码吧
# passwd root
现在同步下你的 portage 树
# emerge-webrsync
创建你的用户
# useradd -G wheel,users yourname
# password yourname
安装一个 sudo,并通过 visudo
来启用 wheel 用户组的权限
# emerge -av sudo
之后,启动的时候,就可以使用如下命令进入 Gentoo
PS C:\Users\yourname> wsl -d Gentoo -u yourname
打开注册表,编辑 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{GUID}
,找到有 Gentoo 键值的 GUID,编辑里面的 DefaultUid,设置其十进制值为 1000 ( 十六进制为 03e8 ),以便开启 Gentoo 的时候,默认登陆用户为 uid=1000 的用户。
你可能想在进入 Gentoo 后自动挂载宿主机的盘符,Gentoo 中创建文件 /etc/wsl.conf
[automount]
enable = true
root = /mnt/
options = "metadata,umask=22,fmask=133"
mountFsTab = true
[user]
default = yourname
[network]
generateHosts = true
generateResolvConf = true
[interop]
enabled = false
appendWindowsPath = false
顺便,/tmp 还是用 tmpfs 吧 /etc/fstab
tmpfs /tmp tmpfs rw,nosuid,noatime,nodev,size=512M,mode=1777 0 1
最后退出 Gentoo,并在 powershell 中终止 Gentoo 以便 WSL 2 相关配置生效,再重新进入
PS C:\Users\yourname> wsl --terminate Gentoo
PS C:\Users\yourname> wsl -d Gentoo
配置好 Gentoo 后,你可能想导出备份
PS C:\Users\yourname> wsl --shutdown
PS C:\Users\yourname> wsl -v -l
NAME STATE VERSION
* Gentoo Stopped 2
PS C:\Users\yourname> wsl --export Gentoo $HOME\Downloads\Gentoo.tar
如果后期想压缩 vhdx
PS C:\Users\yourname> wsl --shutdown
PS C:\Users\yourname> diskpart
DISKPART> select vdisk file="C:\Users\yourname\Apps\Gentoo\ext4.vhdx"
DISKPART> attach vdisk readonly
DISKPART> compact vdisk
DISKPART> detach vdisk
DISKPART> exit
PS C:\Users\yourname>
想清理 vhdx 空间,需要 windows 专业版才行
PS C:\Users\yourname> Optimize-VHD -Path C:\Users\yourname\Apps\Gentoo\ext4.vhdx -Mode Full
移动 vhdx 位置,需要先注销
PS C:\User\yourname> wsl --unregister Gentoo
参考: