Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dwipe — Инструмент для безопасного и эффективного стирания устройств и разделов в Linux | Kitploit
Инструменты/GitHubGitHub/joedefen/dwipe
Утилиты общего назначенияИнструменты шифрования/дешифрованияФорензикаВосстановление ДанныхАппаратная БезопасностьУтилиты и фреймворки
GitHubjoedefen/dwipe

dwipe

Инструмент для безопасного и эффективного стирания устройств и разделов в Linux

Репозиторий
164106 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

dwipe

dwipe — это инструмент для затирания дисков и разделов в Linux, помогающий обезопасить ваши данные. dwipe стремится уменьшить количество ошибок, предоставляя исчерпывающую информацию о ваших устройствах во время выбора.

Демонстрация dwipe

Краткое сравнение

Функцияdwipenwipeshreddd
Аппаратное затирание (SATA/NVMe secure erase)✓✗✗✗
Программное затирание (нули, псевдослучайные данные)✓✓✓✗
Интерактивный TUI✓✓✗✗
Несколько одновременных затираний✓✗✗✗
Сохранение состояния затирания✓✗✗✗
Обнаружение / извлечение горячей замены✓✗✗✗
Блокировка устройства/раздела✓✗✗✗
Возобновление прерванных программных затираний✓✗✗✗
Журналирование операций затирания✓✗✗✗
Обнаружение/предотвращение монтирования✓✓✗✗
Быстрая статистическая выборочная проверка✓✗✗✗
Сертифицированное уничтожение (стандарты DoD/Gutmann, полная проверка, сертификаты)✗✓✗✗
  • Аппаратное затирание (SATA/NVMe) — самое полное и быстрое: Аппаратно-ускоренное стирание выполняется на уровне контроллера (секунды–минуты), очищает все таблицы отображения диска, но требует затирания всего устройства без отчёта о прогрессе или видимой проверки.
  • Программное затирание одним проходом нулями достаточно: Современные диски (после 2001 г.) надёжно затираются одним проходом нулей (NIST SP 800-88). Многопроходные режимы доступны для дополнительной уверенности, но не дают дополнительных гарантий безопасности.
  • Проверка использует интеллектуальную статистическую выборку: Даже 1% проверочных выборок по всему диску через 100 секций обеспечивает всестороннее покрытие без полного последовательного чтения.

Ключевые возможности

  • Интерактивный TUI с обнаружением горячей замены — Обновление списка устройств в реальном времени при изменении накопителей, вновь добавленные устройства отмечаются символом ^
  • Аппаратно-ускоренное затирание встроенными средствами — Полная поддержка операций безопасного стирания на уровне прошивки (NVMe Sanitize/Format, SATA ATA Security Erase), которые выполняются за секунды–минуты вместо часов
  • Несколько одновременных затираний — Запуск затираний на нескольких устройствах одновременно с индивидуальным отслеживанием прогресса и состояния завершения
  • Отслеживание постоянного состояния — Статус затирания сохраняется после перезагрузки; частично затёртые и завершённые состояния сохраняются на устройстве (можно возобновить затирание после отключения питания)
  • Умная идентификация устройств — Использование UUID/PARTUUID/серийных номеров для стабильного отслеживания устройств после переподключения
  • Защитные механизмы — Предотвращение затирания смонтированных устройств, обнаружение пересекающихся затираний, поддержка блокировки устройств, встроенные запросы подтверждения
  • Интеллектуальная проверка со статистической выборкой — Быстрая проверка, охватывающая весь диск даже при низком проценте (1% выборки из всех 100 секций диска)
  • Прямой ввод/вывод на диск — Быстрое и эффективное затирание без загрязнения страничного кэша, с автоматическим обнаружением замедлений/зависаний и корректным прерыванием
  • Несколько цветовых тем — Цветовые темы терминала, разработанные для читаемости, с контекстно-зависимой визуальной обратной связью (смонтированные устройства затемнены, активные затирания яркие)
  • История затираний с журналированием — Подробный просмотр истории затираний с отметками времени, файловыми системами, метками и процентами завершения с постоянной записью

Требования

  • Операционная система Linux (использует интерфейсы /dev/, /sys/, /proc/)
  • Python 3.10 или выше
  • Права root/sudo (запрашиваются автоматически при запуске инструмента)
  • Утилита lsblk (обычно предустановлена в большинстве дистрибутивов Linux)
  • nvme-cli — Для операций NVMe (обнаружение Sanitize/Format)
  • hdparm — Для операций SATA (обнаружение ATA Security Erase)

Опционально (для копирования в буфер обмена на экране истории):

  • xclip или xsel — Для буфера обмена X11 (apt install xclip или xsel)
  • wl-clipboard — Для буфера обмена Wayland (apt install wl-clipboard)
  • В SSH-сессиях используется управляющая последовательность терминала OSC 52 (дополнительные пакеты не нужны)

Установка

  • Рекомендуемый способ (через pipx): pipx install dwipe
  • Проверка установки: dwipe --help
  • Удаление: pipx uninstall dwipe

Быстрый старт (пожалуйста, ПРОЧТИТЕ ЭТО, хотя бы)

  1. Установите dwipe
  2. Запустите dwipe из терминала (sudo будет запрошен автоматически)
  3. Обратите внимание на контекстно-зависимую справку в первой строке
  4. Навигация с помощью клавиш со стрелками или клавиш, как в vi (j/k)
  5. Нажмите ? для полного экрана справки
  6. Когда вы нажмёте w для затирания диска, необходимо ввести аббревиатуру (например, Rand, Zero, Crypto); варианты затирания представлены от наименее рекомендуемого к наиболее рекомендуемому, последний отмечен *. Обычно выбирайте последний вариант, но ...
  7. Диски и ОС часто лгут о типе диска. Перехитрите их обоих:
    • Для вращающихся HDD всегда используйте Rand или Zero (прерываемо, показывает прогресс).
    • Для SSD всегда используйте аппаратное затирание, если оно доступно (быстрее, достигает скрытых блоков).
  8. Если диск 'Frozen', ненадолго приостановите работу системы и возобновите; dwipe автоматически обнаружит возобновление и выполнит повторное сканирование. Или нажмите для ручного повторного сканирования. Диск должен разморозиться.

Возможности

dwipe предоставляет комплексные возможности затирания дисков с функциями безопасности:

  • Умное отображение устройств — Показывает диски и разделы с метками, размерами, типами и информацией о поставщике/модели для правильной идентификации устройств
  • Защитные механизмы — Предотвращение затирания смонтированных устройств, обнаружение пересекающихся затираний, поддержка ручной блокировки дисков
  • Обнаружение горячей замены — Обновляет список устройств при изменении накопителей; вновь добавленные устройства отмечаются символом ^ для лёгкого обнаружения
  • Несколько одновременных затираний — Запуск затираний на нескольких устройствах одновременно с индивидуальным отслеживанием прогресса и состояния завершения
  • Гибкие режимы затирания — Выбор между Rand, Zero, Rand+V (с автоматической проверкой) или Zero+V (с автоматической проверкой)
  • Фильтрация устройств — Фильтрация устройств по имени/шаблону с помощью регулярных выражений, если на одном экране слишком много
  • Возможность остановки — Остановка отдельных затираний или всех затираний в процессе
  • Блокировка дисков — Ручная блокировка дисков для предотвращения случайного затирания (блокировка скрывает все разделы)

Примечание: dwipe показывает метки файловых систем, а если их нет — метки разделов. Рекомендуется правильно именовать разделы и файловые системы для упрощения выбора.

Использование

Просто запустите dwipe из командной строки без аргументов: dwipe

Параметры командной строки

Примечание: Все опции предпочтений по умолчанию используют последние сохранённые значения. Эти значения по умолчанию показаны в --help и могут быть изменены интерактивно с помощью сочетаний клавиш. Параметры командной строки переопределяют сохранённые предпочтения.

Конфигурация затирания

  • --mode {-V,+V} — Режим проверки (по умолчанию: ваше последнее предпочтение)
    • -V — Затирание без автоматической проверки
    • +V — Проверить устройство после завершения затирания
  • --passes {1,2,4} — Количество проходов для программного затирания (по умолчанию: ваше последнее предпочтение)
    • Один проход (1) является стандартным для большинства случаев
    • Многопроходные режимы (2 или 4) чередуют нулевые и случайные шаблоны
  • --verify-pct {1,3,10,30,100} — Процент проверки (по умолчанию: ваше последнее предпочтение)
    • Процент диска для проверки после затирания (1% = быстрая выборочная проверка, 100% = полная проверка)

Отображение и производительность

  • --dense {True,False} — Компактный режим просмотра (по умолчанию: ваше последнее предпочтение)
    • True — Компактное расположение (меньше пустых строк между дисками)
    • False — Разреженное расположение (пустые строки между дисками для читаемости)
  • --port-serial {Auto,On,Off} — Отображение порта/серийного номера диска (по умолчанию: ваше последнее предпочтение)
    • Auto — Показывать порт/серийный номер только для целых дисков (рекомендуется)
    • On — Всегда показывать порт и серийный номер
    • Off — Никогда не показывать порт и серийный номер

Настройка обработки дисков

  • --slowdown-stop {0,4,16,64,256} — Остановить, если диск замедляется (по умолчанию: ваше последнее предпочтение, миллисекунды)
    • 0 = Отключено
    • Другие значения = Интервал проверки в миллисекундах для обнаружения снижения производительности
  • --stall-timeout {0,60,120,300,600} — Тайм-аут зависания в секундах (по умолчанию: ваше последнее предпочтение)
    • 0 = Отключено (никогда не завершать по тайм-ауту)
    • Другие значения = Остановить затирание, если нет прогресса передачи данных в течение этого количества секунд

Расширенные параметры

  • --firmware-wipes или -F — Включить аппаратное затирание
    • Включает операции безопасного стирания на уровне оборудования (NVMe Sanitize/Format, SATA ATA Security Erase)
    • Без этого флага доступны только программные затирания (Zero/Rand)
  • --dump-lsblk — Вывести разобранную информацию об устройстве и выйти (для отладки)
  • --help — Показать справку со всеми доступными параметрами

Цветовая легенда

dwipe использует цветовое кодирование для мгновенной визуальной обратной связи о состоянии устройства и операции:

  • Тусклый (серый) — Смонтированные или заблокированные устройства (не могут быть затёрты)
  • Обычный (белый) — Готов к затиранию, состояние ожидания или ранее затёрто (до этой сессии)
  • Яркий голубой/синий + полужирный — Активное затирание или проверка в процессе (0-100% запись, v0-v100% проверка)
  • Полужирный жёлтый — Остановленное или частично завершённое затирание
  • Полужирный зелёный — ✅ Успешно завершённое затирание в ЭТОЙ сессии (готов к замене!)
  • Более тусклый зелёный — ✅ Успешно завершённое затирание в предыдущей сессии .
  • Полужирный оранжевый — Недавно вставленное (горячая замена) устройство
  • Полужирный красный — Запросы на опасные операции (подтверждение затирания)

Цветовые темы

dwipe поддерживает несколько цветовых тем для улучшения видимости и эстетики.

Доступные темы:

  • default — Стандарт терминала (базовые цвета ANSI)
  • dark-mono — Тёмная монохромная (почти белый на почти чёрном с яркими цветами)
  • light-mono — Светлая монохромная (почти чёрный на почти белом с яркими цветами)
  • solarized-dark — Палитра Solarized Dark
  • solarized-light — Палитра Solarized Light (для светлого фона терминала)
  • gruvbox — Палитра Gruvbox Dark
  • nord — Палитра Nord

Смена тем:

  • Нажмите t на главном экране для открытия экрана предварительного просмотра темы
  • Экран темы показывает цветовые примеры для каждой цели цвета (ОПАСНОСТЬ, УСПЕХ, ПРЕДУПРЕЖДЕНИЕ и т.д.)
  • Нажмите t на экране темы для циклического переключения доступных тем и просмотра их в реальном времени
  • Нажмите ESC или ENTER для возврата на главный экран
  • Выбранная тема сохраняется и сохраняется между сессиями

Особенности тем:

  • Жёлтый/предупреждающий цвет для остановленных затираний (состояние s) — хорошо виден даже когда не выбран
  • Красный/опасный цвет для запросов подтверждения затирания
  • Согласованные цветовые палитры, разработанные для читаемости в терминале

Значения состояния устройства

Столбец STATE показывает текущий статус каждого устройства:

Доступные действия

Верхняя строка показывает доступные действия. Некоторые из них контекстно-зависимы (доступны только для определённых устройств):

Экран истории

Нажмите h для просмотра журнала истории затираний. Экран истории показывает все операции затирания и проверки с временными метками, информацией об устройстве и результатами.

Действия на экране истории:

  • e — Развернуть/свернуть запись для отображения полной информации JSON
  • c — Скопировать текущую запись в буфер обмена (см. ниже)
  • / — Поиск/фильтрация записей (префикс / для глубокого поиска по JSON)
  • a — Циклическое переключение формата времени (назад+время, назад, время)
  • ESC — Вернуться на главный экран

Методы копирования в буфер обмена (обнаруживаются автоматически):

Примечание: Если OSC 52 не работает с вашим терминалом, текст всё равно отображается на экране для ручного выделения. Для tmux включите буфер обмена с помощью set -g set-clipboard on в вашем .tmux.conf.

Типы затирания

dwipe поддерживает аппаратное затирание (аппаратно-ускоренное) и программное затирание. Аппаратное затирание требует флага --firmware-wipes или -F. Таблицы ниже перечисляют методы затирания от наиболее предпочтительных (Ранг 1) к наименее.

NVMe-диски

SATA SSD (с функциями шифрования/санитизации)

SATA HDD (вращающиеся диски)

Примечание: HDD не имеют выравнивания износа или скрытых блоков, поэтому программные затирания так же тщательны, как и аппаратные, но обеспечивают лучший контроль (прогресс, пауза/возобновление, прерывание).

Разделы и USB/флэш-диски

РангСокр.Официальное названиеПримечания
1RandSoftware Random WriteПредпочтительный; непредсказуемый шаблон; статистическая проверка
2ZeroSoftware Zero WriteПроще; быстрая проверка (неудача на первом ненулевом байте)

Примечания:

  • Аппаратное затирание показывает только методы, поддерживаемые каждым диском (см. столбец FwCAPS).
  • Аппаратное затирание включает автоматическую выборочную проверку.
  • Суффикс +V включает автоматическую проверку после программного затирания. Без +V нажмите v для ручной проверки.
  • Многопроходные программные затирания (2 или 4) чередуют нулевые/случайные шаблоны, заканчивая выбранным режимом.
  • USB-диски и разделы лишены аппаратного стирания — доступны только программные затирания.

Возобновление остановленных ПРОГРАММНЫХ затираний

Остановленные затирания (состояние s) можно возобновить, нажав w на устройстве. Выберите тот же тип затирания, иначе оно начнётся с 0% завершения.

Как работает возобновление:

  • Сохраняет исходный режим затирания (Rand или Zero), с которого было начато затирание
  • Использует текущий параметр проходов для определения, сколько ещё нужно записать
  • Продолжает с точного байтового смещения, где было отмечено остановка (округлено до границы буфера). «Метки» записываются примерно каждые 30 секунд, поэтому для нештатно завершённых затираний позиция может быть на 30 секунд (или чуть больше) от последних затёртых блоков диска.

Примеры возобновления:

Преимущества:

  • Измените настройку проходов перед возобновлением, чтобы закончить быстрее (уменьшить) или добавить больше проходов (увеличить)
  • Нет необходимости начинать сначала
  • Маркер прогресса обновляется каждые 30 секунд, поэтому возобновление работает даже после сбоев или потери питания
  • Автоматическая проверка предотвращает повреждение конечных шаблонов

Стратегия проверки программного затирания

Программные затирания используют интеллектуальную проверку со статистическим анализом и оптимизациями быстрого сбоя. Проверка настраиваема и опциональна.

Интеллектуальная выборка:

  • Делит диск на 100 равных секций
  • Случайно выбирает настраиваемый процент (1%, 3%, 10%, 30%, 100%) из КАЖДОЙ секции
  • Обеспечивает полное покрытие диска даже при 1% проверки
  • Установите процент проверки с помощью параметра командной строки --verify-pct (сохраняется как предпочтение)

Обнаружение шаблонов:

  • Проверка нулей: Немедленный сбой при первом ненулевом байте (быстро!)
  • Проверка случайных данных: Статистический анализ распределения байтов
    • Проверяет, является ли распределение байтов равномерным (все байтовые значения 0-255 появляются примерно одинаково часто)
    • Периодический быстрый сбой при обнаружении неслучайного шаблона
    • Проверяет признаки случайности для отличия от структурированных данных

Режимы проверки:

  1. Автоматическая проверка (после затирания): Используйте режим с суффиксом +V (Rand+V или Zero+V) и установите процент проверки > 0
  2. Ручная проверка (нажмите v): Проверка ранее затёртых устройств или обнаружение шаблона на немаркированных дисках (требует процент проверки > 0)
  3. Обнаружение немаркированного диска: Может проверить диски без файловой системы на наличие всех нулей или случайных данных
    • При успехе записывает маркер, как если бы диск был затёрт
    • Полезно для обнаружения предварительно затёртых дисков или проверки заводского стиранияСостояния верификации:
  • ✓ (зеленая галочка) — верификация пройдена
  • ✗ (красный крест) — верификация не пройдена
  • Без символа — не проверено
  • Во время верификации: vN% показывает прогресс (от v0% до v100%)

Почему статистическая выборка лучше последовательной:

  • Статистическая выборка из 100 участков обеспечивает лучшее покрытие, чем последовательное чтение при том же проценте
  • Обнаруживает проблемы быстрее (можно сразу попасть на плохой сектор в первых участках)
  • Статистический анализ фактически проверяет случайность (последовательный не может этого сделать)
  • Гораздо быстрее, чем 100% последовательная верификация

Стратегия верификации стирания прошивки

Стирание прошивки (SATA/NVMe secure erase) использует безусловную выборочную верификацию, которая выполняется автоматически для всех стираний прошивки. Это подтверждает, что команда аппаратного стирания действительно выполнилась.

Метод выборочной проверки:

  • Перед стиранием: Запись тестовых блоков данных в трех стратегических местах (начало, середина, конец диска)
  • Выполнение команды стирания прошивки на уровне контроллера
  • После стирания: Чтение этих трех тестовых мест и проверка, что они больше не содержат исходных данных
  • Если в каком-либо тестовом блоке всё ещё содержатся похожие данные, стирание считается неудачным и об этом сообщается

Почему выборочные проверки эффективны:

  • Доказывают, что внутреннее стирание диска действительно обработалось (а не просто было получено подтверждение команды)
  • Стратегия с тремя местами (0%, 50%, 100% диска) обеспечивает покрытие всего устройства
  • Выявляет ошибки прошивки или аппаратные сбои, которые могут сообщать об успехе, но ничего не делают
  • Гораздо быстрее последовательной верификации (читаются только 3 блока вместо процента от всего диска)
  • Обязательно и безусловно: не требует настройки пользователем или дополнительного шага верификации

Важное примечание: Стирания прошивки не показывают процентную верификацию, как программные стирания. Выборочная проверка происходит незаметно в рамках операции стирания, а результат (успех/неудача) записывается в постоянный маркер состояния стирания.

Информация о прогрессе

При программном стирании устройства dwipe отображает:

  • Прошедшее время — время с начала стирания (например, 1м18с)
  • Оставшееся время — расчетное время до завершения (например, -3м6с)
  • Скорость записи — текущая пропускная способность (например, "45.2MB/s")
  • MaxSlowDown — отношение самой быстрой к самой медленной скорости записи (например, ÷2). Если превышает порог, задание записи останавливается.
  • MaxWriteDelay — максимальная задержка записи (например, 𝚫122ms). Если превышает порог, задание записи останавливается.

Постоянное состояние

Состояния W (стерто) и s (частично стерто) сохраняются между перезагрузками. Это достигается записью метаданных в первые 16 КБ устройства:

  • Первые 15 КБ: нули
  • Следующие 1 КБ: метаданные в формате JSON (временная метка, записано байт, общий размер, режим, статус верификации)

Когда устройство с постоянным состоянием отображается, дополнительно показывается:

  • Когда оно было стерто и процент завершения
  • Статус верификации: ✓ (пройдена), ✗ (не пройдена) или без символа (не проверено)

Экран справки

При нажатии ? отображаются доступные клавиши и параметры командной строки с их текущими настройками.

Навигация

Вы можете перемещаться по списку устройств с помощью:

  • Клавиши со стрелками — вверх/вниз для перемещения по списку
  • Клавиши как в Vim — j (вниз), k (вверх), g (в начало), G (в конец)
  • Page Up/Down — быстрая навигация по длинным спискам

Фильтрация устройств

Клавиша / активирует инкрементальную фильтрацию поиска в стиле vim:

Как это работает:

  • Нажмите /, чтобы начать фильтрацию
  • Вводите свой regex-шаблон — список устройств обновляется по мере ввода (фильтрация в реальном времени)
  • Положение курсора отображается с помощью | в заголовке
  • Клавиши со стрелками, Home/End и Backspace работают для редактирования
  • ENTER для применения фильтра
  • ESC для отмены и восстановления предыдущего фильтра

Примеры фильтров:

Фильтр поддерживает regex-шаблоны. Вот несколько полезных примеров:``` /sda # Show only sda and its partitions /sd[ab] # Show sda, sdb and their partitions /nvme # Show all NVMe devices /nvme0n1p[12] # Show only partitions 1 and 2 of nvme0n1 /usb # Show devices with "usb" in their labels

root@kitploit:~
Нажмите **ESC** на главном экране, чтобы очистить фильтр и вернуться к отображению всех устройств.

**Примечание:** Некорректные регулярные выражения игнорируются — фильтр остаётся на последнем правильном шаблоне во время ввода.

## Соображения безопасности

**Важные ограничения программных затираний:**

- `dwipe` поддерживает многопроходное затирание с чередующимися шаблонами, но не реализует сертифицированные последовательности шаблонов DoD 5220.22-M или Gutmann
- Более чем достаточно для **личных и корпоративных данных**, не требующих (устаревшей) сертифицированной деструкции
- **НЕ подходит** для секретных, совершенно секретных или высокочувствительных данных, требующих сертифицированного затирания с определёнными шаблонами и сертификатами соответствия
- **Особенности SSD**:
  - Современные SSD используют выравнивание износа и могут сохранять данные в незанятых блоках
  - TRIM/DISCARD может препятствовать полному удалению данных
  - Для SSD рассмотрите заводские утилиты безопасного стирания для максимальной безопасности
  - Режим случайной записи может не обеспечивать дополнительную безопасность по сравнению с нулями на SSD

**Лучшие практики:**
- Внимательно проверяйте метки и размеры устройств перед затиранием
- Используйте функцию **Block**, чтобы защитить критические диски
- Рассмотрите шифрование для чувствительных данных как основную меру безопасности

---
---

## Устранение неполадок

### dwipe не запускается
- **Ошибка: "cannot find lsblk on $PATH"** — установите пакет `util-linux`
- **Отказано в доступе** — `dwipe` автоматически запрашивает sudo; убедитесь, что вы можете использовать sudo

### Проблемы с отображением в терминале
- **Искажённый экран после сбоя** — выполните команду `reset` или `stty sane`
- **Цвета не работают** — убедитесь, что ваш терминал поддерживает цвета (большинство современных терминалов поддерживают)

### Проблемы с затиранием
- **Не удаётся затереть устройство** — проверьте столбец STATE:
  - **Mnt** — сначала отмонтируйте раздел: `sudo umount /dev/sdXN`
  - **Blk** — нажмите **b** для разблокировки
  - **Busy** — другой раздел на диске в данный момент затирается
- **Затирание очень медленное** — нормально для больших дисков; проверьте скорость записи, чтобы оценить прогресс
- **Затирание зависло** — скорее всего из-за плохого диска; прямой ввод/вывод обеспечивает почти постоянный прогресс на хороших дисках.

---
### Особенности прошивки при затирании

Затирание прошивки (операции безопасного стирания SATA/NVMe) имеет особенности, отличные от программного затирания:

**Замороженные диски:**
- SATA-диски обычно замораживаются BIOS/UEFI во время POST в качестве меры безопасности
- Это функция безопасности на уровне диска, а не ограничение `dwipe`
- **Решение**: кратковременно переведите систему в спящий режим и выведите из него; `dwipe` автоматически обнаружит выход из режима и выполнит повторное сканирование (или нажмите **r** вручную). При входе/выходе из спящего режима происходит перезапуск канала SATA, что снимает заморозку.
- Если диск остаётся замороженным после пробуждения, попробуйте полное отключение питания (10+ минут, чтобы разрядить конденсаторы диска), затем загрузку и повторное сканирование

**Особенности устройств и совместимость:**
- Накопители имеют различные реализации прошивки и аппаратные особенности, влияющие на операции безопасного стирания
- Некоторые диски могут не полностью поддерживать определённые операции очистки, иметь проблемы с таймингом или вести себя непредсказуемо
- `dwipe` не может гарантировать успешное затирание всех устройств — некоторые аппаратные средства могут просто не выполнять команды стирания
- Всегда проверяйте диск после затирания (клавиша **v**), чтобы убедиться, что стирание действительно завершено
- Для критически важного уничтожения данных на нестандартном оборудовании рассмотрите возможность использования заводских утилит безопасного стирания как запасной вариант

---
### Работа с плохими или выходящими из строя дисками

dwipe включает встроенные средства защиты для проблемных накопителей:

**Автоматическая обработка ошибок.** При возникновении ошибок диска во время затирания:
*   Последовательные ошибки записи: затирание прерывается после 3 последовательных неудачных записей
*   Порог общего количества ошибок: затирание прерывается после 100 ошибок записи
*   Автоматические повторы: при сбое записи устройство автоматически закрывается и переоткрывается (восстановление после временных ошибок)
*   Восстановление файловых дескрипторов: обнаруживаются состояния повреждённых FD и обновляются их дескрипторы

**Обнаружение остановок и замедлений.** dwipe отслеживает скорость записи и может прерывать проблемные операции:
*   Обнаружение остановки: прерывается, если прогресса нет 5 минут (настраивается)
*   Обнаружение замедления: измеряет начальную скорость в течение первых 5 секунд, прерывается, если скорость падает ниже порога (например, 1/4 от начальной)
*   Отслеживание прогресса: непрерывный мониторинг гарантирует, что запись действительно достигает устройства

**Если затирание застряло...** Если кажется, что затирание зависло или не реагирует:
*   Первая попытка: нажмите s для корректной остановки выбранного затирания
*   Наберитесь терпения: некоторые операции с диском могут занимать минуты, пока истечёт тайм-аут на уровне ядра
*   Если всё ещё зависло: нажмите S (Shift+s) для остановки ВСЕХ затираний
*   Крайняя мера: если интерфейс полностью завис:
    *   Нажмите Ctrl-Z для приостановки `dwipe`
    *   В терминале выполните: `sudo pkill -f "python.*dwipe"` (убивает только процессы dwipe)
    *   Выполните reset для восстановления терминала, если отображение искажено

**Предотвращение проблем с проблемными носителями.** Для заведомо плохих дисков или сомнительного оборудования:
*   Начните с проверки: сначала нажмите v для тестирования читаемости
*   Используйте более низкие скорости: включите ограничение грязных страниц (клавиша d) для снижения нагрузки ввода-вывода
*   Мониторьте системные журналы: проверяйте dmesg -w в другом терминале на предмет ошибок диска
*   Рассмотрите аппаратные проблемы: корпуса USB, кабели и контроллеры часто вызывают проблемы

**Распространённые шаблоны ошибок диска**
*   Потеря USB-соединения: dwipe обнаружит и попытается восстановиться
*   Плохие сектора: ошибки будут учитываться; задание прерывается при избыточном количестве
*   Тайм-ауты контроллера: ядро может зависнуть; должно сработать обнаружение остановки
*   Полный диск: ошибки записи за пределами устройства обрабатываются корректно

**Восстановление после прерывания.** Если затирание прервано из-за ошибок диска:
*   Состояние устройства покажет s (остановлено/частично)
*   Можно попытаться возобновить (w) — может сработать, если ошибка была временной
*   Или проверить (v), чтобы увидеть, что было фактически записано
*   Рассмотрите замену диска, если ошибки повторяются

Примечание: Некоторые диски фундаментально повреждены и не могут быть надёжно затёрты. dwipe защитит себя и вашу систему, но не может исправить аппаратные неисправности.
---
#### Рекомендации по затиранию SATA через USB
* Требование 1: Поддержка SAT (SCSI-ATA Translation)

  * USB-мост должен уметь «пропускать» команды ATA.
  * Тест: Если приложение видит раздел «Security» в деталях диска, мост поддерживает SAT.

* Требование 2: Стабильное питание
  * Затирание прошивки (особенно на 3,5" HDD) потребляет значительную пиковую мощность.
  * Риск: Если используется USB-кабель «только питание от шины», напряжение может просесть во время затирания, что приведёт к сбросу моста и «замораживанию» диска в заблокированном состоянии.
  * Рекомендация: Всегда используйте USB-док с внешним питанием для 3,5" дисков.

* Требование 3: Надёжность тайм-аута команд
  * Мост не должен иметь агрессивного «сторожевого таймера».
  * Риск: Некоторые мосты отключаются, если не видят «данные» в течение 60 секунд. Во время затирания прошивки диск занят внутренними операциями и не отправляет данные.
  * Рекомендация: Используйте качественные чипсеты, такие как ASMedia (1153E) или JMicron (JMS578).

##### Разблокировка заблокированного устройства```
sudo hdparm --user-master u --security-unlock NULL /dev/sdX
sudo hdparm --user-master u --security-disable NULL /dev/sdX

Contributing

Вопросы и запросы на слияние приветствуются на github.com/joedefen/dwipe

License

Лицензия MIT - подробности в файле LICENSE.

Скачать инструмент
r
  • Если диск 'Locked', его необходимо разблокировать вручную (см. раздел «Разблокировка заблокированного устройства» ниже). Если dwipe заблокировал его, пароль — NULL; в противном случае используйте пароль, которым он был заблокирован.
  • Рабочий процесс горячей замены для SATA-дисков: DEL для извлечения, физически замените диски, затем r для повторного сканирования (при необходимости).
  • СостояниеЗначение
    -Устройство готово к затиранию
    ^Устройство готово к затиранию И было добавлено после запуска dwipe (горячая замена)
    MntРаздел смонтирован или диск имеет смонтированные разделы — не может быть затёрт
    N%Затирание в процессе (показывает процент завершения, 0-100%)
    vN%Проверка в процессе (показывает процент завершения, v0-v100%)
    STOPЗатирание или проверка останавливается
    sЗатирание остановлено — устройство частично затёрто (можно перезапустить или проверить)
    WЗатирание успешно завершено (можно снова затереть или проверить)
    BlkДиск вручную заблокирован — разделы скрыты и не могут быть затёрты
    UnblДиск только что разблокирован (переходное состояние)
    КлавишаДействиеОписание
    wзатеретьЗатереть выбранное устройство (требует подтверждения)
    vпроверитьПроверить затёртое устройство или обнаружить шаблон на немаркированном диске (контекстно-зависимо)
    sостановитьОстановить выбранное затирание в процессе (контекстно-зависимо)
    SОстановить всеОстановить все затирания в процессе
    DELудалитьУдалить диск из системы (только целые диски, контекстно-зависимо)
    bблокировать/разблокироватьЗаблокировать или разблокировать диск для предотвращения случайного затирания
    /фильтрФильтровать устройства по регулярному выражению (показывает подходящие устройства + все активные затирания)
    rпересканироватьПересканировать все устройства и сбросить обнаружение аппаратных возможностей
    hисторияПоказать журнал истории затираний
    tтемыОткрыть экран предварительного просмотра темы для просмотра и изменения цветовых тем
    q или xвыходВыйти из приложения (сначала останавливает все затирания)
    ?справкаПоказать экран справки со всеми действиями и клавишами навигации
    ESCочистить фильтрОчистить фильтр и перейти в начало списка
    ESCназадВернуться на предыдущий экран, если находитесь на вложенном экране
    aформат времениЦиклическое переключение формата отображения времени в истории затираний (назад+время, назад, время)
    ОкружениеМетодПримечания
    SSH-сессияOSC 52Управляющая последовательность терминала; требует поддержки терминалом (iTerm2, kitty, alacritty, Windows Terminal, tmux с set-clipboard on)
    Waylandwl-copyТребуется пакет wl-clipboard
    X11xclip/xselТребуется пакет xclip или xsel
    ЗапаснойТерминалВозврат в оболочку, вывод текста для ручного копирования
    РангСокр.Официальное названиеПримечания
    1CryptoSanitize Cryptographic EraseСамый быстрый; стирает ключи шифрования; мгновенная инвалидация данных
    2BlockSanitize Block EraseБыстрый; сбрасывает все блоки в освобождённое состояние
    3FCryptoFormat with Crypto EraseБыстрый; переформатирует пространство имён с удалением ключей
    4FEraseFormat with User Data EraseБыстрый; переформатирует с простым стиранием данных; менее тщательное, чем крипто
    5OvwrSanitize OverwriteМинуты; записывает шаблон во все блоки; наиболее тщательный, но редко необходим
    6RandSoftware Random WriteЗапасной; записывает случайные данные программно; часы для больших дисков
    7ZeroSoftware Zero WriteЗапасной; записывает нули программно; проверяемый, но медленнее
    РангСокр.Официальное названиеПримечания
    1SCryptoSanitize Cryptographic EraseСамый быстрый; стирает ключи шифрования; требует функцию SANITIZE
    2EnhancedATA Security Erase EnhancedБыстрый; вендор-специфичное глубокое стирание с уничтожением криптоключей
    3SBlockSanitize Block EraseБыстрый; сбрасывает блоки в заводское состояние; требует функцию SANITIZE
    4EraseATA Security Erase NormalМинуты; записывает нули во все секторы; широко поддерживается
    5SOverwriteSanitize OverwriteМинуты; перезаписывает шаблоном; требует функцию SANITIZE
    6RandSoftware Random WriteЗапасной; не может достичь блоков с выравниванием износа или перераспределённых
    7ZeroSoftware Zero WriteЗапасной; не может достичь блоков с выравниванием износа или перераспределённых
    РангСокр.Официальное названиеПримечания
    1RandSoftware Random WriteПредпочтительный; прерываемый, возобновляемый, показывает прогресс
    2ZeroSoftware Zero WriteПредпочтительный; прерываемый, возобновляемый, быстрая проверка
    3EnhancedATA Security Erase EnhancedМедленный (часы); не прерывается; нет прогресса; тот же результат, что и программный
    4EraseATA Security Erase NormalМедленный (часы); не прерывается; нет прогресса; тот же результат, что и программный
    Остановлено наТекущие проходыЧто происходит
    50%1 проходВозобновление: запись оставшихся 50%
    150% (1.5 из 4 проходов)1 проходУже завершено (150% > 100%)
    150% (1.5 из 4 проходов)4 проходаВозобновление: запись ещё 2.5 проходов (150% → 400%)
    100% (1 проход завершён)2 проходаВозобновление: запись прохода 2 (100% → 200%)