![由于“超级块中的魔法数字错误”,fsck 磁盘无法运行](https://linux22.com/image/1174791/%E7%94%B1%E4%BA%8E%E2%80%9C%E8%B6%85%E7%BA%A7%E5%9D%97%E4%B8%AD%E7%9A%84%E9%AD%94%E6%B3%95%E6%95%B0%E5%AD%97%E9%94%99%E8%AF%AF%E2%80%9D%EF%BC%8Cfsck%20%E7%A3%81%E7%9B%98%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C.png)
由于“超级块中的魔法数字错误”,fsck 磁盘无法运行 磁盘是外部磁盘(WD 护照硬盘),通过 USB 端口连接。它已正常安装。我可以正常写入/删除/播放/运行文件(特定目录除外)。
我想运行 fsck 来修复这个问题。但是,我遇到了这个问题。
使用sudo e2fsck /dev/sdc
不同的数字,不起作用。
该怎么办?
“sudo fsck /dev/sdc”
elias@eliasc:/home$ sudo fsck /dev/sdc
fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdc
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>
Found a gpt partition table in /dev/sdc
sudo fdisk -l
Disk /dev/sdc: 931.5 GiB, 1000170586112 bytes, 1953458176 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 66BAEFE2-F3F9-491C-B40F-C964F28AE483
Device Start End Sectors Size Type
/dev/sdc1 2048 1953456127 1953454080 931.5G Microsoft basic data
更新:我发布了解决方案,但被删除了。我发现 ntfs 的 Linux 实用程序(以及更多)无法修复我的磁盘。因此,我创建了一个运行 Windows 企业免费试用版的 VirtualBox 虚拟环境。我运行 Checkdsk,问题就解决了。
更新 2:修复 NTFS 后,我将整个磁盘格式化为 Ext4。再见 NTFS 问题。据我所知,它不需要像 Ext4 那样进行碎片整理。
答案1
我认为磁盘(分区表)和带有文件系统的分区之间存在混淆。
您当然可以使用给定的文件系统格式化整个磁盘,但在典型情况下这种情况很少见。
fsck
当指向适当的分区时,将自动调用适当的帮助程序。它通过检查分区开头的魔法数字来确定其类型。因此,如果您的分区使用 NTFS 格式化,它将自动调用fsck.ntfs
。
在您的问题中,您直接运行fsck
的/dev/sdc
是 GPT,即 GUID 分区表(即不是一个分区,而是分区的集合)。我猜sdc1
是您的 NTFS 分区,而不是sdc
您的整个磁盘(它不包含文件系统,但包含一个或多个具有自己文件系统的分区,因此是坏魔法)。