背景
Linuxルートext4パーティションがあり、さらに多くのスペースが必要です。 Windowsインストールでそのパーティションを消去し、ライブUSBのKDEパーティションマネージャで残りの内容を変更します。
私はパーティション管理/回復の経験が全くないので、おそらくしてはいけないことをしているようです。
エマルジョン:ext4スーパーブロックの復元
以前のパーティション構造(思い出されるとおり)
|device|type |
|------|------------------|
|sda1 | ESP Windows |
|sda2 | MS Reserved |
|sda3 | Win partition |
|sda4 | -(unallocated)- |
|sda5 | ESP Linux | *
|sda6 | Swap | *
|sda7 | Solus Linux |
|sda8 | Win recovery env |
災害が発生する前のステップ
- 移動を可能にするために、中間パーティション(*でマーク)を削除し、Linux拡張を開始しました。
- 私は動いた部分パーティションの拡張に使用される未割り当て領域
- 私確信パーティション拡張後にスペースを置かないでください
- 時間がかかり、サイズ変更は成功しましたが、ジョブエラーで終了しました
e2fsck
:bad magic number
[...]superblock invalid
。
私がしたこと
エラーが発生した後、検索結果fdisk
パーティションが何らかの方法で誤ってソートされ、一部のセクションが始まってはいけない場所で終わったことを示す「ディスク順序エラー」(sda7
以前に表示)が報告されたことがわかりました。sda4
- 勉強した悪いマジックナンバーそしてスーパーブロックエラー
- マジックナンバーはバックアップと交換することをお勧めします。
- すべてを試しましたが、
e2fsck -b {number} /dev/sda7
何も機能しませんでした。
その後、パーティションのサイズ変更に注意を払い、それ自体でサイズを変更することを発見fdisk
し、Linuxパーティションを正しい場所に配置するトリックを実行しました。
- 今セクターは正しいです。私は再調整が他のものに影響を与えないことを確認するために他の人を前後に確認しました。
しかし、私は未知のファイルシステムタイプとして表示されるアクセスできない(マウントできない)サイズ変更されたパーティション(Linuxルート、ext4)でまだハングアップしています。
(現在の出力は下段にあります)
サイズ変更によってパーティション(スーパーブロック)に関する情報が変更され、正しく更新されなかったため、これはすべて発生したようです。
回復するにはどうすればよいですか?
- どういうわけかスーパーブロック情報を再構成できますか?
- パーティションを消去する前にパーティションの内容をバックアップして正しく再作成する方法はありますか?通り過ぎて見たが、
ddrescue
私が探していたのは正しい - 何について
testdisk
?有望に見えますが、ATMを理解するには複雑すぎます。ここで助けを受ければいいようです。
どんな答えでも大変感謝します。
出力
再構成されたパーティション構造
# fdisk -l /dev/sda
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Disk model: ADATA SU650
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: 2268FBBE-207C-44A8-A784-28F30D837464
Device Start End Sectors Size Type
/dev/sda1 2048 206847 204800 100M EFI System
/dev/sda2 206848 239615 32768 16M Microsoft reserved
/dev/sda3 239616 189430999 189191384 90.2G Microsoft basic data
/dev/sda4 189431808 192237567 2805760 1.3G ## temporary fs to avoid mixing up
/dev/sda5 192237568 233375743 41138176 19.6G Linux filesystem
/dev/sda6 233375744 234438655 1062912 519M Windows recovery environment
(はい、ストレージスペースは非常に制限されています。いいえ。現時点では他のオプションはありません。)
パーティションをマウントしてみてください
# mount /dev/sda5 /target
mount: /target: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.
無効なマジックナンバーエラー:
# e2fsck -v /dev/sda5
e2fsck 1.45.6 (20-Mar-2020)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/sda5
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>