在 WSL2 上安装 Ubuntu:全面指南

目录

一、WSL2 与 Ubuntu 的基础概念

(一)WSL 的发展与作用

(二)WSL2 的核心特点

(三)Ubuntu 的优势

二、在 WSL2 上安装 Ubuntu 的详细步骤

(一)准备工作

(二)初始配置

(三)迁移 Ubuntu 到其他磁盘

(四)高级配置

三、WSL2 上 Ubuntu 的应用场景

(一)软件开发环境

(二)系统管理与服务器管理

(三)教育与培训

(四)运行 Linux 应用程序与游戏

四、注意事项与常见问题解决

(一)性能优化

(二)网络配置

(三)文件系统与数据共享

(四)升级与维护

五、案例分析:在 WSL2 上搭建 Ubuntu 开发环境

(一)需求分析

(二)环境搭建步骤

(三)应用效果

六、总结与展望

  在 WSL2 上安装 Ubuntu


在 Windows 上运行 Linux 应用程序的需求一直存在,而 Windows Subsystem for Linux (WSL) 的出现极大地简化了这一过程。随着 WSL2 的推出,其性能和兼容性得到了显著提升,使得在 Windows 上运行完整的 Linux 发行版变得更加可行。本文将详细讲解如何在 WSL2 上安装 Ubuntu,包括概念讲解、代码示例、应用场景以及注意事项,帮助读者全面掌握这一技术。

一、WSL2 与 Ubuntu 的基础概念

(一)WSL 的发展与作用

Windows Subsystem for Linux (WSL) 是微软推出的一项技术,它允许用户在 Windows 操作系统上运行 Linux 二进制可执行文件。WSL 的出现打破了 Windows 和 Linux 之间的壁垒,为开发者和 Linux 爱好者提供了一个无需虚拟机或双系统即可体验 Linux 环境的途径。WSL 经历了多个版本的迭代,其中 WSL2 是目前的主流版本,具有更好的性能和兼容性。

(二)WSL2 的核心特点

  1. 完整的 Linux 内核 :WSL2 配备了一个完整的 Linux 内核,这意味着它能够支持更多的 Linux 系统调用和功能。这使得许多对内核要求较高的 Linux 应用程序能够在 WSL2 上正常运行。

  2. 文件系统性能提升 :与 WSL1 相比,WSL2 在文件系统性能方面进行了优化。它采用了虚拟化技术,使得 Linux 文件系统能够以接近原生 Linux 系统的性能运行,这对于需要频繁读写文件的应用程序尤为重要。

  3. 与 Windows 的集成 :WSL2 仍然保持了与 Windows 的良好集成。用户可以在 WSL2 和 Windows 之间共享文件,使用 Windows 的工具和应用程序打开 Linux 文件,反之亦然。这种无缝的集成使得用户可以在一个熟悉的环境中同时使用 Windows 和 Linux 的工具。

(三)Ubuntu 的优势

Ubuntu 是一个广受欢迎的 Linux 发行版,以其用户友好的界面、强大的软件包管理和良好的社区支持而闻名。在 WSL2 上安装 Ubuntu 可以让用户享受到 Ubuntu 的以下优势:

  1. 丰富的软件生态系统 :Ubuntu 拥有庞大的软件包库,用户可以轻松安装各种应用程序和开发工具。从文本编辑器到复杂的开发环境,从数据库管理系统到机器学习框架,几乎所有的开源软件都可以在 Ubuntu 上找到。

  2. 稳定性与安全性 :Ubuntu 以其稳定性和安全性而著称。它定期发布更新和补丁,修复安全漏洞和系统错误。这使得用户可以在一个安全可靠的环境中运行应用程序。

  3. 社区支持与资源丰富 :Ubuntu 拥有活跃的社区和丰富的文档资源。用户在遇到问题时,可以轻松地在社区论坛、博客和文档中找到解决方案。这种强大的社区支持为用户提供了学习和解决问题的平台。

二、在 WSL2 上安装 Ubuntu 的详细步骤

(一)准备工作

  1. 确保 Windows 版本支持 WSL2 :WSL2 仅支持 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。可以通过在命令行中输入winver命令来检查 Windows 的版本号。

  2. 启用虚拟机平台 :WSL2 依赖于虚拟机技术。在 Windows 功能中启用“虚拟机平台”功能。可以通过以下步骤完成:

    • 打开“控制面板”,选择“程序”>“程序和功能”>“启用或关闭 Windows 功能”。

    • 在弹出的窗口中,勾选“虚拟机平台”选项,然后点击“确定”。

    • 重启计算机以完成安装。

  3. 安装适用于 Linux 的 Windows 子系统 :以管理员身份打开 PowerShell,运行以下命令来安装 WSL

    wsl --install

    该命令将自动安装适用于 Linux 的 Windows 子系统和 Ubuntu 发行版。如果想安装特定版本的 Ubuntu(例如 Ubuntu 22.04),可以使用以下命令:

    wsl --install -d Ubuntu-22.04

    系统会提示用户创建一个默认的 UNIX 用户账户和密码。完成设置后,Ubuntu 将自动安装。

(二)初始配置

  1. 启动 Ubuntu :安装完成后,可以在命令行中输入wsl命令或通过 Windows 搜索结果菜单启动 Ubuntu。

  2. 更新系统 :首次启动 Ubuntu 后,建议更新系统以确保所有软件包都是最新版本。在 Ubuntu 终端中运行以下命令:

    sudo apt update && sudo apt upgrade

    这将更新系统的软件包列表,并升级所有已安装的软件包。

  3. 安装常用软件 :根据个人需求,安装常用的软件包。例如,安装开发工具、文本编辑器、版本控制系统等:

    sudo apt install build-essential vim git

(三)迁移 Ubuntu 到其他磁盘

默认情况下,WSL2 将 Ubuntu 安装在系统盘(通常为 C 盘)。为了节省系统盘空间,可以将 Ubuntu 迁移到其他磁盘。以下是迁移步骤:

  1. 导出 Ubuntu :使用以下命令将 Ubuntu 导出为 tar 文件:

    wsl --export Ubuntu "D:\SubLinux\Ubuntu.tar"

    请确保替换目标路径为实际的非系统盘路径。

  2. 取消注册 Ubuntu :在 PowerShell 中运行以下命令取消注册当前的 Ubuntu 发行版:

    wsl --unregister Ubuntu
  3. 导入 Ubuntu :将导出的 tar 文件导入到新的位置:

    wsl --import Ubuntu "D:\SubLinux" "D:\SubLinux\Ubuntu.tar"

    其中D:\SubLinux是 Ubuntu 的新安装位置。

(四)高级配置

  1. 配置 WSL2 性能 :创建或编辑位于用户主目录下的.wslconfig文件,添加以下内容以优化 WSL2 的性能:

    [wsl2]
    memory=8GB
    processors=4
    swap=16GB

    这将为 WSL2 分配 8GB 的内存、4 个虚拟处理器和 16GB 的交换空间。根据实际需求调整这些值。

  2. 启用 systemd :systemd 是 Linux 系统中的一个系统和服务管理器。在 Ubuntu 的默认 WSL2 配置中,systemd 不启用。如果需要使用 systemd 功能(例如管理服务和守护进程),可以按照以下步骤启用它:

    • 创建或编辑/etc/wsl.conf文件,添加以下内容:

      [boot]
      systemd=true
    • 在 PowerShell 中运行以下命令重新启动 WSL2:

      wsl --shutdown

      然后重新启动 Ubuntu。

  3. 启用 SSH 服务 :如果需要通过 SSH 远程访问 Ubuntu,可以安装和配置 SSH 服务:

    sudo apt update
    sudo apt install openssh-server
    sudo systemctl enable ssh
    sudo systemctl start ssh

三、WSL2 上 Ubuntu 的应用场景

(一)软件开发环境

  1. 使用 Linux 开发工具 :许多开发工具和编程语言在 Linux 环境下具有更好的支持和更丰富的社区资源。在 WSL2 上安装 Ubuntu 后,开发者可以使用 Linux 版本的 GCC、Clang、Python、Node.js 等工具进行开发。例如,Python 开发者可以在 Ubuntu 上使用 pip 安装各种 Python 库,运行 Django 或 Flask 框架进行 Web 开发。

  2. 容器化开发与 Docker :Docker 是一个流行的容器化平台,允许开发者将应用程序及其依赖打包到一个可移植的容器中。在 Ubuntu 上安装 Docker 比较方便,通过 WSL2 的集成,开发者可以在 Windows 上使用 Docker 进行容器化开发。这使得在不同环境中保持开发和部署的一致性变得更加容易。

(二)系统管理与服务器管理

  1. 管理 Linux 服务器 :对于系统管理员和 DevOps 工程师来说,WSL2 上的 Ubuntu 提供了一个熟悉的 Linux 环境来管理远程 Linux 服务器。可以使用 SSH 工具从 Windows 上直接连接到远程服务器,执行配置管理、监控和故障排除任务。例如,使用 Ansible 等自动化工具进行批量服务器配置和管理。

  2. 本地服务测试与开发 :在本地开发环境中模拟 Linux 服务器环境,测试和开发网络服务。例如,搭建 Apache 或 Nginx 服务器,配置 MySQL 数据库,开发和测试基于 LAMP(Linux、Apache、MySQL、PHP)或 LNMP(Linux、Nginx、MySQL、PHP/Python)架构的应用程序。

(三)教育与培训

  1. 学习 Linux 操作系统 :对于想要学习 Linux 的用户来说,WSL2 上的 Ubuntu 提供了一个无需安装虚拟机或双系统的途径。可以在 Windows 环境中体验 Linux 的命令行界面、文件系统和系统管理工具,学习 Linux 的基础知识和技能。例如,练习文件权限管理、进程管理、Shell 脚本编写等。

  2. 教学与演示 :教师和培训师可以在 Windows 上使用 Ubuntu 进行 Linux 相关课程的教学和演示。通过共享屏幕或录制教程,向学生展示 Linux 的操作和概念,帮助他们更好地理解和掌握 Linux 系统。

(四)运行 Linux 应用程序与游戏

  1. 运行 Linux 软件 :许多应用程序(如 GIMP、Inkscape、Blender 等)在 Linux 上具有更好的性能和功能支持。通过 WSL2 上的 Ubuntu,可以在 Windows 上直接运行这些 Linux 应用程序,无需在 Windows 上寻找替代软件或进行复杂的兼容性设置。例如,使用 GIMP 进行图像编辑,使用 Blender 进行 3D 建模和动画制作。

  2. 游戏体验 :虽然 WSL2 不是运行游戏的最佳选择,但一些 Linux 游戏可以在 Ubuntu 上顺利运行。对于轻度游戏玩家或想要体验开源游戏的用户来说,WSL2 提供了一个额外的选择。可以安装 Steam 客户端,通过 Proton 技术运行一些 Windows 游戏,或者直接运行 Linux 版本的游戏。

四、注意事项与常见问题解决

(一)性能优化

  1. 调整内存和处理器分配 :根据系统资源和实际需求,合理调整 WSL2 分配的内存和处理器数量。在.wslconfig文件中修改memoryprocessors参数,避免分配过多资源导致系统运行缓慢,或分配过少资源影响 Ubuntu 性能。

  2. 磁盘空间管理 :Ubuntu 的安装和使用可能会占用一定量的磁盘空间。定期清理不必要的文件和软件包,释放磁盘空间。可以使用apt-get autoremove命令清理不再需要的依赖包,使用rm命令删除大文件(如日志文件、临时文件等)。如果将 Ubuntu 安装在非系统盘上,确保该磁盘有足够的剩余空间以避免性能问题。

(二)网络配置

  1. 网络连接问题 :如果在 Ubuntu 中遇到网络连接问题(如无法访问互联网、DNS 解析失败等),可以尝试以下解决方法:

    • 检查 Windows 系统的网络连接是否正常。

    • 在 Ubuntu 中运行sudo systemctl restart NetworkManager命令重启网络管理服务。

    • 编辑/etc/resolv.conf文件,设置正确的 DNS 服务器地址(如nameserver 8.8.8.8)。

  2. 端口转发与外部访问 :默认情况下,WSL2 的网络模式是 NAT(网络地址转换),Ubuntu 内部运行的服务只能在 Windows 主机上访问。如果需要从外部设备(如其他计算机或移动设备)访问 Ubuntu 上运行的服务(如 Web 服务器、SSH 服务等),可以配置端口转发。以 Windows 防火墙为例,添加入站规则,允许特定端口的流量通过,并将该端口的流量转发到 Ubuntu 的 IP 地址和端口上。Ubuntu 的 IP 地址可以通过在 Ubuntu 终端中运行hostname -I命令获取。

(三)文件系统与数据共享

  1. 文件系统权限问题 :在访问和编辑位于 WSL2 文件系统中的文件时,可能会遇到权限问题。这是因为 Windows 和 Linux 的文件系统权限模型不同。可以使用chmodchown命令在 Ubuntu 中修改文件权限和所有权。例如,使用chmod 755 filename命令授予文件读写执行权限,使用chown username:groupname filename命令更改文件的所有者和所属组。

  2. 数据共享最佳实践 :虽然可以在 WSL2 和 Windows 之间共享文件,但频繁地跨文件系统操作可能会导致性能下降和权限问题。建议将频繁访问和修改的文件存储在 Linux 文件系统中,并在 Ubuntu 内部进行操作。如果需要在 Windows 和 Ubuntu 之间共享大量数据,可以使用网络共享(如 Samba 服务)或云存储服务,确保数据的一致性和访问效率。

(四)升级与维护

  1. 定期更新 Ubuntu :保持 Ubuntu 系统和软件包的更新是确保安全性和性能的关键。定期运行sudo apt updatesudo apt upgrade命令,安装最新的安全补丁和软件更新。同时,关注 Ubuntu 官方发布的重大更新和新版本信息,及时进行系统升级。

  2. 备份数据 :在进行系统升级、配置更改或安装新软件之前,备份重要的数据和配置文件。可以使用tar命令创建数据的压缩备份,将备份文件存储在外部存储设备或云存储中,以防止数据丢失。

五、案例分析:在 WSL2 上搭建 Ubuntu 开发环境

(一)需求分析

一位 Web 开发者需要在 Windows 11 电脑上搭建一个 Ubuntu 开发环境,用于开发基于 Node.js 和 React 的 Web 应用程序。他希望能够在 Ubuntu 中使用与生产环境一致的开发工具和依赖包,同时充分利用 Windows 上的代码编辑器(如 Visual Studio Code)和调试工具。

(二)环境搭建步骤

  1. 安装 WSL2 和 Ubuntu :按照前面介绍的方法,在 Windows 11 上安装 WSL2 和 Ubuntu 22.04。在安装过程中,创建一个默认的 UNIX 用户账户,并设置密码。

  2. 更新 Ubuntu 系统 :启动 Ubuntu 后,运行以下命令更新系统:

    sudo apt update && sudo apt upgrade
  3. 安装开发工具和依赖 :安装 Node.js、npm 和其他必要的开发工具:

    sudo apt install nodejs npm build-essential

    验证 Node.js 和 npm 是否安装成功:

    node -v
    npm -v
  4. 配置 Visual Studio Code :在 Windows 上安装 Visual Studio Code,并安装 Remote - WSL 扩展。通过 Remote - WSL 扩展,可以直接在 Ubuntu 环境中打开和编辑项目文件,使用 Visual Studio Code 的调试功能对 Node.js 应用程序进行调试。

  5. 创建项目目录并启动开发 :在 Ubuntu 中创建项目目录,并使用 VS Code 打开:

    mkdir -p /mnt/d/projects/mywebapp
    code /mnt/d/projects/mywebapp

    在项目目录中,初始化一个新的 Node.js 项目,安装 React 依赖,并开始开发:

    cd /mnt/d/projects/mywebapp
    npm init -y
    npm install react react-dom

(三)应用效果

通过在 WSL2 上搭建 Ubuntu 开发环境,开发者能够在一个熟悉的 Windows 界面中使用 Ubuntu 的开发工具和环境。他可以充分利用 Ubuntu 上的软件包管理和 Linux 生态系统,同时享受 Visual Studio Code 的强大编辑和调试功能。这种集成的开发环境提高了开发效率,减少了因环境差异导致的开发和部署问题,使得开发流程更加顺畅和高效。

六、总结与展望

在 WSL2 上安装 Ubuntu 为用户提供了在 Windows 环境中体验和使用 Linux 的强大能力。通过本文的详细讲解,读者可以了解到 WSL2 和 Ubuntu 的基础概念、安装步骤、配置方法、应用场景以及注意事项。无论是在软件开发、系统管理、教育学习还是娱乐应用中,WSL2 上的 Ubuntu 都能够为用户提供各种可能性和便利。

随着技术的不断发展,WSL2 和 Ubuntu 的集成将更加紧密和高效。未来,我们可以期待以下方面的改进和拓展:

  1. 性能优化 :进一步提升 WSL2 的性能,特别是在文件系统性能和系统调用兼容性方面,使其更接近原生 Linux 系统的性能表现。

  2. 功能增强 :增加更多的功能支持,如更好地集成 Windows 和 Linux 的图形界面应用程序,提供更丰富的系统管理工具和实用程序。

  3. 社区与生态建设 :随着 WSL2 和 Ubuntu 的用户群体不断扩大,社区将发挥越来越重要的作用。更多的教程、案例和开源项目将有助于用户更好地学习和应用这一技术,推动其在更多领域的普及和发展。

通过在 WSL2 上安装 Ubuntu,用户可以在 Windows 和 Linux 之间实现无缝切换和协同工作,充分发挥两种操作系统的优点。这不仅提高了工作效率,还为技术创新和探索提供了更广阔的平台。希望本文能够帮助读者成功搭建和使用 WSL2 上的 Ubuntu 环境,开启在 Windows 上的 Linux 之旅。

另外:

  在 WSL2 上安装 Ubuntu

Install Ubuntu on WSL2 - Ubuntu on WSL documentation

查看所有当前安装的发行版以及它们正在使用的 WSL 版本:wsl -l -v

  1. 保证当前 Linux 版本支持CUDA. 在命令行中输入 uname -m && cat /etc/*release,应当看到类似的输出

x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04

  1. 检查是否安装了 gcc . 在命令行中输入 gcc --version ,应当看到类似的输出

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CarlowZJ

我的文章对你有用的话,可以支持

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

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

打赏作者

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

抵扣说明:

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

余额充值