跳转至

实验0:虚拟机教程

本节目标

了解 WSL、VLAB、VMware 三种环境的差异,按自身条件选择一种完成后续实验环境搭建。

补充阅读

Lab0 当前包含环境安装、内核启动、希冀平台仓库接入与 AI 编程工作流四部分。若你装好环境后还想进一步熟悉命令行、GitMakefile 或日志系统,可继续阅读 实验准备补充:工具与开发基础

1 虚拟机环境三选一说明

本课程的实验都需要在一个「类 Linux」环境下完成,你只需要在 WSL、VLAB、VMware 三种方案中任选其一,不需要全部安装。它们本质上都是给你准备一个可以运行 Linux 的“虚拟机”,只是实现方式不同。

从初学者的使用体验和后续维护成本来看,我们的 推荐顺序是:WSL > VLAB > VMware

方案 适合人群 主要优点 主要限制
WSL Windows 用户,追求安装快、维护简单 与 Windows 集成好;资源占用低;配合 VS Code 体验佳 图形化能力较弱(本课程通常不影响)
VLAB 想省本地资源,或需要多设备切换 云端环境;浏览器/SSH 即可使用;可远程开发 依赖网络质量
VMware 需要完整本地 Linux 桌面环境 环境最完整、隔离性好 安装配置复杂、占用资源高

如果你使用的是 macOS

WSL 仅适用于 Windows,因此 macOS 用户不需要看 WSL 教程。对 macOS 来说,我们更推荐你优先阅读 macOS 使用说明VLAB 教程:它们对本机系统要求最低,也最不容易因为本地虚拟化软件、芯片架构或图形界面差异而卡住。

如果你确实希望在 macOS 本地安装一个 Linux 环境,也可以自行选择适合你机器的虚拟化方案;但需要注意,macOS,尤其是不同芯片平台的 Mac,在虚拟机软件、界面和镜像选择上差异较大,因此本文档不再为 macOS 提供一套统一的本地安装步骤。

  • WSL(Windows Subsystem for Linux)

    • 系统要求:使用 Windows 10/11 64 位操作系统,并且电脑支持虚拟化(大部分近几年电脑都支持)。
    • 优点:
      • 和 Windows 集成度最高,不需要额外开一个“虚拟机窗口”,打开终端就能用 Linux;
      • 安装非常简单,基本上只需一条 wsl --install 命令即可完成;
      • 占用磁盘空间和内存相对较小,对电脑性能要求不高;
      • 与 Windows 之间文件互访方便(如通过 /mnt/c 访问 C 盘),配合 VS Code 开发体验最好。
    • 缺点:一般通过命令行或VS code来使用,没有较好的图形化方案。但对于本课程的实验来说,命令行环境已经完全够用,图形化界面一般用不上。
  • VLAB(科大提供的云端虚拟机)

    • 优点:
      • 虚拟机运行在学校服务器上,本地只需要浏览器或 SSH 客户端即可使用;
      • 不占用本机大量磁盘空间,换电脑或在机房上机时,只要能上网就能连回自己的环境;
      • 支持网页 SSH/桌面登录、文件拖拽上传下载,并且可以配合 VS Code 远程开发。
    • 缺点:
      • 依赖网络质量,网不好时操作会有明显卡顿;
  • VMware 本地虚拟机

    • 优点:
      • 在本机提供一个“完整的独立 Linux 系统”,和真实服务器最接近;
      • 与宿主机隔离较好,适合做一些需要完整系统环境的尝试。
    • 缺点:
      • 安装与配置步骤最多(需要下载安装 VMware 软件、Ubuntu 镜像再手动安装系统);
      • 占用磁盘空间和内存都比较大,对电脑性能要求最高;
      • 文件拖放、剪贴板共享等功能有时不够稳定,需要额外排错。

简单来说:如果你的电脑支持 WSL,请优先选择 WSL;如果你使用的是 macOS,建议优先选择 VLAB;如果电脑不支持 WSL 或者需要图形化界面,可以选择 VLAB;VMware 则看个人喜好选择。

2 环境完成检查(任选一种方案)

  • 已能进入 Linux 终端(WSL 终端 / VLAB SSH / VMware 终端)。
  • 能执行 uname -a 并看到 Linux 内核信息。
  • 能执行 pwdls 等基础命令。
  • 能联网执行 sudo apt update(或云端环境中等价操作)。

下一步建议

如果你已经完成环境安装,但对 Linux 终端还不熟悉,建议接着阅读附录中的 Linux 基础教程。完成 实验0:内核编译运行与 GDB 调试 后,建议继续阅读 实验0:希冀平台与课程仓库接入;如需补充 Git 命令与分支管理,可再参考附录 Git 提交、分支与合并