Как использовать Терминал для безопасного удаления свободного места на диске Mac
Если вы продаете старый Mac, запасной жесткий диск или у вас просто паранойя по поводу удаленных данных, вы либо знакомы, либо должны быть знакомы с кнопкой «Стереть свободное пространство» на вкладке «Стереть» на диске. Утилита (находится в папке «Приложения» -> «Утилиты»).
Когда вы нажимаете эту кнопку, вам предлагаются три варианта безопасного стирания свободного места на жестком диске: запись поверх свободного места нулями (быстро и относительно безопасно), запись поверх свободного места три раза (более безопасно, очень медленно) или напишите поверх свободного места семь раз (очень медленно).
Я использую эту функцию всякий раз, когда продаю старую машину. Сначала я форматирую диск и устанавливаю новую копию macOS, затем использую Дисковую утилиту, чтобы стереть свободное пространство (обычно это вариант одноразовой записи с нулями). Это дает мне хорошее чувство безопасности, так как потребуется команда преданных своему делу профессионалов и, возможно, специальное оборудование, чтобы иметь некоторый шанс восстановить любые мои удаленные данные, хотя на самом деле меня интересуют только несколько финансовых файлов, а это хранятся на зашифрованном образе диска, поэтому они, вероятно, в любом случае в безопасности.
Используйте Терминал для безопасного стирания диска
Что, если вы хотите сделать это из Терминала? В Терминале программа с именем diskutil
предоставляет большинство функций Дисковой утилиты macOS.
(Обратите внимание, что, как и в случае со многими командами терминала, существует вероятность возникновения действительно плохих вещей, если вы допустите ошибку при выполнении следующих инструкций. Действуйте осторожно и убедитесь, что ваши резервные копии актуальны, прежде чем пытаться выполнить любое из следующих действий.)
Чтобы узнать о diskutil
подробно, введите man diskutil
в командной строке терминала. В рамках man
страниц, вы найдете объяснение того, как безопасно стереть свободное место на диске, используя diskutil
:
secureErase [freespace] level device Erase, using a "secure" (but see the NOTE below) method, either a whole-disk (including all of its partitions if partitioned), or, only the free space (not in use for files) on a currently-mounted volume. Secure erasing makes it harder to recover data using "file recovery" software. Erasing a whole-disk will leave it useless until it is partitioned again. Erasing freespace on a volume will leave your files intact, indeed, from an end-user perspective, it will appear unchanged, with the exception that it will have attempted to make it impossible to recover deleted files. If you need to erase all contents of a partition but not its hosting whole-disk, use the zeroDisk or randomDisk verbs. Ownership of the affected disk is required. Level should be one of the following: o 0 - Single-pass zero fill erase. o 1 - Single-pass random fill erase. o 2 - Seven-pass erase, consisting of zero fills and all-ones fills plus a final random fill. o 3 - Gutmann algorithm 35-pass erase. o 4 - Three-pass erase, consisting of two random fills plus a final zero fill. NOTE: This kind of secure erase is no longer considered safe. Modern devices have wear-leveling, block-sparing, and possibly-persistent cache hardware, which cannot be completely erased by these commands. The modern solution for quickly and securely erasing your data is encryption. Strongly-encrypted data can be instantly "erased" by destroying (or losing) the key (password), because this renders your data irretrievable in practical terms. Consider using APFS encryption (FileVault).
Но как понять, на что нужно указывать device
, на каком диске (или разделе) есть свободное место, которое вы пытаетесь безопасно стереть? diskutil
может также предоставить эту информацию. Просто используйте diskutil list
чтобы увидеть список всех дисков и разделов. Справа вы увидите значок IDENTIFIER
столбец; этот столбец содержит идентификатор, который diskutil
потребности. Вот пример list
вывод на моей машине:
IDG
Остается только один последний бит информации, который вам нужно знать, чтобы стереть свободное место на диске из командной строки. В Unix все устройства отображаются как часть дерева файловой системы, а в macOS все они перечислены в /dev
каталог. Итак, если я хочу использовать diskutil
чтобы стереть свободное место на моем Apple_HFS Untitled
том на моем внешнем диске, используя однопроходный метод, последняя команда будет выглядеть так:
diskutil secureErase freespace 1 /dev/disk2s1
Предупреждение! Это критически важный что вы включаете freespace
часть этой команды. Если вы этого не сделаете, diskutil
с радостью начнет безопасно стирать весь диск, а не только свободное место! Да, это действительно плохо, особенно потому, что он будет надежно удален, а это означает, что вы не сможете восстановить данные.
Бывший старший редактор Macworld Роб Гриффитс основал Mac OS X Hints. Теперь он церемониймейстер в Многие хитрости программного обеспечения.