在 FreeBSD 上调整 UFS /root 分区的大小

Rad*_*ion 5 freebsd partition ufs

有没有办法在运行驻留在 UFS /root 分区上的操作系统时调整其大小?我正在运行 FreeBSD。

Wüs*_*cko 4

手册中有关于在 FreeBSD 下扩展磁盘的相当全面的指南。对于 UFS(FreeBSD 的默认设置),您可以从内核版本 10.0 开始在线增长。

但是,更改已安装文件系统周围的分区可能会导致数据丢失或不一致,这些数据可能会在系统下次尝试引导时首先发现。还要记住检查您的引导加载程序。


增长文件系统基本上可以归结为:

  1. 调整分区表。执行此步骤时要非常小心,因为这里搞乱可能会导致整个磁盘损坏。您可能希望卸载运行最小系统不需要的所有分区,尤其是交换分区。

    从你的问题来看,我假设你知道如何使用gpart来实现这一点。

    完成调整后,您可以安全地重新安装所有分区并重新启用交换。

  2. 实际成长FS。对于 FreeBSD,这就像发出调整大小的分区一样growfs <blockdevice>简单。<blockdevice>

缩小,您必须反向执行以下步骤:

  1. 缩小文件系统以确保不会覆盖任何重要的内容:growfs -s <new_size> <blockdevice>。确保您选择的大小小于新的目标文件系统大小,即,如果您想从 100GB 分区减小到 70GB 分区,请在此步骤将 FS 大小调整为大约 60-65GB。超调越多意味着更多的空间,但通常也意味着更多的重新定位,从而导致更长的等待时间。
  2. 调整分区表。与以前不同,在此步骤中您可以选择确切的目标尺寸。您可能也想在此步骤中卸载其他分区,特别是如果您移动其他分区(事实上,在这种情况下,您必须卸载这些分区)。
  3. 扩展文件系统。这消除了您在(新)分区末尾留下的净空:growfs <blockdevice>。省略大小参数会告诉它使用整个分区。