Jak mogę całkowicie usunąć wszystkie dane na karcie (micro) SD?

16

Właśnie dostałem kartę micro SD, której planuję używać z Raspberry Pi.

Użyłem menedżera partycji KDE, aby usunąć oryginalną partycję na karcie i napisać nową partycję ext4 12GiB. Po wykonaniu tej czynności karta nadal informuje, że zużywa 6%, 30,02 MiB.

Zasadniczo chcę całkowicie wyczyścić kartę ze wszystkich treści, aby przygotować ją na nowy system operacyjny. Czy polecenie polubi shredlub ddwykona lewę, czy też zniszczy partycję?

użytkownik3211355
źródło
Jestem stronniczy, ale jeśli chcesz mieć pełną kontrolę nad partycjami, nie używaj graficznego partycjonowania, użyj starego dobrego fdisk. (Chyba że nie możesz z powodu GPT lub innych ograniczeń technicznych.)
CijcoSistems
Przy okazji ... czy RaspberryPi obsługuje bezpośrednie ładowanie jądra z ext4? Pamiętam użycie FAT do wczesnego rozruchu (jądro, cmdline, konfiguracja SoC i podział pamięci), a następnie posiadanie systemu plików root na innej partycji (lub NFS, jeśli chcesz)
CijcoSistems
[Bezpiecznie wyczyść dysk - archlinux.org] „Czyszczenie dysku odbywa się poprzez zapisywanie nowych danych na każdym bicie”. wiki.archlinux.org/index.php/Securely_wipe_disk

Odpowiedzi:

24

Twoje zgadywanie ddjest słuszne. Możesz wyczyścić kartę SD, wykonując następujące polecenie (załóżmy, że twoja karta SD jest /dev/sdd):

Nie przerywaj tego polecenia, ponieważ może to spowodować uszkodzenie karty SD.

$ sudo dd if=/dev/zero of=/dev/sdd bs=8192

Uwaga: jeśli to polecenie nie zakończy się pomyślnie i musisz je przerwać, najprawdopodobniej można je odzyskać za pomocą programów do odzyskiwania partycji dysku opisanych w innych postach.

Może to zająć trochę czasu, w zależności od rozmiaru i szybkości karty SD. Jeśli jesteś przekonany, że CIA chce odzyskać twoje pliki, a następnie zastąp kartę SD urandomzamiast zero:

$ sudo dd if=/dev/urandom of=/dev/sdd bs=8192

ddpolecenie z powyższych przykładów usunie całą kartę SD, pozostawiając ją bez żadnych partycji, nawet bez tablicy partycji. Musisz więc ponownie utworzyć partycję na karcie SD. Można to zrobić przez dowolne narzędzie do partycjonowania jak cfdisk, parted(moje zalecenie) lub gparted.

I jeszcze jedno: zachowaj szczególną ostrożność podczas wykonywania ddpoleceń . Literówka w of=wartości argumentu może spowodować katastrofę.

david6
źródło
2
Jeśli martwisz się CIA, powinieneś używać /dev/randomi robić to tak jak 5 do 10 razy ... nie wspominając, że powinieneś również spalić go w piekarniku, zapalić się i zakopać głęboko w oceanie: P
CijcoSistems
3
@CijcoSistems: Sugestia podpalenia, podpalenia lub zakopania może zadziałać. Jednak metoda zapisu losowych danych (5 do 10 razy) NIE.
david6
1
@ david6 Czy możesz wyjaśnić, dlaczego wielokrotne zapisywanie danych przez nadpisywanie może nie działać?
Denis,
7
Współczesna nieulotna pamięć półprzewodnikowa wykorzystuje poziomowanie zużycia, aby zatrzymać powtarzające się odczytywanie / zapisywanie, nadużywając jakiejkolwiek części pamięci. (Patrz: searchsolidstatestorage.techtarget.com/definition/wear-leveling ) Oznacza to, że dane zapisywane z zamiarem „nadpisania” mogą być zapisane gdzie indziej. Oznacza to również, że prawdziwa pojemność pamięci jest kilka 100 razy większa niż podana, aby umożliwić ciągłą realokację. Jak zauważono w mojej odpowiedzi, należy wywołać funkcję bezpiecznego usuwania przez producenta , aby ominąć wszelkie efekty „wyrównania zużycia”.
david6,
1
Nie sądzę, że poziomowanie zużycia jest problemem, gdy całkowicie wypełniasz dysk zerami. Prawdziwym problemem byłyby złe sektory odpadające i nie nadpisywane.
HilarieAK
4

Jeśli właśnie utworzyłeś nową partycję, nie powinno być na niej żadnych rzeczywistych plików. Te 30 MB to prawdopodobnie sam system plików. Partycja potrzebuje kilku różnych tabel i co więcej, aby faktycznie śledzić pliki.

Możesz ls -alphdokładnie sprawdzić, czy naprawdę nic na nim nie ma, szukając ukrytych plików za pomocą wiersza poleceń lub włączając ukryte pliki w menu „Widok” Nautilusa.

W zależności od tego, w jaki sposób wywołujesz polecenia, prawdopodobne jest, że użycie shredlub ddrzeczywiście nadpisze tablicę partycji i / lub system plików.

TheSchwa
źródło
4

Co próbujesz osiągnąć?


(A.) Usuń wszystkie bieżące partycje, aby ponownie użyć karty:

Aby usunąć partycje i / lub ponownie sformatować kartę (micro) SD, po prostu użyj narzędzia gnome-disk-utility (aka „Dyski”).

LUB

(B.) Usuń wszelkie bieżące (lub poprzednie) treści z karty, aby NIE można było ich odzyskać:

Aby bezpiecznie wymazać kartę, musisz ZEJDŹ fizycznie zniszczyć kartę (renderować w cząstki poniżej 2 mm²) LUB użyć narzędzia (od dostawcy) w celu uruchomienia funkcji bezpiecznego wymazywania .

Wielokrotne zapisy (losowych danych) lub przeformatowanie niekoniecznie usunie dane.

david6
źródło
Do sfilltego celu można użyć narzędzia. Zobacz superuser.com/questions/319262/...
Jim Garrison
1
@Jim Garrison : To nie dotyczy wyrównywania zużycia (patrz mój wcześniejszy komentarz) i ponownego mapowania bloków danych, wykonanego przez wbudowany kontroler pamięci flash. Te dane są nadal potencjalnie możliwe do odzyskania.
david6,
2

Możesz zniszczyć pliki przed ich usunięciem:

find /media/user/SD32/ -type f -exec shred -v -f -n0 -z -u   {} \;

shred params oznaczają: Pełne, wymuszające usuwanie plików, których nie można zapisać, nie zapisuj losowych bajtów (przyspiesza), pisz zera (znacznie szybciej), obcinaj i usuwaj plik po zapisaniu zer.

Pozwoli to pozbyć się danych w taki sposób, że nie zostaną one odzyskane przez aplikacje takie jak photorec.

Zobacz /unix/27027/how-do-i-recursively-shred-an-entire-directory-tree

Ondra Žižka
źródło
1
Niestety nie będzie to działać na kartach SD. Jeśli nadpisujesz na nich plik, piszesz do innych sektorów SD. Aby więc być skutecznym, należy pisać na całej karcie SD, jak w odpowiedzi.
luca76,