Кілька можливостей:
Linux підтримує безліч різних типів таблиць розділів, деякі з яких використовують дуже мало магічних байтів, і тоді легко визначити випадкові дані (*) [так що можливо випадковим чином генерувати дещо "дійсну" таблицю розділів].
Деякі типи таблиць розділів також мають резервні копії в кінці диска (особливо це стосується GPT), і їх можна було взяти, якщо початок диску буде замінено випадковим сміттям.
Пристрій не працює належним чином, і його було відключено до того, як він закінчив записувати дані або не повертає старі дані, тому таблиця розділів зберігається. Іноді це відбувається з USB-накопичувачами.
...
(*) Створіть 1000 файлів із випадковими даними і подивіться, що виходить:
$ truncate -s 8K {0001..1000}
$ shred -n 1 {0001..1000}
$ file -s {0001..1000} | grep -v data
0099: COM executable for DOS
0300: DOS executable (COM)
0302: TTComp archive, binary, 4K dictionary
0389: Dyalog APL component file 64-bit level 1 journaled checksummed version 192.192
0407: COM executable for DOS
0475: PGP\011Secret Sub-key -
....
Мета випадкового подрібнення накопичувача - змусити старі дані назавжди зникнути. Немає обіцянок, що згодом накопичувач виявиться порожнім, невикористаним та незайманим.
Для цього звичайно слідкувати за нульовим режимом. Якщо ви використовуєте LVM, нормально для LVM нульове спочатку кілька секторів будь-якого створеного НН, так що старі дані не заважатимуть.
Існує також спеціальна утиліта ( wipefs
) для позбавлення від старих магічних байтових підписів, за допомогою яких можна позбутися метаданих файлової системи та розділів.
dd
б це призвело до розбиття розділів, особливо якщо команда призначена для видалення дисків?