1

Команда shred (из coreutils 8.23) перезаписывает устройство с настраиваемыми данными от начала до конца, что идеально подходит для тех случаев использования, для которых оно разработано (все они связаны с записью чего-либо на законченное устройство).

В моем случае было бы достаточно сделать с x первыми байтами и y последними байтами устройства то, что shred все устройство, но мне кажется, что я не нахожу хорошего решения, позволяющего не указывать явное значение (размер устройства, так далее.). Я мог бы писать из произвольного источника в вычисляемую часть устройства с помощью dd , но затем мне нужно получить размер устройства, бороться с MiB и MB и т.д. Может быть, есть что-то такое же удобное, как shred (или я просто что-то упускаю ).

В основном информация, связанная с разделением (gpt, таблица разделов msdos и резервные копии), размещается в начале и в конце устройства.

1 ответ1

3

Вы уверены, что действительно хотите « wipefs - стереть подпись файловой системы с устройства »?


dd не так уж сложно использовать, особенно для получения правильных чисел из gparted или fdisk , см. ниже.

Метод целого диска работает, как в dd if=/dev/zero of=/dev/sdx . Возможно, с bs=1M чтобы увеличить скорость. Или замените /dev/zero на /dev /urandom` для более случайных данных. Как в « Безопасном стирании диска ArchWiki ».

Только для одного номера раздела "n", также известного как "sdxn", можно сделать dd if=/dev/zero of=/dev/sdxn

Только для "первых" n МБ вы можете сделать dd if=/dev/zero of=/dev/sdx bs=1M count=n

Что касается "начала" и "конца", вы можете узнать размер сектора сектора и общее количество секторов - gparted сообщает об этом легко, в разделе «Вид -> Информация об устройстве», и даже сообщает, где находятся начальный и конечный сектора раздела. , parted & fdisk (для MBR) тоже должен.

Затем используйте математические расчеты, чтобы выяснить, где стереть.

  • Крошечный (512b) точный способ - найти, какие сектора стереть. Если ваш диск имеет 512 байт секторов и имеет 251658240 секторов (это 120 ГБ, = 251658240 секторов * 512 байт / 1024, преобразуйте в k / 1024 в M / 1024 в G) ...

    • чтобы стереть последний 1G (гигабайт, G = 1024 * 1024 * 1024 байта), вы можете обозначить сектора в 1 ГБ (1GB / 512b = 1 * 1024 * 1024 * 1024/512 = 2097152), а затем вычесть это из общего числа секторов 251658240 - 2097152 = 249561088 и начать с этого сектора для этого множества секторов:
      dd if=/dev/zero of=/dev/sdx bs=512 seek=249561088 count=2097152

  • Вы можете конвертировать bs , seek и count чтобы использовать M (M = 1024 * 1024) вместо этого, если он слишком медленный - 512b за раз. Диск всегда начинается с 0, но заканчивается в 251658240 * 512/1024/1024 = 122880 в M.

    • Протрите последний 1G. В G 1024 M, поэтому пропустите 122880 - 1024 = 121856 M и выполните:
      dd if=/dev/zero of=/dev/sdx bs=1M seek=121856 count=1024

  • Гигиеническая грубая оценка, отлично работает там, где запись за "концом" не наносит ущерба (самый конец диска, не стирая средний раздел). Попробуйте 1G (G = 1024 * 1024 * 1024 байта) одновременно. Смотрите man dd для получения дополнительной информации, он понимает K, M, G, другие.

    • Последний G, dd if=/dev/zero of=/dev/sdx bs=1G seek=119 пропускающий count чтобы продолжать идти прямо до конца устройства.

Или, для более быстрого способа записи "случайных" данных на весь раздел / диск, вы можете использовать dm-crypt:

Сначала создайте временный зашифрованный контейнер в разделе (sdXY) или на полном диске (sdX), который вы хотите зашифровать, например, используя параметры по умолчанию

# cryptsetup open --type plain /dev/sdXY container

Во-вторых, проверьте это существует

# fdisk -l
Disk /dev/mapper/container: 1000 MB, 1000277504 bytes
...
Disk /dev/mapper/container does not contain a valid partition table

Наконец, протрите его псевдослучайными (зашифрованными данными), использование /dev /urandom не требуется, поскольку шифровальный шифр используется для случайности:

# dd if=/dev/zero of=/dev/mapper/container
dd: writing to ‘/dev/mapper/container’: No space left on device

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .