将 /home 分区缩小为两个分区

将 /home 分区缩小为两个分区

我的服务器上有一个硬盘

[root@CentOS dev]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       4.9G  722M  3.9G  16% /
tmpfs           246M     0  246M   0% /dev/shm
/dev/sda1       194M   28M  157M  15% /boot
/dev/sda2       9.9G  164M  9.2G   2% /home

我想将主分区缩小为两个分区

我找到了resize2fs命令

umount /home/
e2fsck -f /dev/sda2
resize2fs /dev/sda2 3G
mount /home/

执行后

/dev/sda3       4.9G  722M  3.9G  16% /
tmpfs           246M     0  246M   0% /dev/shm
/dev/sda1       194M   28M  157M  15% /boot
/dev/sda2       5.0G  160M  4.6G   4% /home

/home 大小减少了 3G 但找不到新分区的名称

任何人能给我一个解决这个问题的想法,我将不胜感激。

答案1

/home 大小减少了 3G 但找不到新分区的名称

为什么要有一个新的分区?让我们逐步回顾一下您所做的事情:

umount /home/
e2fsck -f /dev/sda2

分区已卸载并检查。

resize2fs /dev/sda2 3G

分区大小已调整。我不经常这样做,但对我来说奇怪的是 sda2 现在是 5.0 GB,而不是 3.0 GB(如果这是您要求的)。

现在,您的驱动器上有一些可用空间,可用于创建新分区。然而,您实际上并没有做任何事情来创建它们,所以它们当然不存在。

要在没有 GUI 的情况下创建新分区,请使用fdiskparted(注意,不是g)。 IMO 前者更简单,但如果您有 GPT 磁盘,请确保您的 fdisk 版本支持 GPT(如果不支持,它会指示)。请注意,根据man resize2fs

resize2fs 程序不操作分区的大小。[...] 如果您想缩小 ext2 分区,请首先使用 resize2fs 来 缩小文件系统的大小。 然后您可以使用 fdisk(8) 来缩小分区的大小。缩小分区大小时,请确保不要使其小于 ext2 文件系统的新大小!

我突出显示第一句话是为了强调这样一个事实:缩小文件系统,而不是分区。这有点令人困惑,因为df将设备节点(即磁盘分区)称为文件系统。它实际上指的是分区上的文件系统,这不是一回事。

所以,现在你已经缩小了文件系统,你可以缩小分区,然后你可以添加一个新的分区(并在其中创建一个新的文件系统)。

相关内容