【Ubuntu】使用WSL安装Ubuntu

[复制链接]
发表于 2026-10-3 20:56:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

用 WSL 在 Windows 上安装 Ubuntu:从安装到磁盘挂载

适用于 Linux 的 Windows 子系统(WSL)是 Windows 的一项功能,可以在 Windows 计算机上直接运行 Linux 环境,而不需要单独的虚拟机或双系统引导,给既要用 Windows 又要跑 Linux 的开发者一个无缝高效的体验。这篇按顺序讲清楚:WSL 是什么、怎么装、怎么管、磁盘怎么挂、以及怎么导入导出发行版。

一、WSL 和 WSL2 的区别

安装 Linux 发行版时,WSL2 是默认采用的发行版类型。WSL2 用虚拟化技术在轻量级虚拟机(VM)中运行 Linux 内核,Linux 发行版作为独立容器在 WSL2 托管的 VM 里运行。

具体共享与独立的划分:

  • 共享的:同一网络命名空间、设备树(而非 /dev/pts)、CPU/内核/内存/交换空间、/init 二进制文件;
  • 各自独立的:PID 命名空间、挂载命名空间、用户命名空间、Cgroup 命名空间和 init 进程。

二、安装 WSL

前提:需要运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及以上)或 Windows 11。

1. 一条命令装全套

以管理员身份打开 PowerShell 或命令提示符(右键 → 以管理员身份运行),输入:

wsl --install

它会自动装好运行 WSL 所需的一切,然后重启计算机。

2. 想装别的发行版

默认命令会按默认的发行版本装。想指定其他 Linux 系统,用 wsl --install -d <DistroName>;查看所有支持的发行版:

wsl --list --online

3. 常用管理命令

  • 装了多个版本后,wsl -l -v 查看当前已有的 Linux 系统;
  • 启动时跑 wsl -d <名称>,或者开始菜单里对应的图标直接启动;
  • 直接敲 wsl 会启动默认的那个版本;
  • 从图标启动的版本,对话框一关就自动停了——想让虚拟机一直跑,用命令行启动;
  • 停止所有运行中的服务:wsl --shutdown;结束指定版本:wsl --terminate <名称>;
  • 删除指定发行版:wsl --unregister <名称>。

三、更新和升级

建议用发行版自带的包管理器定期更新升级。Ubuntu / Debian 系就是:

sudo apt update
sudo apt upgrade

注意一点:Windows 不会主动帮你更新 Linux 发行版里的包,多数 Linux 用户也倾向于自己控制这件事,所以别指望系统自动来。

四、磁盘挂载(WSL2 专享)

1. 找到磁盘

GET-CimInstance -query "SELECT * from Win32_DiskDrive"

执行后能得到磁盘路径 DeviceID,下一步要用。

2. 附加磁盘(不挂载)

wsl --mount --bare <DiskPath>

--bare 的意思是把磁盘附加到 WSL2,但不装载它。附加后可以在 WSL2 里用 lsblk 列出分区。

3. 看文件系统类型

不知道磁盘或分区是啥文件系统时:

blkid

4. 挂载分区

wsl --mount --partition <分区> --type <文件系统类型>

如果整个磁盘没分区、想整体当成一个卷挂载,可以省略 --partition;省略时默认文件系统类型是 ext4。

5. 访问与卸载

挂载后,通过配置值 automount.root 指向的路径访问,默认值是 /mnt/wsl。卸载用:

wsl --unmount

另外,创建 WSL 实例时系统会自动把所有磁盘挂载到 /mnt 目录下,Windows 盘符就走这条路访问。

五、导入导出发行版

1. 从容器导出 tar:拿一个 CentOS

想把一个不在 Microsoft Store 里的发行版(比如 CentOS)弄进 WSL,需要一个 tar 格式的镜像文件。官方给了两条路:下载现成的 tar(Alpine 官方就有「微型根文件系统」示例),或者把 Linux 发行版容器导出为 tar。后者需要先满足两个条件:

  • 所在 Windows 环境已启用 WSL,且装了运行 WSL2 的 Linux 发行版;
  • 已安装 Windows 版 Docker Desktop,启用 WSL2 引擎并开启集成。

然后在发行版命令行里操作:

# 起一个 CentOS 容器
docker run -t centos bash ls /

# 取出容器 ID
dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')

# 导出成 tar(目录要提前建好)
docker export $dockerContainerID > /mnt/c/temp/centos.tar

2. 导入

cd C:\temp
mkdir E:\wslDistroStorage\CentOS
wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar

三个参数分别是:DistributionName(发行版名称)、InstallLocation(安装位置)、FileName(镜像文件名称)。还有两个可选项:--version 指定新分发用的版本;--vhd 表示提供的是 .vhdx 而不是 .tar。

导入完 wsl -l -v 就能看到它了。

3. 从 GitHub 直接拿现成的

除了自己做,也可以从社区站点直接下打包好的:wsldl-pg/CentWSL 的 releases 页面就有 CentOS 的 WSL 包。下载解压后,执行里面的 centos.exe 就会自动导入该版本。

4. 导出

wsl --export <发行版名> <导出文件名.tar>

配合开源 WSL 发行版生成工具,还能把它打包成 appx,做旁加载分发或分发给团队,适合有内部 Linux 环境镜像要统一推送的场景。

小结

WSL 的核心价值是零虚拟机开销地在 Windows 上跑完整 Linux 命令行。日常操作记住四组命令:wsl --install 装、wsl -l -v 查、wsl --shutdown 停、wsl --import/--export 迁移。要碰 Windows 本地磁盘就用 wsl --mount 全家桶,访问 Windows 盘符则直接看 /mnt。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表