Windows 11 下使用 WSL2 安装 Ubuntu 22.04 步骤
目录
- 一、前置工作(安装 WSL2)
- 1. 启用适用于 Linux 的 Windows 子系统
- 2. 启用虚拟机功能
- 3. 将 WSL 2 设置为默认版本
- 二、安装 Ubuntu 22.04
- 1. 查看可用的 WSL 发行版
- 2. 安装 Ubuntu 22.04
- 3. 将 Ubuntu 的虚拟磁盘映像文件移至 D 盘
- 1)将 Ubuntu 导出为 .tar 文件
- 2)注销在 C 盘的 Ubuntu
- 3)将 Ubuntu 导入 D 盘
- 4)启动 Ubuntu
- 5)修改默认登录用户为普通用户
- 6)其他
- 三、安装并运行图形化桌面环境(GUI)
- 1. 存在的问题:systemd 没有运行
参考文章:
【旧版 WSL 的手动安装步骤】
【全网最全Win10/11系统下WSL2+Ubuntu20.04的全流程安装指南(两种支持安装至 D 盘方式)】
一、前置工作(安装 WSL2)
1. 启用适用于 Linux 的 Windows 子系统
必须先启用 “适用于 Linux 的 Windows 子系统” 可选功能,然后才能在 Windows 上安装任何 Linux 分发版。
以管理员身份打开 PowerShell 并输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2. 启用虚拟机功能
安装 WSL 2 之前,必须启用虚拟机平台可选功能。 计算机将需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启 计算机以完成 WSL 安装和更新到 WSL 2。
3. 将 WSL 2 设置为默认版本
打开 PowerShell 并运行以下命令,在安装新的 Linux 分发版时将 WSL 2 设置为默认版本:
wsl --set-default-version 2
二、安装 Ubuntu 22.04
1. 查看可用的 WSL 发行版
以管理员身份打开 PowerShell 并运行以下命令,
wsl --list --online
2. 安装 Ubuntu 22.04
wsl --install -d Ubuntu-22.04
安装完毕后需要创建一个新用户,按照提示输入用户名和两次密码即可。此时会进入 [username]@xxx:~$ 的界面,想要退出的话点击 Ctrl+D 快捷键。
3. 将 Ubuntu 的虚拟磁盘映像文件移至 D 盘
1)将 Ubuntu 导出为 .tar 文件
首先在 D 盘下创建一个名为 WSL 的文件夹,并在该文件夹下创建一个名为 Ubuntu-22.04 的文件夹(文件夹名字可自行修改),然后打开 PowerShell 并运行以下命令:
wsl --export Ubuntu-22.04 D:\WSL\Ubuntu-22.04\Ubuntu-22.04.tar
此时 Ubuntu-22.04 会被下载并导出至 Ubuntu-22.04 文件夹下,打开该文件夹可以查看到一个名为 Ubuntu-22.04.tar 的文件。
2)注销在 C 盘的 Ubuntu
注销原有的默认在 C 盘的 Ubuntu-22.04,在 PowerShell 下运行命令:
wsl --unregister Ubuntu-22.04
3)将 Ubuntu 导入 D 盘
在 PowerShell 运行以下命令,将 Ubuntu-22.04 的虚拟磁盘映像文件导入至 D:\WSL\Ubuntu-22.04 文件夹下:
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu-22.04 D:\WSL\Ubuntu-22.04\Ubuntu-22.04.tar --version 2
此时在 Ubuntu-22.04 文件夹下将会出现一个名为 ext4.vhdx 的虚拟磁盘映像文件,该文件用于存储整个 Ubuntu-22.04 的文件系统。
4)启动 Ubuntu
在 PowerShell 运行 wsl -d Ubuntu-22.04
命令启动 WSL 下的 Ubuntu-22.04 ,但此时是 root 账户,需要使用 adduser [username]
命令创建新用户,并输入该用户的密码(该用户名和密码需要与刚刚创建的一致)。
-
使用命令
usermod -aG sudo [username]
赋予新用户 sudo 的权限,此时新用户就可以通过使用 sudo 命令进行管理员操作。 -
使用命令
su [username]
,将 root 账户变为用户账户;使用命令exit
,将用户账户变为 root 账户。 -
使用命令
wsl -d Ubuntu-22.04 -u [username]
,以用户账户登录 Ubuntu(仅本次)。 -
使用命令
wsl -l -v
,确认 Ubuntu 安装成功。
5)修改默认登录用户为普通用户
以管理员身份运行 PowerShell ,执行以下命令:
ubuntu2204 config --default-user [username]
再次使用命令 wsl -d Ubuntu-22.04
启动 WSL 下的 Ubuntu ,就是默认以普通用户进行登录。
6)其他
-
启动 Ubuntu 有两种主要方式:
-
从开始菜单:像启动任何其他应用程序一样,在开始菜单中搜索 “Ubuntu” 并点击它。
-
从终端(推荐):在 Windows 终端 (Windows Terminal)、PowerShell 或命令提示符 (CMD) 中直接输入 ubuntu 或 wsl 命令。
-
-
常用 Linux 目录:
-
/ : 根目录
-
/home : 用户主目录
-
/etc : 系统配置文件存放地
-
/tmp : 临时文件
-
/mnt : 用来挂载其他设备的地方,尤其重要!
-
-
如何从 Ubuntu 内部访问 Windows 文件?所有你的 Windows 硬盘驱动器(如 C盘、D盘)都被 WSL 自动挂载到了 /mnt/ 目录下。
-
C 盘路径:/mnt/c/
-
D 盘路径:/mnt/d/
-
-
如何从 Windows 内部访问 Ubuntu 文件?可以直接从 Windows 的文件资源管理器中像浏览普通文件夹一样浏览 Ubuntu 的文件系统。
-
在文件资源管理器中输入路径:直接在地址栏输入 \wsl$ 或者 \wsl$\Ubuntu (如果你安装了多个发行版,Ubuntu 是发行版名称),然后回车。你就可以看到所有 Ubuntu 的文件了。
-
在 Ubuntu 命令行中打开:在 Ubuntu 终端里,输入命令 explorer.exe . (注意最后的点.代表当前目录)。这会直接用 Windows 文件资源管理器打开你当前的 Linux 目录。这是最常用的方法!
-
通过 Windows 开始菜单:在开始菜单里找到你安装的 Ubuntu 发行版,它的下面通常会有一个选项叫 “在文件资源管理器中打开”,点击它即可。
-
三、安装并运行图形化桌面环境(GUI)
WSLg(WSL Graphical User Interface)是微软官方从 Windows 11 和 Windows 10 版本 21H2 开始内置的功能。它允许 WSL 应用程序直接使用宿主 Windows 系统的 GPU 硬件加速,并自动处理显示问题,无需任何复杂配置。
-
适用系统:Windows 11 或 Windows 10 版本 21H2 及以上
-
步骤:
-
确保系统更新:将你的 Windows 系统更新到最新版本。
-
安装图形化桌面环境:在 Ubuntu 终端中,安装一个轻量级的桌面环境,例如 Xfce 或 LXQt(Gnome 和 KDE 较重量级,不建议初次尝试)。
-
# 更新软件列表
sudo apt update# 安装 Xfce4 桌面环境(推荐,轻量且功能齐全)
sudo apt install xfce4 -y# 或者安装 LXQt(另一个非常轻量的选择)
# sudo apt install lxqt -y
- 安装应用程序:安装一些基础应用,如终端、文件管理器、浏览器等。
sudo apt install xfce4-terminal thunar-archive-plugin firefox gedit nautilus -y
- 启动桌面环境:在 Ubuntu 终端中直接输入以下命令启动整个桌面环境:
startxfce4
几秒钟后,一个全新的 Xfce 桌面窗口就会在你的 Windows 桌面上打开。你可以像使用一台完整 Linux 电脑一样使用它。WSLg 会自动为你处理好所有显示和音频的桥接工作。
- 也可以只启动单个图形应用(这是 WSLg 最常用的方式),例如:
gedit & # 启动文本编辑器
nautilus & # 启动文件管理器
firefox & # 启动火狐浏览器
在 WSL 中运行完整的桌面环境会消耗不少内存和 CPU。如果只是需要运行少数 GUI 程序,强烈建议只安装并运行你需要的特定应用程序,而不是启动整个桌面,这样会更加轻量和高效。
1. 存在的问题:systemd 没有运行
可能会出现错误表明 WSL 中的 Ubuntu 试图启动 systemd 用户会话但失败了。这是一个在 WSL 中非常常见的问题,因为 WSL 默认并不使用 systemd 作为其初始化系统。
genie 是专门为 WSL 打造的一个工具,用于创建和管理一个 systemd 容器环境,非常稳定。安装和运行命令:
- 安装依赖和 genie:
# 1. 更新软件列表并安装基础工具
sudo apt update && sudo apt install -y curl wget# 2. 安装 genie 所需的依赖
sudo apt install -y systemd-container# 3. 添加 genie 的软件源
curl -s https://packagecloud.io/install/repositories/arkane-systems/wsl-translinux/script.deb.sh | sudo bash# 4. 安装 genie
sudo apt update && sudo apt install -y genie
出现的问题是官方的 genie 软件源显示 404 Not Found
- 初始化并运行 genie:
# 初始化 genie(只需运行一次)
genie -i# 启动一个带有 systemd 的 shell 环境(每次需要时运行)
genie -s
执行 genie -s 后,你会看到提示符可能变为 [systemd] user@machine,这表示你已进入一个完整的 systemd 环境中。