解决方案: 对于所有正确的事情,体积与fsck
并制作文件系统有mkfs
两个分离操作。感谢您提供精彩、详尽的有帮助的错误消息,Linux。:D
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
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>
sudo fsck /dev/sda
在全新驱动器上运行时发生该错误。我运行sudo fdisk /dev/sda
并添加了一个新分区(此处仅接受默认设置),但在尝试安装它时收到相应的魔数错误。我尝试了备用块(使用 列出的超级块sudo mkfs -n /dev/sda
),但均未奏效,它们均被列为已损坏。
我正在寻找解决这个问题的方法,特别是考虑到它是一个全新的驱动器,从未分区过。
附录 1:此操作失败后,我dd
将整个磁盘清零,然后使用fdisk
并注意到它没有分区。我在 中添加了一个分区fdisk
(接受默认值)。在 中fdisk
,分区列表如下:
Command (m for help): p
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes, 3907029168 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
Disk label type: dos
Disk identifier: 0x639543e8
Device Boot Start End Blocks Id System
/dev/sda1 2048 3907029167 1953513560 83 Linux
然后我使用sudo mount /dev/sda1 drivefolder/
并出现以下错误:
[user@localhost ~]$ sudo mount /dev/sda1 drivefolder/
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
输出dmesg
显示如下内容:
[17467275.127319] ata9.00: configured for UDMA/133
[17467275.127325] ata9.00: device reported invalid CHS sector 0
[17467275.127332] ata9: EH complete
[17594695.132437] sda: sda1
并fsck
说:
fsck from util-linux 2.23.1
e2fsck 1.42.7 (21-Jan-2013)
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/sda
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
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>
由于这是一个新驱动器,而且我还将dd
整个驱动器清零,因此我不知该如何修复。这是可重现的,到目前为止,我见过的解决方案都涉及使用该fsck -b
选项,但我已尝试使用提供的所有备份超级块mkfs
,但均未奏效。
答案1
如果您做了mkfs /dev/sda1
,当您安装它时,您必须使用mount /dev/sda1 /wherever
,而不是mount /dev/sda /wherever
。
要添加卷fstab
以便它在启动时自动挂载,首先使用以下命令找到其 UUID blkid
:
# blkid /dev/sda1
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /media/whatever ext2 noatime
并且您可以方便地将整行添加到您的fstab
- 例外情况是,您可能想要更改第二个参数,该参数告诉它将其挂载到何处。不要使用/media
-fstab
在...中创建目录/mnt
或类似命令挂载东西。
在 Debian 和 Debian 衍生发行版(如 Ubuntu)中,每个连接的物理驱动器的符号链接/dev/sdX1
等都存在/dev/disk/by-id
- 这些符号链接将根据驱动器的总线和制造商具有可识别的名称。使用 fstab 的 UUID,因为它始终有效。