Straszniej niż format c:
ware ::: 2023-11-27 ::: 640 słów ::: #836
Kilka tygodni temu kupiłem dziesięcioletniego Thinkpada T430s i zainstalowałem na nim FreeBSD! Powyższe zdanie zdecydowanie zasługuje na rozwinięcie w osobnej notce, lecz na razie chciałem opowiedzieć o losie starego dysku.
Funkcję mojego domowego laptopa piastował przez ostatnie lata Lenovo IdeaPad z 2016 r. Przez pewien czas wydawał się szybki i nowoczesny – pamiętam, że kiedyś nawet skomplementował go goszczący u mnie Arek – ale potem zaczął mrugać ekranem. Migotanie dawało się co prawda uspokoić manipulując kątem nachylenia klapy monitora, jednak mój szacunek do linii IdeaPad skurczył się z dnia na dzień. Okres gwarancji właśnie upłynął, a ja dysponowałem lepszym gabarytowo laptopem z pracy. Lenovo zostało odstawione na „tylną półkę”.
Thinkpad T430s (z FreeBSD!) przejął kilka tygodni temu wakat komputera prywatnego. Lenovo postanowiłem się zatem pozbyć, żeby krzemowy grat nie zalegał dłużej w pieleszach. Z utylizacją nie było najmniejszego problemu, ponieważ w Norwegii wszystkie sklepy sprzedające elektronikę posiadają obowiązek nieodpłatnego przyjmowania zużytego hardware’u. Ale jaka jest najpewniejsza metoda ne nieodwracalne skasowanie zawartości twardego dysku? Ktoś na forum (FreeBSD!) podsunął pomysł, żebym nie wyrzucał, tylko wymontował, włożył do pudełka z przelotką SATA-USB i stał się tym samym dumnym posiadaczem dwuipółcalowego pendrajwa o pojemności 128 GB1.
Część techniczna powyższego przedsięwzięcia okazała się banalna, gdyż SSD znajdował się na samym wierzchu wnętrzności Lenovo i nie był przyspawany. Sklep elektrotechniczny posiadał zaś na stanie odpowiednie pudełko z przejściówką (i chciał za nie mniej niż za zwyczajny pendrajw o pojemności 128 GB, więc projekt skleił się finansowo). Pozostał mi etap software’owy.
Podłączyłem twardziela do USB i przy pomocy dmesg
ustaliłem, że jądro systemu rozpoznało urządzenie jako
/dev/sda
. Wstukałem lsblk
, komendę służącą
do wyświetlenia nośników blokowych, aby potwierdzić położenie dysku w
strukturze systemu. Na liście żadne sda
się jednak nie
pojawiło. Spróbowałem ponownie. Tym razem było. Jeszcze raz. Nie
było. Zdziwiony wklepałem dmesg
po raz wtóry i
przeczytałem, że jądro poci się przy moim nowym pudełku i co rusz
próbuje je podłączyć na nowo. Bez większej nadziei przepiąłem
urządzenie do drugiego portu USB. Wszystko się, o dziwo,
ustabilizowało. Dowiedziałem się tym pokrętnym sposobem, że porty USB
w moim komputerze bynajnmiej nie działają identycznie…
Potem poszło już szybko. Najpierw przejechałem po całym dysku
narzędziem dd
(skrót od data definition, nie od disk
duplicate), aby upewnić się, że nie ma na nim popsutych sektorów:
dd if=/dev/sda of=/dev/null bs=1M
Zawartość całego dysku została pobrana (if
) bit po bicie,
a następnie wyrzucona (of
) w otchłań reprezentowaną przez
systemową czarną dziurę (/dev/null
) w jednomegabajtowych
porcjach (bs=1M
). Gdyby w którymś miejscu urządzenie
sprawiło kłopot, „dedek” niezwłocznie by mnie o tym poinformował. Cały
proces przebiegł jednak nudno, czyli bezbłędnie.
Potem zamieniłem if
oraz of
miejscami
redukując twardy dysk do stanu prenatalnego:
dd if=/dev/null of=/dev/sda bs=1M
Następnie komendami fdisk
i mkfs.fat
ustawiłem pojedynczą partycję i położyłem na niej system plików typu
FAT. Dlaczego tylko jedną i dlaczego coś tak przestarzałego jak
GRUBY2? Ano, bo dysk ma odtąd służyć jako prymitywny pendrajw,
więc dodatkowe partycje nie są potrzebne, natomiast FAT zagwarantuje,
że będą rozumiały go wszystkie OS-y. Potem tylko fatlabel
celem udekorowania nośnika zwięzłą wewnętrzną nazwą i gotowe.
Na zakończenie wspomnę, że przeżywam fascynację zagadnieniem systemu plików. Skatalizował ją fenomenalny ZFS, z którego tajnikami musiałem pobieżnie się zapoznać instalując FreeBSD. Rozprawa ze starym twardym dyskiem skłoniła mnie do kolejnych przemyśleń: Co dokładnie dzieje się na nośniku (w sensie informacyjnym) podczas partycjonowania i kładzenia systemu plików?
Jeżeli wyczyszczony do cna dysk zawiera bardzo długi ciąg binarnych
zer, to czy fdisk
tworzy gdzieś na początku owego ciągu
tabelę partycji, a mkfs
wydziela potem sobie z każdej
partycji niewielki obszar na plikowe metadane? Innymi słowy, czy po
kombinacji fdisk
+ mkfs
99% dysku nadal
stanowią zera, czy też raczej całość ulega gruntownemu przekształceniu
w skomplikowaną binarną strukturę? Wiecie? Opowiedzcie!
Komentarze
Borys (2023-11-29 14:41:08)
W poszukiwaniu odpowiedzi na końcowe pytanie zajrzałem do dysku (w dysk?) zgrabnym programem o nazwie wxHexEditor. Potwierdził hipotezę biliona zer: ostatni niezerowy bajt znajduje się na samym początku dysku, gdzieś w okolicy offsetu nr. 1000. Cała reszta wygląda jak zarobki polskiego nauczyciela.
Arek (2023-12-06 11:15:10)
Nie myślałeś o tym, aby do wpisów dołączać zdjęcia jakiś dziewcząt?
To ciekawe, że nie zajechałeś swojego laptopa: u mnie padają jakoś bardziej hardwarowo. W Asusie zepsuł mi się port ładowania; w Lenovo matryca, w Samsunga też chyba matryca - choć najpierw padł dysk twardy i czekałem 6 miesięcy na znalezienie innego - ale ostatecznie chyba działa tylko został wysłany na strych. Zobaczymy, jak długo wytrzyma obecny HP i Dell, którego żona używa do pracy.
Arek (2023-12-06 11:16:14)
No i co, napisałem komentarz i go nie ma? Co to za strona w ogóle jest?
Borys (2023-12-06 15:26:02)
Kolego, moja strona jest sprawna niczym armia polska w sierpniu 1939 r. Dodawszy komentarz musisz zrobić twarde odświeżenie strony (Ctrl-Shift-R zamiast Ctrl-R, ewentualnie Ctrl-F5 zamiast F5). Pomyliłeś chyba blogi. Ten tutaj jest dla hakierów, nie dla klakierów.
Arek (2023-12-19 13:53:04)
Faken :(
SpeX (2024-02-29 06:49:13)
Czemu FAT a nie exFAT, w obecznych czasem z FAT może być problem z większymi plikami np. video media.
Borys (2024-02-29 10:43:49)
Najprostsza i w zasadzie jedyna odpowiedź jest taka, że wiem wciąż za mało o systemach plików, żeby wybierać optymalne do własnych potrzeb. Rezultaty są losowe i zróżnicowane. Na dysku twardym z powyższej notki mam więc starego FAT, na dwóch innych dyskach backupowych NTFS (bo tak je sformatowano w fabryce), na komputerze z Fedorą mam EXT4, o którym nic nie wiem, a na komputerze domowym z FreeBSD mam ZFS, o którym trochę czytałem i jest super, ale w gruncie rzeczy oferuje zdecydowanie za dużo jak na moje potrzeby.
Chciałbym podciągnąć się w temacie, ale o dziwo trudno znaleźć książkę lub tutorial, która omawia efesy w sposób wprowadzający i ogólny (w przeciwieństwie do technicznych artykułów poświęconych konkretnemu systemowi).
Za podpowiedź, że mogłem przecież użyć exFAT – dzięki. Skorzystam. Niemniej, jako linuksiarz zawsze mogę splitnąć a potem catnąć plik większy niż 4GB. Oczywiście, wtedy nie obejrzę filmu bezpośrednio z dysku... ale jeszcze nigdy nie miałem takiej potrzeby.
SpeX (2024-03-31 08:13:20)
Nie martw się, ja tez nic nie wiem :D, a w szczególności o linuksowych systemach plików. A o ograniczeniach FAT32 do 4 GB pamiętam z informatyki w szkole średniej lub gimnazjum.