You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何借助新SSD扩展/共享根分区(混合挂载?)

如何借助新SSD扩展/共享根分区(混合挂载?)

嘿,这个需求其实挺接地气的——既想给根分区减负扩容,又不想折腾全盘迁移,还得让把Flatpak、虚拟机磁盘这类大文件移到新SSD后,系统完全没感知对吧?咱一步步来搞定,还能用上你提到的UDisks工具:

第一步:用UDisks给新SSD分区格式化

UDisks的GUI工具就是GNOME磁盘(GNOME桌面)或者KDE磁盘(KDE桌面),操作超简单:

  • 打开磁盘工具,找到你的新SSD(一般是容量最大的那个未分区磁盘)
  • 点击“分区”按钮,先删掉原有分区(如果有的话),然后新建一个分区:
    • 文件系统选ext4(和绝大多数Linux系统的根分区文件系统一致,兼容性拉满)
    • 分区类型选“主分区”,大小直接拉满整个SSD就行(不用多分,后续靠目录挂载拆分使用)
    • 给分区起个好记的名字,比如“RootExpansion”,然后点“创建”

格式化完成后,点一下分区旁边的“挂载”按钮,系统会自动把它挂载到/media/你的用户名/RootExpansion这类路径,你也可以手动改到/mnt/newssd(更方便后续操作)。

第二步:核心操作——用绑定挂载(Bind Mount)实现无缝扩容

这一步是关键,能让系统以为Flatpak、VM磁盘这些目录还在根分区,但实际数据都存在新SSD上,同时你还能直接访问SSD的挂载点查看所有文件:

1. 先转移目标目录的内容

先挑你想移的大目录,比如:

  • Flatpak的默认目录:/var/lib/flatpak
  • KVM虚拟机磁盘:/var/lib/libvirt/images
  • VirtualBox虚拟机磁盘:~/VirtualBox VMs(用户目录下的)

以/var/lib/flatpak为例:

  • 先停掉Flatpak相关服务:sudo systemctl stop flatpak-system-helper.service
  • 用rsync把原目录完整复制到新SSD(一定要用rsync,能保留权限、SELinux上下文这些关键属性):
    sudo rsync -aX /var/lib/flatpak/ /mnt/newssd/flatpak/
    
    注意路径末尾的斜杠,确保把目录里的内容移过去,而不是把整个目录作为子目录移过去。
  • 备份原目录(防止出问题可以恢复):sudo mv /var/lib/flatpak /var/lib/flatpak.bak
  • 在原位置建一个空目录:sudo mkdir /var/lib/flatpak

2. 配置永久挂载(修改/etc/fstab)

现在要让系统开机自动把新SSD上的flatpak目录绑定到根目录的/var/lib/flatpak:

  • 打开/etc/fstab文件(用文本编辑器,比如sudo nano /etc/fstab)
  • 在末尾添加一行:
    /mnt/newssd/flatpak /var/lib/flatpak none bind 0 0
    
  • 同样的方式,给虚拟机磁盘目录也加一行,比如KVM的:
    /mnt/newssd/libvirt-images /var/lib/libvirt/images none bind 0 0
    
  • 保存退出后,测试挂载是否生效:sudo mount -a
  • 检查一下目录内容是否正常,比如ls /var/lib/flatpak,如果能看到内容就没问题

3. 用户目录下的文件更简单(软链接就行)

如果是你自己用户目录下的虚拟机磁盘(比如~/VirtualBox VMs),不用改fstab,直接移到新SSD后建软链接就行:

mv ~/"VirtualBox VMs" /mnt/newssd/vms
ln -s /mnt/newssd/vms ~/"VirtualBox VMs"

这样你打开用户目录里的虚拟机文件夹,实际访问的就是新SSD上的内容,完全无缝。

关于UDisks的补充说明

UDisks可以帮你完成分区、格式化、临时挂载这些操作,但永久挂载(绑定挂载)还是得靠/etc/fstab——毕竟UDisks主要是针对临时挂载可移动介质设计的,系统级的永久挂载还是fstab更可靠。不过前面的分区步骤完全可以用UDisks的图形界面完成,不用敲命令,很方便。

最后检查

重启系统后,确认Flatpak能正常安装应用、虚拟机能正常启动,然后再删掉备份的flatpak.bak目录就行:sudo rm -rf /var/lib/flatpak.bak

这样操作后,新SSD既承担了根分区的扩容任务,你也能直接通过/mnt/newssd访问所有移过去的文件,完全满足你的需求~

备注:内容来源于stack exchange,提问作者Kelvin_da_floofer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 15:08:06