Як я можу повністю стерти всі дані на (мікро) SD-картці?


16

Щойно я отримав мікро SD карту, яку я планую використовувати з Raspberry Pi.

Я використовував диспетчер розділів KDE, щоб видалити оригінальний розділ на картці та написати новий розділ 12GiB ext4. Після цього на картці все ще йдеться про те, що використовується 6%, 30,02 МБ.

В основному, я хочу повністю витерти з картки весь вміст, щоб підготувати його до нової ОС. Чи могла б команда сподобатися shredчи ddвиконати трюк, чи знищила б також розділ?


Я упереджений, але якщо ви хочете повного контролю над розділами, не використовуйте графічний розподіл, використовуйте старий добрий fdisk. (Якщо ви не можете через GPT або інші технічні обмеження.)
CijcoSistems

До речі ... чи підтримує RaspberryPi завантаження ядра з ext4 безпосередньо? Я пам’ятаю, що використовував FAT для процесу раннього завантаження (ядро, cmdline, конфігурація SoC та розділення пам’яті), а потім мати кореневу файлову систему на іншому розділі (або NFS, якщо хочете)
CijcoSistems

[Безпечно витріть диск - archlinux.org] "Протирення диска здійснюється за допомогою запису нових даних у кожний окремий біт." wiki.archlinux.org/index.php/Securely_wipe_disk

Відповіді:


24

Ваші здогадки про ddце правильно. Ви можете видалити SD-карту за допомогою наступної команди (припустимо, що ваша SD-карта /dev/sdd):

Не переривайте цю команду, інакше це може зашкодити SD-карту.

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

Примітка. Якщо ця команда не завершилася успішно, і вам доведеться її скасувати, то, швидше за все, її можна відновити за допомогою програм відновлення розділів диска, розміщених в інших публікаціях.

Це може зайняти деякий час, залежно від розміру та швидкості SD-карти. Якщо ви впевнені, що ЦРУ хоче відновити ваші файли, замініть SD-картку urandomзамість zero:

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

ddкоманда з наведених вище прикладів видалить всю SD-карту, залишивши її без жодних розділів, навіть без таблиці розділів. Тому вам потрібно буде відтворити розділ на SD-картці. Ви можете зробити це з допомогою будь-якого розбиття інструменту як cfdisk, parted(моя рекомендація) або gparted.

І ще одне: бути надзвичайно обережним при виклику ddкоманди . Опечатка в of=аргументі значення може спричинити катастрофу.


2
Якщо ви переживаєте за ЦРУ, вам слід користуватися /dev/randomта робити це як 5 - 10 разів ... не кажучи вже про те, що ви також повинні спалити його в духовці, підпалити і спалити глибоко в океані: P
CijcoSistems

3
@CijcoSistems: Пропозиція спалювати, запалювати чи закопувати може спрацювати. Однак метод запису випадкових даних (від 5 до 10 разів) НЕ буде.
david6

1
@ david6 Чи можете ви пояснити, чому записування даних багато разів через перезапис може не працювати?
Денис

7
Сучасна енергонезалежна пам'ять твердотільного типу використовує вирівнювання зносу, щоб зупинити повторне читання / запис, використовуючи будь-який конкретний розділ пам'яті. (Див.: Searchsolidstatestorage.techtarget.com/definition/wear-leveling ) Це означає, що дані, що мають намір перезаписати, насправді можуть бути збережені в іншому місці. Це також означає, що справжня ємність пам'яті в кілька разів більше, ніж заявлено, що дозволяє здійснювати перерозподіл. Як було зазначено у моїй відповіді, ви повинні задіяти функцію захисного стирання виробника , щоб обійти будь-які ефекти «вирівнювання зносу».
david6

1
Я не думаю, що вирівнювання зносу не є проблемою, коли ви повністю заповнюєте привід нулями. Справжньою проблемою було б погані сектори, що випадають і не переписуються.
HilarieAK

4

Якщо ви тільки що зробили новий розділ, на ньому не повинно бути фактичних файлів. Ці 30 Мб - це, мабуть, лише сама файлова система. Розділу потрібно кілька різних таблиць і нічого, щоб насправді відслідковувати файли.

Ви можете переконатись, що на ній насправді нічого немає, шукаючи приховані файли з ls -alphкомандного рядка або вмикаючи приховані файли в меню «Вид» Nautilus.

Залежно від того, як саме ви викликаєте команди, цілком імовірно, що використовуєте shredабо ddдійсно перезапишете таблицю розділів та / або файлову систему.


4

Чого ви намагаєтесь досягти?


(A.) Видаліть усі поточні розділи, щоб повторно використовувати карту:

Щоб стерти розділи та / або переформатувати (мікро) SD-карту, просто використовуйте утиліту gnome-disk (також "Диски").

АБО

(B.) Стерти будь-який поточний (або попередній) вміст на картці, щоб його неможливо відновити:

Щоб надійно стерти карту, вам потрібно ВСІСТЬ фізично знищити карту (перетворити на частки розміром 2 мм²) АБО використовувати утиліту (від постачальника), щоб запустити функцію безпечного стирання .

Кілька записів (випадкових даних) або переформатування НЕ обов'язково видалять дані.


Для цього sfillможна використовувати інструмент. Дивіться superuser.com/questions/319262/…
Джим Гаррісон

1
@ Джим Гаррісон : Це стосується не рівня рівня зносу (див. Мій попередній коментар), а повторного відображення блоків даних, зробленого вбудованим контролером флеш-пам'яті. Ці дані все ще можуть бути відновлені.
david6


2

Ви можете подрібнити файли перед їх видаленням:

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

shred парами означають: багатослівне, примусове видалення файлів, що не записуються, не записуйте випадкові байти (прискорює), записуйте нулі (набагато швидше), усікайте та видаляйте файл після написання нулів.

Це дозволить позбутися даних таким чином, щоб вони не були відновлені такими додатками photorec.

Дивіться /unix/27027/how-do-i-recursively-shred-an-entire-directory-tree


1
На жаль, це не працюватиме на картах SD. Якщо ви перезаписуєте файл на них, ви надсилаєте запитання в інші сектори SD. Отже, щоб бути ефективними, слід писати на всій SD-карті, як у відповіді.
luca76
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.