700GB exFATパーティションと300GB LUKSパーティションという2つのパーティションに分かれた外付けハードドライブがあります。私のコンピュータからluksパーティションにコピーしていましたが、速度が遅くなり、停止してUSB接続を削除することにしました。 LUKSパーティションはマウントされておらず、重要なファイルでいっぱいです。 :( この問題をどのように解決できますか? 以下は 2 つの出力です。
$ sudo parted -l
Model: ********** (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Sinalizador
1 1049kB 300GB 300GB primary
2 300GB 1000GB 700GB primary
$ sudo fsck /dev/sdb
fsck from util-linux 2.28.2
e2fsck 1.43.3 (04-Sep-2016)
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/sdb
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 dos partition table in /dev/sdb
助けてください!
編集する
フォローするこれチュートリアルを見て、スーパーブロックバックアップに復元してみてください。これを使ってすべてのバックアップを見つけました。
$ sudo mke2fs -n /dev/sdb
mke2fs 1.43.3 (04-Sep-2016)
Found a dos partition table in /dev/sdb
Proceed anyway? (y,n) y
Creating filesystem with 244189952 4k blocks and 61054976 inodes
Filesystem UUID: ***************************
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
リストされているすべてのブロック番号を復元しようとしましたが、常に同じエラーメッセージが表示されます。例:
$ sudo e2fsck -b 32768 /dev/sdb
e2fsck 1.43.3 (04-Sep-2016)
e2fsck: Bad magic number in super-block while trying to open /dev/sdb
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 dos partition table in /dev/sdb
答え1
fsck
コマンドが無効なデバイスノードを指しています。
ディスクを分割しているため、ディスク/dev/sdb
装置全体でファイルシステム回復ツールを実行しないでください。/dev/sdb
物理パーティションでのみ実行する必要があります。
ただし、/dev/sdb2
パーティションがLUKS暗号化パーティションであるため、これを実行することはfsck
まったくsdb2
役に立ちません。パーティションは暗号化されているため、sdb2
その内容はLUKSヘッダーを除いてデフォルトでランダムノイズと区別できないように見えます。これが暗号化がすることです。
代わりに、まず次のように暗号化のロックを解除する必要があります。
cryptsetup luksOpen /dev/sdb2 sdb2_crypt
暗号化されたパスワードの入力を求められます。コマンドが成功すると、別のデバイスノードが作成されます/dev/mapper/sdb2_crypt
。デバイスを使用し、ただこのデバイスでは、LUKS暗号化/暗号解読「フィルタ」を介して暗号化されたパーティションのコンテンツにアクセスでき、暗号化されていない一般的なデバイスのように見えます。システムをシャットダウンまたはcryptsetup luksClose
ロックした暗号化を使用すると、暗号化が再びロック解除されるまでデバイスが消えます。
これにはファイルシステムチェックの実行が含まれます。
fsck /dev/mapper/sdb2_crypt
/dev/mapper/sdb2_crypt
同様に、暗号化されたパーティションをマウントするときは、元の暗号化されたパーティションではなくそのデバイスを使用する必要があります/dev/sdb2
。
答え2
LUKSヘッダーが破損していないことを確認してください。
cryptsetup luksDump /dev/sdb2
エラーが発生した場合は申し訳ありませんが、LUKSヘッダーをバックアップしないと、重要なファイルを回復できません。
LUKSヘッダーのバックアップがある場合は復元できます。
cryptsetup luksHeaderRestore /dev/sdb2 --header-backup-file somefile
答え3
ハードウェア層から始めることをお勧めします。 /var/log/messagesにディスク関連のエラーが表示されますか?たとえば、ケーブルまたはディスク自体がこれらの問題の根本原因である可能性があります。問題は、ハードウェア問題であれば、発生した災害が復旧しても再発生する可能性が高いという点だ。