我正在尝试在 debian 10 中调整主分区的大小(在我缩小交换分区之后)。调整交换分区的大小很容易,为此我使用以下命令:
swapoff -a
fdisk /dev/sda
删除交换分区并使用 fdisk 将其缩小后,我使用了以下命令:
mkswap /dev/sda2
blkid -s UUID -o value /dev/sda2 >> /etc/fstab
编辑 /etc/fstab 并将该代码放入正确的位置。在那之后 :
swapon -a
检查交换分区free
。之后,使用 debian 的 live cd 调整主分区大小,然后运行以下命令:
fdisk /dev/sda
删除并重新制作左侧空间中的分区并将更改写入磁盘,但是当我运行此命令时:
e2fsck -f /dev/sda3
它给了我这个错误:
那么我该如何解决它呢?
答案1
从您的设备编号中我了解到主分区位于交换分区之后。这意味着您一开始就扩展了主分区。这使得超级块中的数据大部分无效。
作为一般规则,您只能在末尾扩展文件系统,而不能在开头扩展。
如果您确实进行了备份,那么现在就是使用该备份的时候了。在 /dev/sda3 上重新创建文件系统并恢复备份。
如果您没有进行备份,请将此视为为什么在更改文件系统或分区之前必须进行备份的教训。您最好的选择是将 /dev/sda3 调整为其原始大小(即原始起始扇区)并fsck
在其上运行。然后进行完整备份,使主分区再次成为您想要的样子,重新初始化文件系统mkfs.ext4
并恢复备份。
parted
或者gparted
有一个“移动”命令,允许您移动分区,但我没有移动可能重叠的分区的经验。