Итак, это зависит от
- ваше определение «форматирования» диска;
- тип этого диска.
"Формат" может быть одним из самых запутанных терминов в потребительских технологиях. Даже ваш пост уже смущает два-три разных действия ...
Обычно он охватывает три уровня:
Подготовка самого носителя (например, запись секторных маркеров на жесткий диск) - в настоящее время обычно выполняется на заводе, но, по крайней мере, в дни IBM PC это может быть сделано самим ПК. Это часто называют «низкоуровневым форматированием».
Запись таблицы разделов (пустой или с некоторыми разделами) в первые несколько секторов диска - это то, что делает fdisk
.
Запись пустой файловой системы в каждый раздел - это то, что делает format c:
или mkfs
. Раньше это называлось «форматированием высокого уровня».
За исключением того, что некоторые люди называют шаг № 2 "низкоуровневым форматом" теперь, когда № 1 больше нет. И иногда люди называют стирание всего диска "форматированием", хотя там ничего не записано с реальным форматом. Иногда люди называют переустановку Windows "форматированием", даже если все файлы остались нетронутыми.
В любом случае, остальная часть ответа зависит от желаемого результата :
Если вы хотите, чтобы диск был полностью пустым (например, ничего, что могло бы найти приложение для восстановления данных), у вас есть два варианта: удаление или ручное удаление.
Функция "сброс" называется TRIM в твердотельных накопителях и также поддерживается SD-картами - она говорит самому диску выбрасывать все данные. В Linux для этой цели можно использовать инструмент blkdiscard
- укажите устройство, и через несколько секунд оно будет пустым. (Такие инструменты, как mkfs.ext4
, также автоматически отбрасывают содержимое раздела перед записью в него новой файловой системы.)
Если диск не поддерживает удаление - например, если это магнитный жесткий диск или флэш-накопитель USB, интерфейс Mass Storage которого не понимает эту команду, - тогда единственным вариантом для вас является ручное отключение каждого сектора, т.е. заполнение это с /dev/zero
как вы уже сделали.
В то время как отбрасывать обычно занимает всего несколько секунд, ручная нулевая начинка не может идти быстрее , чем сам диск может принимать операции записи ( в конце концов, вы пишете много данных).
Если вы не заботитесь об остаточных данных, а просто хотите, чтобы ОС увидела пустой диск, вы можете просто очистить область, где находится таблица разделов . Для MBR это всегда сектор 0, но не забывайте, что многие диски используют таблицу разделов GPT.
Это очень быстрый метод, поскольку вам нужно всего лишь удалить несколько килобайт. В Linux команда wipefs
сделает хирургическое содержимое диска более не распознаваемым для ОС. (По умолчанию инструмент выводит только то , что было бы удалить. - использовать параметр --all
, чтобы сделать это на самом деле это сделать)
Кстати, теперь у вас есть диск, который ОС считает пустым.
Если вы хотите, чтобы на удаленном диске было несколько разделов, используйте такие инструменты, как fdisk или parted. В то время как регулярные FDISK является интерактивным, есть много инструментов , которые можно легко запрограммировать - sfdisk
sgdisk
parted
несколько примеров. В Windows есть diskpart
.
Если вы также хотите, чтобы разделы имели файловые системы, используйте такие инструменты, как mkfs.ext4
или mkfs.vfat
(эквивалентный format
Windows).
Наконец, как уже упоминалось в комментариях выше: если вы планируете просто записать изображение (файл .iso) на диск, то вам вообще не нужно ничего делать.
Такая запись изображения начинается в секторе 0, поэтому она удаляет все, что было на диске ранее (вплоть до размера изображения). Независимо от того, имел ли он разделы и файлы, или он был пустым, он не имеет значения - он просто перезаписывался собственными разделами изображения и всеми остальными.
Все, что не соответствует размеру изображения, останется таким, каким оно было, но ОС не будет заботиться об этом - поскольку таблица разделов образа говорит, что там нет раздела. Хотя, конечно, выбрасывать или очищать диск все еще хорошая идея, если вы собираетесь отдать его кому-то другому.