在 Windows 10 上安装和使用 WSL 2 安装 Ubuntu24详细指南

还在用虚拟机?既庞大又不够流畅,试试WSL。WSL(Windows Subsystem for Linux)允许你直接在 Windows 上运行 Linux 环境,无需启动虚拟机或双系统。WSL 2 是 WSL 的第二个版本,改进了性能和功能,提供了更接近原生 Linux 的体验。

在这里插入图片描述

WSL2 介绍

WSL2 (Windows Subsystem for Linux 2)是微软在Windows 10和Windows 11上引入的一项功能,允许用户在Windows操作系统上运行Linux环境及其相关命令和应用程序,而无需使用虚拟机或安装双系统‌‌

WSL2基于 Hyper-V 的轻量级虚拟机,运行完整的Linux内核,提供了更好的性能和更高的兼容性‌。

WSL 2 的优点
  • 性能提升:WSL 2 使用虚拟机技术,提供更快的文件系统性能和系统调用兼容性。
  • 更好的系统调用兼容性:WSL 2 支持完整的 Linux 内核功能,使得大多数 Linux 应用程序能够更好地运行。
  • 更好的网络支持:WSL 2 提供了更稳定的网络连接,支持直接通过 localhost 访问 Windows 应用程序。
  • 支持 GUI 应用程序:通过配置 X 服务器,WSL 2 可以运行图形化界面的应用程序。
  • 多发行版支持:WSL 2 支持多种 Linux 发行版,如 Ubuntu、Debian、Kali Linux 等。
  • 便捷的系统间相互访问:可以方便的在windows和linux系统间互传文件。

WSL 安装使用

1. 检查更新

首先,确保你的 Windows 10 版本是最新的,以支持 WSL 2。你可以通过以下步骤检查和更新 Windows 版本:

  1. 检查当前 Windows 版本
    • 打开命令提示符(CMD),输入以下命令并回车:
      winver
      
    • 如果版本太低,可以在“设置” - “更新和安全” - “Windows 更新”中检查更新。有时候系统可能不会提示最新版本,这时可以使用 Microsoft 提供的更新助手。
    • 版本要求如下:
      • 对于 x64 系统:版本 1903 或更高版本(内部版本 18862 或更高版本)。
      • 对于 ARM64 系统:版本 2004 或更高版本(内部版本 19041 或更高版本)。
    • 如果没有别的顾虑,建议升级到最新版。
2. 启用虚拟功能

在 PowerShell 中以管理员身份运行以下命令,以确保启用适用于 Linux 的 Windows 子系统和虚拟机平台功能:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

完成上述命令后,重启计算机以完成安装。

3. 下载 Linux 内核更新程序包

下载适用于 WSL 2 的 Linux 内核更新程序包。下载地址如下:

下载完成后,运行安装程序并按照提示完成安装。

Ubuntu24 安装

安装 Linux 分发版本,比如最新的Ubuntu24,可以通过 Microsoft Store 安装 Ubuntu,或者使用命令行工具从 tar 文件安装。

方式一,通过 Microsoft Store 安装

  1. 打开微软应用商店。
  2. 搜索“Ubuntu”,在列表中选择最新的长期支持版本(例如 Ubuntu 24.04 LTS)并安装。
  3. 安装完成后,可以在开始菜单中找到“Ubuntu 24.04 LTS”,点击它启动终端。

方式二,通过命令行安装

  1. 下载 Ubuntu 24.04 的 tar 文件:

    • 访问 Ubuntu WSL 下载页面,下载适用于 Windows 的 Ubuntu 24.04 LTS tar 文件(通常是 .tar 文件)。
  2. 移动 tar 文件到 D 盘:

    • 将下载的 Ubuntu 24.04 tar 文件(.tar 文件)移动到 D 盘的某个目录,例如 D:\WSL\Ubuntu-24.04
  3. 使用 WSL 命令导入 Ubuntu:

    • 打开 PowerShell 并以管理员身份运行。
    • 导航到你存放 .tar 文件的目录,例如 D:\WSL\Ubuntu-24.04
    • 使用以下命令导入 Ubuntu:
      wsl --import Ubuntu-24.04 D:\WSL\Ubuntu-24.04 D:\WSL\Ubuntu-24.04\ubuntu-24.04.2-wsl-amd64.tar --version 2
      
      请注意将 ubuntu-24.04.2-wsl-amd64.tar 替换为你实际的文件名。
  4. 启动 Ubuntu:

    • 导入完成后,可以通过 PowerShell 运行以下命令启动 Ubuntu:
      wsl -d Ubuntu-24.04
      
    • 或者通过开始菜单搜索“Ubuntu-24.04”,点击它启动终端。
    • 如果是首次启动,系统会提示你设置一个用户名和密码。这个用户将是 Linux 系统中的默认用户,确保记住这些凭证。
5. 确保 WSL 的版本为 2.0

使用以下命令查看安装的 WSL 版本:

wsl -l -v

如果显示的版本不是 2,可以使用以下命令将其设置为 WSL 2 版本:

wsl --set-version Ubuntu-24.04 2
6. WSL apt 换源

为了提高软件包下载速度,建议更换为国内的镜像源。

  1. 备份源列表

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. 编辑 sources.list 文件

    sudo vim /etc/apt/sources.list
    
  3. 将源文件内容注释掉,并添加以下任意源

    • 阿里云源

      deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
      deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
      deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
      deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
      deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
      deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
      
    • 清华源

      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
      deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse
      
  4. 保存文件并退出编辑器

    • vim 中,按 Esc 键,然后输入 :wq! 并回车以保存并退出。
  5. 查看文件是否更改成功

    cat /etc/apt/sources.list
    
  6. 更新源

    sudo apt-get update
    
  7. 更新软件

    sudo apt-get dist-upgrade
    sudo apt-get upgrade
    
7. WSL2 备份与还原

确保你的 Windows 10 版本是 1903 或更高版本,才能使用这些命令。

  1. 通过按 Win + R,输入 cmd 回车打开命令行窗口

    wsl -l
    
    • 你可以看到系统中安装了一个 WSL 发行版,例如 Ubuntu-24.04
  2. 查看版本信息

    wsl --version
    
  3. 备份 WSL 发行版

    • 停止发行版(如果正在运行):
      wsl -t Ubuntu-24.04
      
    • 使用 wsl --export 命令备份发行版:
      wsl --export Ubuntu-24.04 D:\WSL\Ubuntu-24.04.tar
      
  4. 还原 WSL 发行版

    • 卸载发行版(如果已安装):
      wsl --unregister Ubuntu-24.04
      
    • 使用 wsl --import 命令还原发行版:
      wsl --import Ubuntu-24.04 D:\WSL\Ubuntu-24.04 D:\WSL\Ubuntu-24.04.tar --version 2
      
8. 配置默认用户

如果你希望设置默认的 Linux 用户,可以按照以下步骤操作:

  1. 通过 ubuntu2404.exe 配置

    • 如果你通过 Microsoft Store 安装过 Ubuntu,可以使用以下命令设置默认用户:
      ubuntu2404.exe config --default-user <你的用户名>
      
  2. 如果没有通过 Microsoft Store 安装

    • 下载并安装 Windows Terminal
    • 打开 Windows Terminal 设置,编辑 settings.json 文件。
    • 添加或修改以下内容:
      {
        "guid": "{你的guid}",
        "name": "Ubuntu-24.04",
        "source": "Windows.Terminal.Wsl",
        "startingDirectory": "//wsl$/Ubuntu-24.04/home/<你的用户名>"
      }
      
9. 修改 Ctrl+C 和 Ctrl+V 快捷键

在 Windows 下,Ctrl + CCtrl + V 默认是复制和粘贴快捷键,但在 WSL 中 Ctrl + C 用于中断进程。建议修改为 Ctrl + Shift + CCtrl + Shift + V

  1. 编辑 settings.json 文件
    • 打开 Windows Terminal 设置,编辑 settings.json 文件。
    • 添加或修改以下内容:
      {
        "command": {"action": "copy", "singleLine": false },
        "keys": "ctrl+shift+c"
      },
      {
        "command": "paste",
        "keys": "ctrl+shift+v"
      }
      
10. 迁移 WSL 到非系统盘

默认情况下,WSL 会安装在 C 盘。为了节省 C 盘空间,可以将 WSL 迁移到其他磁盘分区,例如 D 盘。

  1. 下载 LxRunOffline 工具

  2. 解压并使用 LxRunOffline 工具

    • 解压下载的文件到任意目录,例如 D:\LxRunOffline
  3. 获取发行版名称

    • 打开 PowerShell 并以管理员身份运行。
    • 使用以下命令获取发行版名称:
      .\LxRunOffline.exe list
      
  4. 执行迁移命令

    • 使用以下命令将 Ubuntu-24.04 迁移到 D 盘:
      .\LxRunOffline.exe m -n Ubuntu-24.04 -d D:\WSL\Ubuntu-24.04
      
  5. 查看迁移后发行版的安装路径

    • 使用以下命令查看迁移后的安装路径:
      .\LxRunOffline.exe di -n Ubuntu-24.04
      
11. Vmmem 进程限制

WSL 2 实际上是在虚拟机中运行的,Vmmem 进程会占用大量内存。可以通过配置文件限制 Vmmem 进程的内存占用。

  1. 创建 .wslconfig 文件

    • 在用户目录下创建 .wslconfig 文件,例如 C:\Users\<你的用户名>\.wslconfig
  2. 添加以下内容

    [wsl2]
    memory=6GB
    swap=0
    localhostForwarding=true
    
  3. 关闭并重新启动 WSL

    wsl --shutdown
    
12. 与宿主 Windows 文件系统相互访问

在 Windows 10 下访问 Linux 子系统文件:

  • 打开文件资源管理器,在地址栏输入 \\wsl$\Ubuntu-24.04,可以跳转到 Linux 子系统根目录。

在 Linux 子系统访问 Windows 文件:

  • 进入 /mnt 目录,可以访问 Windows 文件系统。
    cd /mnt
    ls
    
13. 解决 systemctl 命令无法使用问题

在 WSL 2 中默认情况下 systemctl 命令无法使用,可以通过以下步骤解决:

  1. 安装必要的软件

    sudo apt install -y fontconfig daemonize
    
  2. 编辑 /etc/profile 文件

    • 打开 /etc/profile 文件:
      sudo vim /etc/profile
      
    • 在文件末尾添加以下内容:
      SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
      if [ -z "$SYSTEMD_PID" ]; then
         sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
         SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
      fi
      if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then
         exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
      fi
      
  3. 修改 /etc/sudoers 文件

    • 编辑 /etc/sudoers 文件:
      sudo visudo
      
    • 在文件末尾添加以下内容:
      %sudo ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
      %sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*
      
  4. 应用更改

    • 执行以下命令应用更改:
      source /etc/profile
      
    • 或者重新打开终端并验证 systemctl 是否可以使用:
      systemctl
      
14. 安装 VcXsrv: WSL 图形化界面

为了在 WSL 2 中使用图形化界面,可以安装 VcXsrv。

  1. 下载并安装 VcXsrv

  2. 配置 VcXsrv

    • 启动 VcXsrv,一路选择 Next 完成配置。
    • 确保选择“Disable access control”选项。
  3. 安装 Xfce 桌面环境

    • 在 Ubuntu 终端中安装以下软件包:
      sudo apt-get install xfce4-terminal
      sudo apt-get install xfce4
      
  4. 编辑 ~/.bashrc 文件

    • 打开 ~/.bashrc 文件:
      sudo vim ~/.bashrc
      
    • 在文件末尾添加以下内容:
      export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
      
  5. 启动 Xfce 桌面环境

    • 在 Ubuntu 终端中输入以下命令启动桌面环境:
      startxfce4
      
推荐使用 Windows Terminal

Windows Terminal 是 WSL 的理想配套。它速度快、可配置、外观漂亮,并且提供了 Windows和 Linux 开发的所有优点。

  • 支持WSL2,SSH,Powershell,cmd和其他命令行
  • 多个选项卡和拆分窗格
  • 搜索框
  • 自定义键绑定
  • GPU加速文字渲染
  • 美观的新字体Cascadia Code
  • 资源使用率低(每个选项卡通常10MB)
  • 自动更新(如果使用Microsoft Store)
  • 好的文档
  • 它是开源的!
安装Windows Terminal

安装Windows Terminal最简单方法是通过windows的应用商店,直接搜索安装即可。如果内网限制无法通过微软商店安装 Windows Terminal,下面提供手动安装和配置新版 Windows Terminal 的步骤,并添加右键菜单快捷方式。

通过命令行安装

  1. 下载新版终端安装包

  2. 解压安装包并创建快捷方式

    • 将下载的 .zip 文件解压到您选择的目录(例如 D:\Apps\terminal-1.22.3232.0)。
    • 在解压后的目录中找到 WindowsTerminal.exe 文件,右键点击,选择“创建快捷方式”,并将快捷方式放置到桌面或其他方便访问的位置。
  3. 设置系统环境变量(可选,但推荐)

    • 将 Windows Terminal 的安装目录添加到系统环境变量 Path 中,以便可以直接在命令提示符或 PowerShell 中通过 terminal 命令启动。
    • 按下 Win + R,输入 sysdm.cpl 并回车,打开“系统属性”窗口。
    • 点击“高级”选项卡,然后点击“环境变量”。
    • 在“系统变量”部分,找到 Path 变量,选中并点击“编辑”。
    • 点击“新建”,输入 Windows Terminal 的安装目录(例如 D:\Apps\terminal-1.22.3232.0),然后点击“确定”。
    • 关闭所有窗口,使环境变量更改生效。
  4. 启动 Windows Terminal

    • 按下 Win + R,输入 terminal 并回车,即可启动新版 Windows Terminal。
5. 添加右键菜单快捷方式

以管理员身份运行 PowerShell 或命令提示符,并执行以下命令:

# 添加右键菜单项
reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt" /f /ve /d "Windows Terminal"

# 设置图标 (将路径替换为您实际的图标路径)
reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt" /f /v "Icon" /t REG_EXPAND_SZ /d "D:\Apps\terminal-1.22.3232.0\Images\terminal.ico"

# 设置命令 (将路径替换为您实际的 WindowsTerminal.exe 路径)
reg.exe add "HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command" /f /ve /t REG_EXPAND_SZ /d "D:\Apps\terminal-1.22.3232.0\WindowsTerminal.exe"

注意:请将上述命令中的图标路径(terminal.ico)和执行程序路径(WindowsTerminal.exe)替换为您实际的安装路径。确保路径中没有多余的字符或错误。

完成以上步骤后,在文件夹的空白区域右键点击,即可看到“Windows Terminal”选项,方便地在此处打开终端。

结语

在本指南中,我们展示了如何在 Windows 10 或 11 上安装和配置 WSL 2,并将 Ubuntu 24.04 安装到 D 盘。希望你能享受在 WSL 上使用 Ubuntu 的体验。不要忘记查看我们的博客获取最新的 Ubuntu 新闻和信息。

进一步阅读

通过以上步骤,你应该能够在 Windows 10 或 11 上成功安装 WSL 2 并将 Ubuntu 24.04 安装到 D 盘,从而享受高效的工作环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特立独行的猫a

您的鼓励是我的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值