目录
一、准备工作
① 安装Hyper-V
因为win11家庭版本身是不支持hyper-V的,需要手动安装
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
将上述代码用记事本打开复制粘贴,保存为Hyper-V.cmd,鼠标右击管理员运行,最后输入“Y”重启电脑后即可。
然后输入下述命令,设置 Windows 操作系统中的 Hyper-V 启动类型。具体来说,它会将 Hypervisor 的启动类型设置为 "auto",这意味着在系统启动时自动启动 Hyper-V。
bcdedit /set hypervisorlaunchtype auto
②开启电脑的虚拟化技术,如何确定是否开启了虚拟化技术
Ctrl + Alt + Esc打开任务管理器---------点击性能---------看到cpu中的虚拟化项是否启用
若没用启用,如何启用?
1. 关闭电脑,然后打开它并进入 BIOS 界面。通常需要按下 DEL、F1、F2 或 F10 键来进入 BIOS 界面(具体按键可能因计算机品牌和型号而有所不同,请根据自己的电脑手册进行确认)。
2. 在 BIOS 设置界面中,切换到“高级菜单”或类似命名的选项卡,然后寻找“CPU 配置”或“芯片组配置”等相关设置。
3. 找到“虚拟化技术”,这个选项可能命名为 VT-x、AMD-V 或者 Intel Virtualization Technology 等,选择它并将其设置为“启用”。
4. 确认更改并保存 BIOS 设置。不同计算机品牌或型号可能执行此操作的方式略有不同,一般情况下可以在相应选项卡下使用“Save and Exit”或类似选项来保存修改并退出 BIOS 界面。
5. 最后重新启动计算机,使得新的BIOS设置生效。
③ 启动Windows功能
控制面板-------程序-------程序和功能---------启用或关闭Windows功能
勾选一下几个选项
1.Hyper-V,
2.Windows虚拟机监控程序平台
3.适用于Linux的Windows子系统,
4.虚拟机平台。
勾选完毕之后重启电脑。
二、安装WSl
官方文档:https://learn.microsoft.com/en-us/windows/wsl/install
管理员运行PowerShell输入
wsl --set-default-version 2
再输入 以下命令列出可下载的版本
wsl --list --online
再输入以下命令进行安装
wsl --install -d Ubuntu-22.04
若遇到无法从 'https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json’提取列表分发。无法解析服务器的名称或地址。
解决方法:
①修改DNS,打开网络和Internet设置,在当前的网络上打开IPV4,配置手动DNS,首选114.114.114.114,备选8.8.8.8
②修改系统的hosts文件,访问https://www.ipaddress.com这个网站(需要科学上网)中的查询框中输入:raw.githubusercontent.com,下滑看到四个ip地址
在C盘目录中搜索hosts,用记事本打开,在里面添加一行类似这样的(ipv4地址换成自己查到的就行)
185.199.108.133 raw.githubusercontent.com #comments. put the address here
输入用户名,密码,看到以下界面则安装完成
三、移动Ubuntu 22.04.2 LTS
管理员PowerShell中输入
wsl --shutdown
win + i键进入设置找到已安装的应用,找到Ubuntu 22.04.2 LTS
移动至D盘
四、迁移 WSL2 安装位置
管理员PowerShell输入以下命令,确保都是stop状态
wsl -l -v
然后我们通过以下命令将 Ubuntu-22.04 导出为 tar 文件:
wsl --export Ubuntu-22.04 d:\Ubuntu-22.04.tar
注:
wsl --export <Distribution Name> <FileName>
<Distribution Name> 为目标 Linux 发行版的名称,我安装的为: Ubuntu-22.04
<FileName> 为导出的文件名,这里我导出到 D:\Ubuntu-22.04.tar
在导入目录下看到以下文件即为导出成功
然后注销并卸载 Ubuntu-22.04
wsl --unregister Ubuntu-22.04
再输入以下命令查看已安装的 Linux 发行版
wsl -l -v
可以看到 Ubuntu-22.04 已经注销并卸载了
然后将 Ubuntu-22.04 导入到新位置:
wsl --import Ubuntu-22.04 D:\Ubuntu_WSL D:\Ubuntu-22.04.tar
注:wsl --import <Distribution Name> <InstallLocation> <FileName>
<Distribution Name> 为目标 Linux 发行版的名称,我安装的为: Ubuntu-22.04
<InstallLocation> 为要安装到的新位置,这里我安装到:D:\Ubuntu_WSL
<FileName> 为要导入的文件名,这里导入刚才导出的 D:\Ubuntu-22.04.tar
在导入目录看到以下文件即为导入成功
最后需要更改一下默认用户:
Ubuntu2204 config --default-user yiyu
注:<DistributionName> config --default-user <Username>
<Distribution Name> 为目标 Linux 发行版的名称,我安装的为: Ubuntu-22.04,命令里要写为:Ubuntu2204
<Username> 为 WSL 发行版中存在的用户名,在设置 Linux 用户名和密码时我创建的用户为:yiyu ,所以命令里的 <Username> 这里就为:yiyu
到此迁移全部完成!
五、安装Docker Desktop
官网地址:https://www.docker.com/get-started/
① 下载适用于Windows的docker desktop
下载之后得到以下文件。
② 使用命令行安装docker desktop
在 Docker Desktop Installer.exe
所在的目录下运行 Windows 命令提示符
在命令行中输入以下命令来进行 Docker Desktop 的安装:
start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Softwares\DeveloperTools\Docker
注:Docker Desktop 默认安装位置为:C:\Program Files\Docker\Docker
这里通过在 install 命令后添加 --installation-dir=<path> 参数来修改 Docker Desktop 的默认安装位置,其中 <path> 为指定的安装路径,这里我指定的安装位置为:D:\Softwares\DeveloperTools\Docker 。
勾选添加快捷方式之后,等待安装
安装完成
③ 启动docker desktop
在服务中,将docker desktop的服务启动
点击docker desktop
勾选accept
进入的时候可以选中登录(需要科学上网),进入到此界面看到engine running即可
六、配置Docker Desktop
①
② 更换磁盘映像位置
③ 选择WSL2发行版版本,设置”>“资源”>“WSL 集成”,从要启用 Docker 集成的已安装 WSL 2 发行版中进行选择
④ 配置国内镜像源
"registry-mirrors":[
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
]
完成上述配置后点击Apply & restart ,依旧看到engine running就OK了
七、测试
管理员PowerShell输入
docker run hello-world
至此,流程到此结束
如果我有不对的地方,或者您有更好的见解,欢迎在评论区指出和发表!!!