Как использовать Терминал для безопасного стирания свободного места на механическом диске Mac
Если вы продаете старый Mac с жестким диском, сменным жестким диском или просто параноидально относитесь к удалению данных, вы знакомы или должны быть знакомы с кнопкой «Очистить свободное пространство» на вкладке «Стереть» в Дисковой утилите (найдено в папке Приложения > Утилиты).
Примечание редактора. Этот совет по работе с терминалом был первоначально запущен в марте 2009 года и полезен только для механических жестких дисков, а не для твердотельных накопителей, используемых в новых компьютерах 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 wholedisk (including all of its partitions if partitioned), or, only the free space (not in use for files) on a currentlymounted volume. Secure erasing makes it harder to recover data using "file recovery" software. Erasing a wholedisk will leave it useless until it is partitioned again. Erasing freespace on a volume will leave your files intact, indeed, from an enduser 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 wholedisk, use the zeroDisk or randomDisk verbs. Ownership of the affected disk is required. Level should be one of the following: o 0 Singlepass zero fill erase. o 1 Singlepass random fill erase. o 2 Sevenpass erase, consisting of zero fills and allones fills plus a final random fill. o 3 Gutmann algorithm 35pass erase. o 4 Threepass 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 wearleveling, blocksparing, and possiblypersistent cache hardware, which cannot be completely erased by these commands. The modern solution for quickly and securely erasing your data is encryption. Stronglyencrypted 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
он с радостью начнет безопасно стирать весь диск, а не только свободное место. Да, это действительно плохо, тем более, что он будет надежно стерт, а это значит, что у вас нет шансов вернуть данные.