Главная
» LINUX
»
3 способа безопасно стереть данные с жесткого диска в Linux
3 способа безопасно стереть данные с жесткого диска в Linux
Для безопасного стирания данных с диска Linux определите, является ли он магнитным жестким диском (HDD) или твердотельным накопителем (SSD). Для HDD используйте полную перезапись устройства с помощью команды `git clone` ddили `git clone` от GNU shred. Для SSD или NVMe-накопителя предпочтительнее использовать поддерживаемую операцию стирания или очистки прошивки: при перезаписи данных на хосте могут быть пропущены переназначенные хранилища. Сделайте резервную копию всего необходимого. Каждая из приведенных здесь команд является деструктивной и может привести к стиранию данных с неправильного диска, если вы выберете не то устройство.
Подготовьте диск
Загрузитесь с загрузочного USB-накопителя Linux, если на нем установлена ваша система. По возможности отключите все диски, которые хотите сохранить. Выведите список устройств и точек монтирования:
lsblk -o NAME,SIZE,MODEL,SERIAL,TRAN,MOUNTPOINTS
Примерный образец терминала; названия устройств и характеристики моделей могут отличаться. Найдите целевое устройство по размеру, модели и серийному номеру.
Например, /dev/sda— это весь SATA-диск, а /dev/sda1— это раздел. NVMe использует пространство имен, например, /dev/nvme0n1и контроллер, например /dev/nvme0, . В приведенных ниже командах /dev/sdX— это заполнитель. Замените его проверенным путем ко всему диску; никогда не используйте раздел, если вы собираетесь стереть весь диск.
Отмонтируйте каждый смонтированный целевой раздел, повторив эту команду для остальных разделов, перечисленных по условию lsblk:
sudo umount /dev/sdX1
Перед записью на весь диск отмонтируйте все смонтированные разделы на целевом устройстве.
Запустите lsblkеще раз. Если идентификатор диска или состояние монтирования неясны, остановите процесс и проверьте их перед продолжением.
1. Перезаписать данные на магнитный жесткий диск с помощью команды dd.
GNU ddможет записывать нули в блоки магнитного жесткого диска, адресуемые хостом. На запись на большой диск может уйти несколько часов. В режиме Live выполните:
Курсор остается на месте, пока ddидет запись; отображение хода выполнения зависит от накопителя.
ifПрограмма выдает нули, ofзадает имя всей целевой области, status=progressотображает информацию о передаче и conv=fsyncсбрасывает вывод перед выходом. Не выключайте компьютер. После возврата из командной строки проверьте окончательный вывод. При неограниченной необработанной записи на границе диска может появиться сообщение «Нет места на устройстве»; сравните количество байтов с емкостью диска. Ранний сбой не означает успешного сброса.
Полученное приглашение командной строки означает, что команда завершилась; убедитесь, что запись на всё устройство завершена.
Этот метод следует использовать для магнитных дисков, а не в качестве гарантии для SSD: микропрограмма накопителя может переназначать блоки, находящиеся вне зоны досягаемости хоста. См. руководство по команде dd в GNU Coreutils .
2. Перезаписать данные на жесткий диск с помощью GNU shred.
shredЭто второй вариант полной перезаписи диска. Эта команда выполняет один псевдослучайный проход, за которым следует заключительный проход с обнулением:
Один запрошенный проход перезаписи плюс заключительный проход обнуления; результат зависит от версии Coreutils.
Это может занять столько же времени, сколько и dd; одновременное выполнение обоих операций не делает SSD безопасным. GNU предупреждает, что shredпредполагается наличие файловой системы и аппаратной перезаписи данных, что может быть неверно для журналируемых файловых систем или файловых систем с копированием при записи, снимков или флэш-накопителей. Прямая запись на устройство обходит файловую систему, но не переназначение дисков. См. документацию GNU shred .
Для твердотельных накопителей (SSD) и более интенсивной очистки данных используйте операцию стирания, поддерживаемую самим накопителем, и следуйте инструкциям производителя. В стандарте NIST SP 800-88 Revision 2 (опубликованном в сентябре 2025 г.) очистка данных рассматривается с точки зрения конфиденциальности данных и усилий по их восстановлению; ни одна команда не является универсальной гарантией или сертификатом соответствия.
NVMe
При необходимости установите nvme-cliнеобходимые компоненты из вашего дистрибутива Linux, затем проверьте возможности контроллера по очистке данных:
sudo nvme id-ctrl /dev/nvme0
Проверьте фактический вывод контроллера; поддерживаемые действия по очистке различаются в зависимости от накопителя.
Запустите операцию и дождитесь завершения только в том случае, если функция стирания блоков указана как поддерживаемая.
Эта команда обращается к контроллеру и ожидает завершения; при этом питание машины должно оставаться включенным.
Используйте путь к контроллеру, а не его пространство имен. В руководстве по nvme-cli описано это действие --wait. В nvme-cli 3.x sudo nvme log sanitize /dev/nvme0проверяется состояние; в более старых версиях может использоваться nvme sanitize-log.
SATA
Для напрямую подключенного SATA-накопителя проверьте поддержку функции ATA Security Erase и укажите следующее:
sudo hdparm -I /dev/sdX
В этом примере показан зависший диск; не продолжайте работу без описанного производителем безопасного пути.
Только если накопитель сообщает о поддержке, не завис и не заблокирован, а производитель документирует процедуру установки, установите одноразовый пароль, используя защищенный запрос:
sudo hdparm --user-master u --security-prompt-for-password --security-set-pass /dev/sdX
Сохраните этот пароль, а затем введите тот же самый, когда появится соответствующий запрос:
sudo hdparm --user-master u --security-prompt-for-password --security-erase /dev/sdX
В руководстве по hdparm эти команды помечены как опасные и предупреждают, что они могут не работать с некоторыми ядрами. USB-адаптеры могут блокировать их. Если установка или удаление данных не удались, сохраните пароль и следуйте инструкциям по восстановлению, предоставленным производителем накопителя.
Почему DBAN не является универсальным решением
В более старых руководствах рекомендуется использовать загрузочный образ DBAN и команду автоматического удаления данных. Проект DBAN утверждает, что он предназначен для жестких дисков, не может обнаруживать или удалять данные с SSD-накопителей, не имеет обновлений программного обеспечения и не может гарантировать полную очистку. Никогда не запускайте автоматическое удаление данных, если не предполагается удаление данных со всех обнаруженных дисков.
Выберите тип привода
Магнитный жесткий диск: выберите один из ddвариантов shredв режиме реального времени.
SATA SSD: используйте поддерживаемую процедуру безопасного удаления данных ATA, описанную производителем.
NVMe SSD: используйте действие очистки, которое контроллер сообщает как поддерживаемое, затем проверьте его завершение.
Конфиденциальные или регулируемые данные: следуйте политике санитарной обработки вашей организации и проверяйте результат перед передачей или утилизацией.
Форматирование раздела или удаление файлов не приводит к полному стиранию данных с диска. Дважды подтвердите целевой диск, используйте метод, подходящий для используемой технологии хранения данных, и не прерывайте операцию стирания.