外观
扩展:WSL 续命指南 (安装、迁移与恢复)
约 1670 字大约 6 分钟
WSLUbuntuD 盘迁移密码重置
2026-05-26
为什么要单独讲这一节? (必读的生存指南)
学校机房的电脑有一个让人又爱又恨的功能:C 盘还原。每次重启或下课后,C 盘就会被格式化恢复到初始状态。
如果你把这学期要用的 Ubuntu 系统和敲了一半的脚本文件放在 C 盘,明天来上课时,它们就会随风消散。这节课不讲写代码,只解决一个极其痛点的生存问题:如何把你的 Ubuntu 搬到 D 盘,并在 C 盘被还原后,一秒钟把它复活!
一、 搞懂 WSL 的“游戏机”模型
很多同学觉得 WSL 很难懂,其实你可以把它想象成一台游戏机:
- WSL 运行环境(游戏主机):Windows 11 自带的能力,机房电脑已经帮你准备好了。
- Ubuntu 发行版注册信息(游戏存档列表):Windows 记录了你安装过哪些 Linux,但这个列表放在 C 盘,会被还原掉。
- Ubuntu 磁盘文件(游戏卡带):真正保存你 Linux 里面的文件、代码的地方,通常是一个叫
ext4.vhdx的文件。
我们的绝地求生策略非常简单: 只要把“游戏卡带”(ext4.vhdx 和备份包)稳稳地放在 D 盘。哪怕 C 盘被还原清空了“存档列表”,我们也能通过两行命令,重新把 D 盘的“卡带”插回去继续玩!
二、 从零开始:把 Ubuntu 直接装到 D 盘
如果你现在还没安装 Ubuntu,那太好了,我们直接一步到位装到 D 盘。以下命令请打开 Windows PowerShell 执行。
第一步:看看机房提供了啥
先看看当前系统里有没有装好的 Linux:
wsl -l -v如果提示没有找到,那就看看微软官方超市里有哪些“游戏卡带”可以免费下载:
wsl --list --online这里我们强烈建议选择 Ubuntu,因为它的教程最多,排错最容易。
第二步:在 D 盘建个新家
在 D 盘建一个专属的文件夹,用来存放我们的“卡带”:
# 在 D 盘创建一个叫 WSL\Ubuntu-AutoTools 的文件夹
New-Item -ItemType Directory -Force D:\WSL\Ubuntu-AutoTools第三步:正式安装!
执行下面的魔法命令,把 Ubuntu 直接安装到你刚建好的 D 盘目录下:
wsl --install --distribution Ubuntu --location D:\WSL\Ubuntu-AutoTools提示:安装完成后如果系统弹窗要重启,就先重启。第一次进 Ubuntu 会让你设置一个 Linux 的账号和密码,一定要记住哦!
三、 “学长,我忘了 Linux 密码怎么办?”
别慌!WSL 有一个超级后门。哪怕你把自己的密码忘得一干二净,也能从 Windows 侧强行以最高管理员(root)身份闯进去改密码。
查一下你的系统叫啥名字:
wsl -l -v假设输出的名字叫
Ubuntu。使用 root 后门强行进入:
wsl -d Ubuntu -u root重置你自己的密码: 假设你的用户名叫
student,进去后直接敲:passwd student系统会让你输入两次新密码(输入时屏幕不显示字符是正常的),改完后输入
exit退出来就搞定了!
四、 亡羊补牢:把已经装在 C 盘的 Ubuntu 搬家
如果你之前手快,已经把 Ubuntu 默认装在了 C 盘,必须赶紧搬家。搬家分为三步:打包导出 -> 销毁旧家 -> 导入 D 盘。
警告
危险动作预警:在执行“销毁”之前,必须保证你的备份文件(.tar)已经成功生成并安静地躺在 D 盘里!
停机并打包导出(备份):
# 关机 wsl --shutdown # 建一个备份文件夹 New-Item -ItemType Directory -Force D:\WSL\backup # 把 C 盘的 Ubuntu 压缩打包成一个 .tar 文件放到 D 盘 wsl --export Ubuntu D:\WSL\backup\Ubuntu-AutoTools.tar一定要去 D 盘看看那个
.tar文件在不在,而且大小绝对不能是 0 KB!含泪销毁 C 盘的旧系统:
wsl --unregister Ubuntu在 D 盘重新安家:
# 创建 D 盘新家目录 New-Item -ItemType Directory -Force D:\WSL\Ubuntu-AutoTools # 把刚才的备份包解压导入到新家 wsl --import Ubuntu-AutoTools D:\WSL\Ubuntu-AutoTools D:\WSL\backup\Ubuntu-AutoTools.tar --version 2搞定!现在你的 Ubuntu 已经安稳地躺在 D 盘了。
五、 终极奥义:C 盘被机房还原了怎么复活?
第二天上课,机房电脑一开机,你发现 C 盘又变回了出厂设置。你输入 wsl -l -v,系统冷酷地提示你“未安装任何 Linux”。
别怕,去看看你的 D 盘!
绝境逢生 A:D 盘里的 ext4.vhdx 还在!
这是最完美的结局。你的“游戏卡带”完好无损,我们只需要重新在 C 盘“登记”一下就行了:
# 原地满血复活指令!
wsl --import-in-place Ubuntu-AutoTools D:\WSL\Ubuntu-AutoTools\ext4.vhdx
# 把这个系统设为默认启动项
wsl --set-default Ubuntu-AutoTools一秒钟,你的系统又回来了!
绝境逢生 B:卡带没了,但 D 盘还有 .tar 备份包
如果不幸连 ext4.vhdx 也坏了,但你保留了之前的导出备份包:
# 像第四步一样,重新导入一次
wsl --import Ubuntu-AutoTools D:\WSL\Ubuntu-AutoTools D:\WSL\backup\Ubuntu-AutoTools.tar --version 2六、 进阶防身术:给自己留个锦囊
人的记忆是有限的。为了防止下周来上课时忘了怎么敲复活命令,建议你在 D 盘建一个备忘录:
notepad D:\WSL\复活口诀.txt把你自己的复活命令(比如 wsl --import-in-place Ubuntu-AutoTools D:\WSL\Ubuntu-AutoTools\ext4.vhdx)复制进去保存。下次一开机,双击文本文档,直接复制粘贴,深藏功与名。
七、 故障排查急诊室
遇到报错别慌,对照这里找解药:
| 报错现象 | 学长教你怎么办 |
|---|---|
提示 wsl --import-in-place 名称已存在 | 你当前系统里已经有个同名的废弃记录了。换个新名字,或者先用 wsl --unregister 把废名字删掉。 |
导出 .tar 失败或卡住 | 大概率是 Ubuntu 还在后台偷偷运行。先执行一次 wsl --shutdown 强制断电,再重新导出。 |
| Docker Desktop 找不到 Linux 了 | Docker 也是装在 C 盘被还原了。打开 Docker 设置 -> Resources -> WSL integration,把你的 Ubuntu 重新勾选上。 |
sudo 提示密码错误 | 回顾第三章:用 wsl -u root 进去重置一下密码。注意,Linux 的密码不是你 Windows 电脑的开机密码! |
