不,合并文件系统通常不可行

不,合并文件系统通常不可行

当我安装第一个分区时,我做错了,Debian 9现在是 a Debian 10,并选择了 :
/home分区为 180 Gb
/var分区为 10 Gb,太小
/tmp分区为 2 Gb,太小

我对这些分区感到厌倦。我想将它们合并成一个包含/home/var/tmp的故事,不再有任何限制。

如何合并/var, /tmp, /swap,/home分区(在我的例子中是从/dev/sda5到 且/dev/sda8是连续的)?

答案1

你能行的。除非不要合并交换,并首先备份(至少备份无法恢复的内容)。

  1. 备份
  2. 使用实时操作系统启动。不要在活动系统上执行此操作。
  3. /var将和迁移/tmp//home:将它们复制过来,然后更改挂载表,使它们不被挂载。如果您将它们迁移到/home,则创建指向它们的链接。
  4. 测试
  5. 当一切都正常工作的时候。
    1. 删除分区/var/tmp
    2. 调整/home分区大小以填补间隙。

答案2

不,合并文件系统通常不可行

从理论上讲,您可以做您想做的事情,但对于已经存在的工具来说太奇特了。为了让自己省去很多麻烦,除非您的收入非常低,否则最好购买第二个磁盘并复制数据。作为奖励,您可以获得免费的数据备份。

  1. 拥有第二个 Linux(实时媒体就足够了)。
  2. 在新磁盘上创建所需数量的分区(我通常只有一个)。
  3. 复制您的数据(从最大的数据开始,/home在您的情况下,使用e2image -rap,然后rsync -a是其余的)。
  4. 调整/etc/fstab
  5. 启动到复制的系统(使用第二个 Linux 或 Super Grub 2 Disk 之类的东西)。
  6. 安装并配置引导加载程序。
  7. 享受。

至于合并不可行:您有许多单独的分区。每个分区上都有一个文件系统(我假设是 ext4)。大多数通用文件系统都可以增长或缩小,但据我所知,没有一个文件系统的实例被设计为可以合并。理论上,您可以收集第二个文件系统的所有 inode(组织文件的元信息),将第一个文件系统扩展到第二个文件系统,将收集到的 inode 注入第一个文件系统,调整文件系统偏移量的磁盘上文件位置信息。这个需要完成的事情的粗略清单并不详尽。
现在我总结了一下,这样做看起来并没有那么危险。假设人们相当了解文件系统的内部结构,就可以为此目的编写一个工具。然而,由于简单地复制用户数据也能完成这项工作,因此没有专业人士这样做过。

相关内容