web-dev-qa-db-ja.com

Linux-新しいハードドライブ、スーパーブロックのマジックナンバーが悪い

[〜#〜] solution [〜#〜]:正しかったすべてのことについて、volumefsckfilesystemmkfsで作成することは、2つの別個の操作。 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で指定されたすべてのバックアップスーパーブロックで試しましたが、どれも機能しませんでした。

6
Justin Mrkva

mkfs /dev/sda1を実行した場合、それをマウントするときは、mount /dev/sda1 /whereverではなくmount /dev/sda /whereverを使用する必要があります。


ボリュームをfstabに追加して、起動時に自動的にマウントするには、最初にblkidを使用してそのUUIDを見つけます。

# blkid /dev/sda1
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /media/whatever          ext2    noatime

便利なことに、その行全体をfstabに追加するだけです。ただし、マウントする場所を指示する2番目のパラメーターを変更する場合を除きます。 fstabを使用して/mediaにマウントしないでください-/mntなどにディレクトリを作成します。

DebianやUbuntuなどのDebian派生ディストリビューションでは、接続されている各物理ドライブの/dev/sdX1などへのシンボリックリンクは/dev/disk/by-idにあります-これらのシンボリックリンクは、バスとドライブの製造元に基づいて認識できる名前になります。 fstabには常に機能するため、UUIDを使用します。

4
LawrenceC