前言:
1.wsl是什么?
适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux,简称WSL)。
WSL为用户提供了一个基本完整的GNU/Linux环境,用户无需安装虚拟机或者双系统即可使用GNU/Linux中的软件
2.wsl2是什么?
WSL:并不是一个真正的 Linux 操作系统,仅仅是 Linux 应用程序与 Windows 操作系统之间的一个适配层。
WSL2:是WSL1的升级版,提供了更好的文件系统性能和更完全的Linux系统内核支持,WSL2 使用虚拟化技术在轻量级虚拟机 (VM) 中运行 Linux 内核,同时保留了WSL1的操作体验,可以把通过WSL2启动的Linux系统认为是虚拟机中的一个Linux系统。
一,启用WSL
控制面板 - 程序 - 启用或关闭Windows功能
开启以下功能:
开启上述功能后需要重启电脑。
验证是否成功开启wsl,打开powerSell 输入wsl,如下说明开启成功。
二,升级成wsl2
2.1 安装wsl2
需要单独下载适用于 x64 计算机的 WSL2 Linux 内核更新包。
下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
2.2 设置wsl默认版本
wsl --set-default-version 2
2.3 升级可能遇到的问题
如果设置wsl默认版本,出现如下的提示“请启用虚拟机平台Windows 功能并确保在BIOS中启用虚拟化”。这是因为在控制面板 - 程序 - 启用或关闭Windows功能 这个配置里面,没有勾选Windows虚拟机监控平台,勾选就好了。三,安装一个 Linux 发行版
3.1 微软商店下载Ubuntu
3.2 工具 - 微软商店安装Windows Terminal
Window 终端程序:Window Terminal
Windows Terminal,它是 WSL2 的理想配套。它速度快、可配置、外观漂亮,并且提供了Windows和Linux开发的所有优点
3.3 检验Ubuntu是否安装成功
打开indow Terminal,输入wsl -l -v 可以看到Ubuntu正在运行,并且版本是2
3.4 安装可能遇到的问题
如果打开ubuntu,按下任意键后就闪退,并有报错: WslRegisterDistribution failed with error: 0x800701bc。那么说明需要单独下载适用于 x64 计算机的 WSL2 Linux 内核更新包。
下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
安装升级后,重新打开 Ubuntu,即可正常访问
如果打开Ubuntu后报错“安装其中一个文件系统时出现错误。有关详细信息,请运行’dmesg’。
运行以下代码:wsl --update 后运行wsl --shutdown 重启wsl即可
3.5 切换到root用户报错
解决办法:给root用户设置密码
四,将Ubuntu从C盘迁移到D盘
4.1 通过导出 - 注销 - 导入 实现
导出虚拟机到D盘的某个位置注销当前要迁移的虚拟机导入虚拟机到指定位置,并设置WSL版本为2 wsl --export Ubuntu-22.04 D:\softwareInstall\wsl\ubuntu\Ubuntu-22.04.bak wsl --unregister Ubuntu-22.04 wsl --import Ubuntu-22.04 D:\softwareInstall\wsl\ubuntu\Ubuntu22.04LTS D:\softwareInstall\wsl\ubuntu\Ubuntu-22.04.bak --version 2
4.2 可能遇到的问题
如果没有中间那部注销当前的虚拟机,那导入时报错。此时需要注销要迁移的虚拟机,然后重新导入
wsl --unregister Ubuntu-22.04
五,检验Ubuntu是否成功安装
打开windows terminal,使用命令 wsl -l -v