超级块中的错误幻数

超级块中的错误幻数

所以我有三张磁盘。我曾想过给这些卷本身贴上标签:

$ e2label /dev/sda
d80-JD-75MS

$ e2label /dev/sdb
e2label: Bad magic number in super-block while trying to open /dev/sdb
Found a dos partition table in /dev/sdb

$ e2label /dev/sdc
e2label: Bad magic number in super-block while trying to open /dev/sdc
Found a dos partition table in /dev/sdc

...所有三个磁盘都是可引导的。 fdisk 没有报告任何错误。但通常的 ext4 实用程序都报告相同的事情或非常接近:

"Couldn't find a valid filesystem superblock
Found a dos partition table in ..."

/dev/sdb 是 Debian 11 的全新安装,但 e2label 对此并不满意。除此之外,我没有发现任何问题,但是“超级块”问题是怎么回事?那可以修复吗?

顺便说一句,一件看起来很有希望的事情是:

mkfs.ext4 -L "wipeout" /dev/sda

...这添加了一个标签,但也清除了磁盘上的所有内容:(

……所以这很顽皮吗?”

$ e2label /dev/sda "bad bad bad"

$ lsblk /dev/sda -o name,label,fstype,mountpoint,size,model
NAME    LABEL          FSTYPE MOUNTPOINT     SIZE MODEL
sda     bad bad bad    ext4                 74.5G WDC_WD800JD-75MSA3
├─sda1  d1--5-swap     swap                    5G 
├─sda2  d2--0-boot     ext4   /media/sda/2   200M 
├─sda3  d3--6-root     ext4   /media/sda/3     6G 
├─sda4      

...该命令很高兴执行,该命令是关于标记一个 FS,而不是创建一个。似乎没有什么东西被破坏了。我很高兴。我想知道的是为什么我在其他两个磁盘上收到那些“坏幻数”消息。

答案1

标签是文件系统的属性,而不是磁盘的属性。

您可以用来e2label标记extN文件系统(对于 N={ 2, 3, 4 })。对于 FAT 文件系统,您需要使用fatlabelmlabel或其他支持 FAT 的工具。

您似乎直接extN在第一个磁盘上创建了文件系统/dev/sda,而不是通过分区表。这通常是一个非常糟糕的主意:您应该(几乎)始终有一个磁盘分区表。

直接位于磁盘 ( /dev/sda) 而不是分区(例如/dev/sda1)上的文件系统的问题是,您无法将磁盘用于除该文件系统之外的任何其他用途。

令人担忧的是,从您后来显示lsblk输出的编辑来看,磁盘上还有其他分区。最好的情况是您损坏了第一个分区表,并且磁盘正在使用其靠近磁盘末尾的备份。最坏的情况是您还覆盖了一个或多个分区上的数据。

现在,我倾向于建议您备份该磁盘上的所有数据并重建它。一旦你备份了它并测试备份成功,如果您喜欢冒险,可以尝试重建主 GPT。看起来gdiskr然后c选项应该这样做但我没试过。我想我会更乐意擦除磁盘并恢复数据。

相关内容