@Oli - cześć, jestem Jim Salter, facet, który napisał ten artykuł. Pracowałem z maszyną wirtualną, co upraszczało sprawę. Zacząłem od pliku JPEG i otworzyłem go w edytorze szesnastkowym. Tym, którego użyłem, był Bless, który możesz zainstalować w Ubuntu za pomocą zwykłego blessa instalacyjnego apt-get .
Po otwarciu pliku JPEG w programie Bless kilka razy przewróciłem stronę w dół, aby dobrze zagłębić się w „mięso” pliku JPEG, a następnie podświetliłem dane o wartości około pięćdziesięciu bajtów, skopiowałem je i wkleiłem w edytorze tekstu (w moim sprawa, gEdit). To dało mi coś do wyszukiwania.
Teraz zapisałem JPEG w każdej tablicy na maszynie wirtualnej. Za tablicami znajdowała się seria plików .qcow2. Kiedy już zapisałem JPEG w tablicach, mogłem załadować pliki .qcow2 związane z każdą tablicą do Bless i przeszukać je - nie były bardzo duże, nie były niczym innym jak JPEG i metadanymi - dla tego pięćdziesięciobajtowego wzorca Podkreśliłem i skopiowałem z JPEG. Voila, miałem blok do zepsucia! W tym momencie mogłem po prostu ręcznie edytować poszczególne bajty JPEG zapisane na dysku wirtualnym maszyny wirtualnej za pomocą Bless - i, co ważne, zrobić to w dokładnie taki sam sposób dla każdej tablicy.
Jedynym zmarszczeniem jest to, że w przypadku testowanej w artykule macierzy RAID5 musiałem upewnić się, że edytowałem rzeczywistą kopię danych w pasku, a nie parzystość dla samego paska - był to mały obraz na w przeciwnym razie pusta tablica, więc w bloku FOLLOWING w pasku nie było żadnych danych, dzięki czemu blok parzystości zawiera dane niezmienione z bloku danych. Gdybym przypadkowo edytował blok parzystości zamiast bloku danych, obraz byłby wyświetlany jako niezmieniony.
Ostatnia uwaga - nie potrzebujesz do tego maszyn wirtualnych - możesz robić te same rzeczy w ten sam sposób z gołym metalem; byłoby to bardziej kłopotliwe w tyłku, ponieważ musiałbyś pracować z całymi surowymi dyskami zamiast z ładnymi małymi plikami .qcow2, i musiałbyś albo wyciągnąć dyski i umieścić je na innej maszynie, lub uruchom się w środowisku na żywo (lub po prostu innym), aby z nimi zadzierać. (Testowałem uzdrawianie danych ZFS właśnie w ten sposób, ale na prawdziwych maszynach bez systemu metalowego, 7 lat temu, kiedy po raz pierwszy zainteresowałem się systemami plików nowej generacji.)
Mam nadzieję że to pomoże!