wsl装ubuntu的home目次在哪,如何更改home?

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

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

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

×
在 Windows 上用 WSL 装的 Ubuntu,装完第一件事往往是"用户目录怎么找不到"或者"系统目录是不是全塞在 C 盘了"。这两件事其实都指向同一个位置:WSL 发行版的文件是放在 Windows 的某个隐藏目录里的,而不是像真机那样有个独立的分区。本文把默认位置讲清楚,再给出把 home 目录整体搬到 D 盘的做法,以及每一步为什么必须这么做。

一、默认位置在哪

WSL 安装的 Ubuntu,实际文件都在 Windows 用户目录下一个带随机后缀的隐藏包目录里,路径形如:

C:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState\rootfs

前面那一大段是 Windows 的 Store 包目录,每个发行版一个,末尾的 79rhkp1fndgsc 这种随机串是安装时才生成的,不同机器不一样。最后一个 rootfs 目录就是 Linux 的根文件系统,你熟悉的 /home、/etc、/usr 都在它里面。

难点在于它默认是隐藏的。打开资源管理器去翻的话,先点顶部"查看",勾选上"隐藏的项目"复选框,这些带点的文件夹才会显示出来。这步不做会以为目录不存在。

二、为什么要改 home 的位置

默认装法下,整个 Ubuntu 都落在那个 rootfs 目录里,也就意味着连同 home 一起全占 C 盘。对于把系统盘留得比较小的机器,装几个软件、跑点数据,C 盘很快就没了。

更彻底的做法不是"迁 home",而是干脆把整个发行版换一个安装位置再装一遍,WSL 支持用 --location 参数指定目录。本文要讲的是另一种常见需求:已经装好了,只想把 home 目录挪走。两种方案各有适用面,装之前想清楚选哪个更省事。

三、把 home 目录搬到 D 盘

假设目标是把 home 移到 D 盘的 Ubuntu_Home 文件夹,共四步。

第一步,打开 WSL 里的 Ubuntu 终端。

第二步,先在 Windows 侧建好目标目录。回到 Linux 里,切到 /mnt/d(这是 WSL 自动挂载的 D 盘挂载点),然后建文件夹:

cd /mnt/d
mkdir Ubuntu_Home

这样就在 Windows 的 D 盘上建出了一个名为 Ubuntu_Home 的目录,Linux 里可以直接访问。

第三步,把原 home 里的内容搬过去,并把原来的 home 改名。注意这两条必须一起做——只搬不改名,原 home 还是空壳还在占空间;只改名不搬,新目录是空的,登录后什么都不见:

sudo mv /home/* /mnt/d/Ubuntu_Home
sudo mv /home /home_backup

这两条都需要 root 权限,所以要加 sudo。搬完你会发现原来的 /home 变成了 /home_backup,里面是空的。

第四步,建一个软链接把新位置接回去。这样登录时 home 指向的还是 /home,但数据实际存在 D 盘:

sudo ln -s /mnt/d/Ubuntu_Home /home

注意 ln -s 第一个参数是目标位置(真实数据所在),第二个是链接名(要替代的路径),顺序写反了会建出一个指向错误的链接,而且报错很隐晦。

四、验证是否生效

重新打开终端或重新登录,用下面几条确认:

pwd
ls -la ~

能进到 home 并且文件都在,就说明软链接建成了。也可以 df -h 看看空间确实已经让给 D 盘了。

五、几个要留意的点

  • 挂载点写法:Windows 盘符在 WSL 里是 /mnt/d(小写),不是 D:,命令里别混用;
  • 别跨文件系统 mv 大目录:跨盘移动会逐文件复制,数据量大时很慢,属于纯耗时,不是出错;
  • 软链接别设错权限:链接建好后权限跟随目标,主要看 /mnt/d 那侧的可读写状态;
  • 升级别慌:WSL 从 Windows 商店更新发行版,有时会影响文件系统结构,动之前可以先 wsl --export 备份一次,出问题能导回来;
  • 回到默认位置的方法:删掉软链接、把 /home_backup 改回 /home 即可,顺序反过来别搞错。

六、一句话总结

查位置:发行版文件在 AppData\Local\Packages 下对应包目录的 rootfs,看之前先勾"隐藏的项目"。 迁 home:建目标目录 → mv 内容 → 旧 home 改名 → ln -s 接回去。 其中 mv 和改名必须成对执行,这是这套方案最容易漏的一步。

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

回复

使用道具 举报

登录后关闭弹窗

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