“超级块或分区表可能已损坏!”调整分区大小后

“超级块或分区表可能已损坏!”调整分区大小后

我使用 Manjaro live CD 中的 KDE 分区管理器工具来缩小现有的 Linux Mint 分区并创建另一个分区来安装 Manjaro。

一切都很顺利,但是,看起来我的 Linux Mint 分区在这个过程中被损坏了。尝试启动它会将我发送到 initramfs。

这是输出e2fsck

$ e2fsck -fy /dev/nvme0n1p6
e2fsck 1.45.5 (07-Jan-2020)
The filesystem size (according to the superblock) is 32907264 blocks
The physical size of the device is 22641408 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? yes

这是输出lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0 238,5G  0 disk 
├─nvme0n1p1 259:1    0   260M  0 part /boot/efi
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0  93,5G  0 part 
├─nvme0n1p4 259:4    0   980M  0 part 
├─nvme0n1p5 259:5    0  13,1G  0 part 
├─nvme0n1p6 259:6    0  86,4G  0 part              # Linux Mint partition
├─nvme0n1p7 259:7    0   5,2G  0 part [SWAP]
└─nvme0n1p8 259:8    0  39,2G  0 part /            # New Manjaro partition

答案1

我假设问题是“我现在该怎么办?”

首先,存储在 Mint 分区末尾的所有数据都会消失。如果文件系统上的任何数据很重要,您应该将该分区复制到另一个设备。

要修复文件系统并希望再次启动,您需要首先完成fsck运行:

e2fsck -f /dev/nvme0n1p6

对第一个问题回答“n”(“超级块或分区表可能已损坏!中止?”),然后对所有后续问题回答“y” -e2fsck将询问您有关所有丢失的索引节点的信息。

接下来,尝试调整文件系统的大小:

resize2fs -f /dev/nvme0n1p6

如果(收缩的)分区末尾不存在任何文件,则此方法将起作用。否则,您将无法调整文件系统的大小,并且您将进入文件系统手术领域。一种可行的方法是删除交换分区和 Manjaro 分区,编辑分区表以恢复 Linux Mint 分区的旧大小,然后将其大小调整为新大小。由于您刚刚安装了 Manjaro,想必您可能不介意重新安装它!

答案2

如果其他答案无法解决您的问题,您可能需要确保分区表与设备匹配。

  1. 磁盘驱动器
sudo fdisk -l /dev/whatever

将结果抄下来(在纸上)。然后修复分区表:

sudo fdisk /dev/whatever

删除分区。然后使用相同的参数重新创建它们。如果最终分区强制/允许您使用不同的大小,请不要感到惊讶。

  1. FSCK
sudo fsck /dev/whatever

对第一个问题回答“n”(“超级块或分区表可能已损坏!中止?”),然后对所有后续问题回答“y”。

  1. 缩小有问题的文件系统:
sudo resize2fs -f /dev/whatever_partition

例如:resize2fs -f /dev/sdb9

感谢https://unix.stackexchange.com/users/86440/stephen-kitt对于他的第一个答案,我很想投票,但由于堆栈交换政策不能,因为我没有“声誉”。也无法添加评论。 :-( 这是他的答案,除了我必须添加一些关于确保分区表与设备匹配的内容。

当我将 Pi 图像添加到新芯片上时,我遇到了这个问题,该芯片显然与原始芯片的几何形状不匹配。

答案3

我遇到了同样的问题:我缩小了驱动器的最后一个分区而没有调整文件系统,导致分区/文件系统不匹配。

但是,我还没有在释放的空间中创建新的分区!

因此,我可以通过将调整大小的分区扩展到其旧大小来解决不匹配问题:我无法为此使用 KDE 的分区管理器,因为它在检查现有分区时因 fsck 错误而停止。

反而,这条评论帮助我使用growpart调整分区大小。

请注意,我没有格式化缩小分区后释放的空间。也是在我的驾驶结束时,发生了不匹配。

我不知道该工具在其他情况下是否有效,但对于所描述的情况,它解决了问题并恢复了我的可启动系统。

相关内容