ブロックデバイスで有効な(ファイルシステム)スーパーブロックを検索する最も効率的な方法は何ですか?

ブロックデバイスで有効な(ファイルシステム)スーパーブロックを検索する最も効率的な方法は何ですか?

オフセットとブロックサイズを知らないいくつかの有効なファイルシステム(デフォルトおよびバックアップスーパーブロックを含む)を含むブロックデバイスがあります。私の場合は、4KiBブロックを持つext4ファイルシステムであることを知っていますが、すべてのOS対応ファイルシステムで動作するソリューションを探しています。オフセットを見つける最も効率的な方法は何ですか?

現在の計画は、正常に返されるまですべてのバイトオフセットに対してfsckを実行することです。明らかに、これはリソース集約的で遅いですが、これを達成するためのより良いツールや方法を見つけるか見つけませんでした。

答え1

働かなければならない部分このために。パーティションを見つける必要があります。パーティションがない可能性がありますが、方法は同じです。存在しないパーティションを回復させることができます。これにより、ファイルシステムの場所が提供されます。その後、パーティションテーブルを削除できます。

関連情報