当我安装第一个分区时,我做错了,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
你能行的。除非不要合并交换,并首先备份(至少备份无法恢复的内容)。
- 备份
- 使用实时操作系统启动。不要在活动系统上执行此操作。
/var
将和迁移/tmp
到/
或/home
:将它们复制过来,然后更改挂载表,使它们不被挂载。如果您将它们迁移到/home
,则创建指向它们的链接。- 测试
- 当一切都正常工作的时候。
- 删除分区
/var
和/tmp
- 调整
/home
分区大小以填补间隙。
- 删除分区
答案2
不,合并文件系统通常不可行
从理论上讲,您可以做您想做的事情,但对于已经存在的工具来说太奇特了。为了让自己省去很多麻烦,除非您的收入非常低,否则最好购买第二个磁盘并复制数据。作为奖励,您可以获得免费的数据备份。
- 拥有第二个 Linux(实时媒体就足够了)。
- 在新磁盘上创建所需数量的分区(我通常只有一个)。
- 复制您的数据(从最大的数据开始,
/home
在您的情况下,使用e2image -rap
,然后rsync -a
是其余的)。 - 调整
/etc/fstab
。 - 启动到复制的系统(使用第二个 Linux 或 Super Grub 2 Disk 之类的东西)。
- 安装并配置引导加载程序。
- 享受。
至于合并不可行:您有许多单独的分区。每个分区上都有一个文件系统(我假设是 ext4)。大多数通用文件系统都可以增长或缩小,但据我所知,没有一个文件系统的实例被设计为可以合并。理论上,您可以收集第二个文件系统的所有 inode(组织文件的元信息),将第一个文件系统扩展到第二个文件系统,将收集到的 inode 注入第一个文件系统,调整文件系统偏移量的磁盘上文件位置信息。这个需要完成的事情的粗略清单并不详尽。
现在我总结了一下,这样做看起来并没有那么危险。假设人们相当了解文件系统的内部结构,就可以为此目的编写一个工具。然而,由于简单地复制用户数据也能完成这项工作,因此没有专业人士这样做过。