gdisk、破損した GPT テーブルを非永続的に修正する

gdisk、破損した GPT テーブルを非永続的に修正する

/dev/sdaノートパソコンが起動できません。そこで、起動可能な USB から Ubuntu 18.04 をライブで実行しました。GPT を使用する500 GB のハードディスクは自動的にマウントされませんでした。

lsblkディスクのみが表示され、パーティションは表示されません。fdisk代わりに、パーティションを表示できます。

gdiskと同じエラーが表示されますこのページ(セクション「半自動回復」):

# gdisk /dev/sda
GPT fdisk (gdisk) version 0.7.2

Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!

recovery/transformation command次に、リンクされたページの「手動回復手順」セクションに、 のオプションのリストが表示され、次のように指定されます。

上で説明したすべてのオプション (w を除く) を試すことができます。いずれのデータ回復ツールも、ディスクへの即時書き込みは行いません。

永続的な変更を行う前に、これらのオプションが機能するかどうかをどのように確認すればよいのかわかりませんでした。

を使用すると、 を一時的に使用して、Ubuntu がディスク パーティションをマウントできるようにし、Ubuntu をシャットダウンしたときにディスクを変更せずに残すことgdiskは可能ですか?backup partition table/dev/sda

答え1

OS にパーティションを認識させる必要はありません。デバイス全体を適切なオフセットでマウントすることができます (試すことができます)。たとえば、パーティションがセクター2048(512 バイトの論理セクターでは非常に一般的な値) で開始されたと思われる場合 (またはツールでそのように通知された場合)、次を試してください。

sudo mount -o ro,offset=$((2048*512)) /dev/sda /some/mountpoint

(ro念のため。これがなければそうなるでしょう-o offset=$((2048*512)))。マウントされ、内容が正常であれば、開始セクターは正しいです。

2564096 バイトの論理セクターの場合はセクター番号になります。$((256*4096))と は$((2048*512))同じ番号であることに注意してください。

また、いずれかのツールでセクター から開始するように指示された場合は14649344、それを使用しますoffset=$((14649344*512))(512 バイトのセクターを想定)。

Microsoft は、以前は から開始することを好んでいました(CHS では 1 トラックあたり 63 セクターという一般的な値のためだと思います) が、これは GPT 以前のことです。XP 時代の Windows がどこから開始する63かを推測する必要がある場合は、 を試してください。C:\offset=$((63*512))


fdisk健全なパーティション構造を表示できるとおっしゃいました。これが出発点になるはずです。

fdisk役に立たなかった場合は、testdisk次に実行するツールです。ドライブを変更せずに、失われたパーティションを検索し、その開始セクターを表示できると思います。これにより、試すオフセットがわかるはずです。

関連情報