记录一次win11的wsl2安装配置记录
前言: 最近把能迁移的开发服务器几乎服务全部迁移到了docker上,本着能上docker的就不在本地安装的原则,把我以前工作的电脑安装上wsl2+docker 并且wsl和docker迁移到其他磁盘 (C盘战士狂怒)。
提示您需要提前了解的知识:
部分wsl命令,跨越功夫网,了解.bashrc的作用,windows terminal的配置还有如何进入自己电脑的bios。
第一步(下载):
当然像什么主板开启虚拟化啥的还有在控制面板–应用与功能–启用或者关闭windows功能上开启虚拟化平台和适用于windwos的linux子系统我就不赘述了。
微软商店下载对应的发行版,还有安装wsl,直接搜索就好,这里我安装的是ubuntu22.04.2
(如果下载不了比如:0x80072EFD
错误,请检查直接的windwos是否更新或者是使用loopback工具,这个文档不会介绍关于商店的东西,默认可以正常访问并且下载。)
第二步(安装与启动wsl):
下载完成后打开你下载的发行版本:
如果打开后报错,请检查您是否开启虚拟化平台和适用于windwos的linux子系统,当然还有wsl2是否有安装。
如果遇到:WslRegisterDistribution failed with error: 0x800701bc
。
您可能是从wsl1升级到wsl2后未更新内核请到微软官网升级:传送门
如果遇到:WslRegisterDistribution failed with error: 0x8007019e
。
请检查你在控制面板的应用与功能处是否开启了适用于windows的linux子系统。或者在powershell(管理员)执行Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
,回车,输入Y或者y,然后系统重启。
如果遇到:WslRegisterDistribution failed with error: 0x80370102
请在bios上打开处理器的虚拟化选项,具体开启方法请自行百度。
正常情况
等待后就能正常进入系统了
按下ctrl+d
或者输入exit
退出wsl
然后查看自己安装的发行版与wsl的版本号:
记住自己发行版的名称(复制一下)我的是ubuntu22.0.4
第三步(迁移到其他盘):
彻底关闭wsl
wsl --shutdown
导出分发版为tar文件到D盘
wsl --export Ubuntu-22.04 D:\Ubuntu.tar
注销当前分发版
wsl --unregister Ubuntu-22.04
重新导入并安装WSL在D盘
wsl --import Ubuntu-22.04 D:\wsl\ubuntu2204 D:\Ubuntu.tar --version 2
删除ubuntu22.04.tar
del D:\Ubuntu.tar
第四步(配置systemctl和默认启动用户):
迁移完成后你会发现的你默认启动用户变成了root这个这是很危险的所以我们需要切换回自己之前创建的用户,然后启用systemctl支持。
先升wsl程序(Releases · microsoft/WSL (github.com))
完成后进入wsl后修改/etc/wsl.conf
1 | #/etc/wsl.conf |
然后exit + wsl –shudown 二连彻底停掉wsl再重新进入
之后验证:
如果你进入后发现默认用户不是root并且输入ps --no-headers -o comm 1
返回为systemd
即为成功!
第五步(docker安装与迁移):
直接下载docker Desktop安装就行
接着在设置里面更改存储位置和与wsl2集成
迁移软件
使用services.msc停止docker服务
剪切C:\Program Files\Docker
到D盘C:\Program Files\
下
使用mklink软连接程序mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"
迁移磁盘文件
和迁移ubunutu 方法一样
彻底关闭wslwsl --shutdown
导出分发版为tar文件到D盘
wsl --export docker-desktop-data D:\docker-desktop-data.tar
注销当前分发版
wsl --unregister docker-desktop-data
重新导入并安装WSL在D盘
wsl --import docker-desktop-data D:\wsl\docker-desktop-data D:\docker-desktop-data.tar --version 2
删除docker-desktop-data.tar
del D:\docker-desktop-data.tar
导出分发版为tar文件到D盘
wsl --export docker-desktop D:\docker-desktop.tar
注销当前分发版
wsl --unregister docker-desktop
重新导入并安装WSL在D盘
wsl --import docker-desktop D:\wsl\docker-desktop D:\docker-desktop.tar --version 2
删除docker-desktop.tar
del D:\docker-desktop.tar
重启doker服务
启动后使用wsl 拉一个镜像试试:
第六步(调整与美化):
打开windows terminal 我比较喜欢用powershell 设置好背景图和透明度之后的效果:
到此为止算是结束一步份了后面安装ohmyposh等主题和windows terminal自定义快捷键后面有时间更新吧((((