@Oli-こんにちは、私は実際にその記事を書いたジム・ソルターです。私は仮想マシンで作業していたので、物事が簡単になりました。私がやったことは、JPEGファイルで開始し、16進エディターでそれを開いた。私が使用したのはBlessで、これは単純なapt-get install blessでUbuntuにインストールできます。
BlessでJPEGを開いた後、ページを数回押し下げてJPEGの「肉」にうまく入り込み、約50バイト分のデータを強調表示して、テキストエディターにコピーアンドペーストしました(私のケース、gEdit)。これは私に何かを探してくれました。
ここで、VMの各アレイにJPEGを保存しました。アレイの背後のストレージは、一連の.qcow2ファイルでした。JPEGをアレイに保存したら、各アレイに関連付けられた.qcow2ファイルをBlessにロードし、それらを検索できます-それらは50バイトパターンのJPEGといくつかのメタデータ以外の非常に大きくはありませんでした強調表示してJPEGからコピーしました。出来上がり、私はブロックが破損しました!この時点で、Blessを使用してVMの仮想ディスクに保存されているJPEGの個々のバイトを手動で編集できました。そして、重要なこととして、まったく同じ方法で編集できました。各アレイ。
唯一の欠点は、記事でテストしたRAID5アレイの場合、ストライプ自体のパリティではなく、ストライプ内のデータの実際のコピーを編集することを確認する必要があったということです。それ以外の場合は空の配列であるため、ストライプのFOLLOWINGブロックにはデータがなく、パリティブロックにはデータブロックから変更されていないデータが含まれます。データブロックではなくパリティブロックを誤って編集した場合、イメージは変更されていないように見えます。
最後の注意点-これを行うために仮想マシンを必要としない-ベアメタルで同じことを同じ方法で行うことができます。素敵な小さな.qcow2ファイルではなくrawドライブ全体で作業する必要があり、ドライブを引き出して別のマシンに配置する必要があるため、お尻が痛くなるだけです。ライブ(または単なる代替)環境を起動して、それらをいじります。(私はZFSのデータヒーリングをまさにこの方法でテストしましたが、実際のベアメタルマシンでは、7年ほど前に初めて次世代のファイルシステムに興味を持ちました。)
お役に立てれば!