Linux низкоуровневое форматирование hdd

Форматирование диска Linux и флешки. Низкоуровневое форматирование

Операция форматирования в операционной системе Linux не столь очевидна, как это может показаться на первый взгляд.

Это обусловлено, в том числе, многообразием файловых систем, и тем, что форматирование производится с использованием командной строки.

Операции форматирования необходимо запускать с правами суперпользователя (root).

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

Форматирование диска Linux

Форматирование диска Linux производится с помощью команды mkfs, действие которой заключается в создании указанной файловой системы на выбранном диске или разделе. Пример записи команды:

mkfs-text2 /dev/hda1 – создает файловую систему ext2 на разделе hda1

где:
-text2 – ключ указывающий тип файловой системы;
/dev/hda1 – раздел, на котором создается файловая система.

Основные ключи команды mkfs для форматирования диска Linux:

-v– выводит подробную информацию о ходе выполнения команды;
-t [тип файловой системы] – задает файловую систему, из следующих возможных значений:

  • $ swap – раздел с файловой системой для файла подкачки linux;
  • $ ext2 – файловая система ext2;
  • $ msdos — файловая система MS-Dos;
  • $ vfat – файловая система Fat-32;
  • $ reiserfs – файловая система Reiserfs.

-с – поиск сбойных блоков перед началом форматирования;

Также для форматирования диска могут понадобиться следующие команды:

  • fdisk -l – просмотр списка дисков, здесь можно узнать название раздела или носителя который нужно отформатировать;
  • umount– перед тем, как провести форматирование диска Linux, его необходимо размонтировать с помощью данной команды;
  • mkfs-tvfat -v-c/dev/hdb1 – форматирует раздел второго жесткого диска в системе Fat-32, предварительно проверив его на наличие нечитаемых блоков с выводом хода выполнения;
  • mkfs -text3 -v /dev/hda1 – форматирование раздела hda1 в файловой системе ext3 с выводом процесса выполнения;
Linux форматирование флешки

Очень часто монтирование флешки происходит автоматически при подсоединении к компьютеру.

Перед форматированием ее необходимо размонтировать (проверить примонтирована ли флешка можно с помощью команды – df-h).

Linux форматирование флешки также производится с использованием команды mkfs. После определения имени присвоенного флешке создаем нужную файловую систему (в данных примерах Fat-32 и Reiserfs):

mkfs-tvfat /dev/sdb mkfs-treiserfs /dev/sdb
Низкоуровневое форматирование Linux

Низкоуровневое форматирование сводится к записи нулевых байт. Для этого нужно выполнить команду:

Читайте также:  Start server minecraft linux

В результате выполнения команды низкоуровневого форматирования Linux будет показан объем диска или флешки. После этого можно произвести проверку наличия физических ошибок:

head -c N /dev/sdb | md5sum head -c N /dev/zero | md5sum

N в записях выше соответствует количеству байт записанных на диск при выполнении команды dd.

Несовпадение результатов этих команд означает наличие битых блоков на диске.

Источник

BootDev

Вначале немного предыстории. Сама формулировка низкоуровневого форматирования, на данный момент времени, не совсем корректна. Если вкратце, то данная процедура была актуальна для старых жестких дисков. При данной операции происходила разметка диска на дорожки и сектора. Сейчас данные процедуры проделываются на заводе изготовителя на специализированном оборудовании. И это актуально только для магнитных дисков. SSD и различные флеш накопители вообще не нуждаются в подобного рода операциях.

Что же тогда означает низкоуровневое форматирование сейчас? Что бы ответить на этот вопрос, разберем, что такое просто форматирование. Форматирование диска — это создание структуры разделов, запись файловой таблицы определенного формата (FAT, NTFS, EXT и т.д.). То есть подготовка накопителя к возможности хранения на нем файлов. Низкоуровневым форматированием сейчас, является полная очистка диска от всей информации, записью нулевых значений в каждый сектор накопителя.

Кто то может возразить, что полное форматирование, делает то же самое. Да, делает. Но полное форматирование происходит на разделе диска, удаляя только файлы, а низкоуровневое на всем диске полностью. Удаляя все, и разделы и файловые таблицы.

Для чего применимо такое низкоуровневое форматирование? В первую очередь это надежное удаление данных без возможности восстановления. Так как, при обычном, быстром форматировании, происходит пересоздание файловой таблицы, а сами данные остаются записанными на диске. То же самое происходит и при удалении раздела. Удаляется только информация о разделе, а данные раздела остаются на диске. Второе возможное применение, это всевозможные ошибки при попытке удалить раздел, или отформатировать его. В этом случае можно будет просто очистить диск и заново его разметить, уже без ошибок.

Теперь о программе dd. dd — это консольная программа предназначенная для копирования и конвертации файлов. Подробнее на вики https://ru.wikipedia.org/wiki/Dd.

dd для Windows

Скачать dd для Windows можно по этой ссылке. Работа с данной программой осуществляется в командной строке запущенной с правами администратора.

Специально для демонстрации я записал на нее три ISO образа, тем самым занятое пространство на флешке было около 6ГБ. Давайте теперь рассмотрим содержимое флешки посекторно в HEX редакторе HxD.

Читайте также:  Linux откатить версию php

В нулевом секторе флешки (по сути это первый сектор, просто отсчет в компьютерных системах начинается с нуля) располагается MBR запись, в которой хранится код загрузчика и таблица разделов. Далее с 1-2047 сектора идет пустое пространство.

Как видно на данном скриншоте, в секторе 2064 располагается описание файла $MFT. Который является главной файловой таблицей файловой системы NTFS. В данном файле хранится информация о всех файлах раздела и их атрибутах.

Пойдем немного дальше, в секторах 2402 и 2403 видим описание скопированных мною файлов. После описания, в последующих секторах, будет содержаться уже содержимое данных файлов.

Теперь перейдем собственно к низкоуровневому форматированию флешки. Запускаем командную строку от имени администратора и переходим в каталог со скачанной программой dd. В моем случае это диск E:\.

В полученном выводе, из секции NT Block Device Objects, нам нужно скопировать ссылку на необходимое нам устройство, с которым мы будем в дальнейшем проводить все операции. Определить нужное устройство можно по размеру диска. В моем случае использовалась флешка объемом 8 ГБ, то есть размер в байтах будет равен 8 миллиардам байт, а значит ссылка на устройство будет \\?\Device\Harddisk2\Partition0.

Немного пояснений. Для блочного устройства \\?\Device\Harddisk2, у нас присутствует два раздела. Нулевой \\?\Device\Harddisk2\Partition0, отвечает за весь диск целиком, и \\?\Device\Harddisk2\Partition1 за первый (и единственный в данном случае) раздел на нашей флешке. Первый раздел, как было показано ранее, начинался с 2048 сектора, а значит любые манипуляции при его использовании будут проходить только в диапазоне данного раздела, от 2048 сектора и до сектора конца данного раздела. Поэтому в качестве ссылки выбирается именно \\?\Device\Harddisk2\Partition0.

Теперь вводим команду dd if=/dev/zero of=\\?\Device\Harddisk2\Partition0 bs=1M —progress . Данная команда выполнит запись нулей в каждый байт диска, тем самым выполнит его полную очистку. В процессе работы программы вы будете наблюдать как увеличивается счетчик записанных данных (это из-за ключа —progress).

По завершении, программа выдаст полный результат выполненных действий.

В выводе присутствует сообщение об ошибке. Причина ее так же указана в текущем выводе. А именно, строки 7649+0 records in и 7648+0 records out. Первая, говорит о том, что отправлено было на запись 7649 МБ данных, а вторая, что удалось записать лишь 7648 МБ. По сути ошибки никакой нет, источник /dev/zero бесконечно предоставляет нули для записи, а флешка имеет конечный объем. При попытке записать информацию сверх присутствующего объема , программа выдает соответствующее сообщение.

Читайте также:  Linux user password command

Теперь проверим в HxD, как выглядит диск после проделанной записи нулями. Пройдемся по просмотренным ранее секторам флешки.

По всему пространству флешки нет ничего, одни нули. На этом низкоуровневое форматирование в ОС Windwos можно считать законченным.

После данной процедуры, в системе флешка будет определятся так.

Для того чтобы вернуть возможность хранить на ней файлы, нужно ее просто отформатировать.

Насчет форматирования есть один нюанс. Если в будущем нужно будет использовать данную флешку в качестве загрузочной, то форматирование нужно производить через diskpart.

dd в Linux

С операционной системой Linux все намного проще. Программа dd присутствует, по умолчанию, в любом дистрибутиве. Приступим. Запускаем терминал с правами root.

Определим под каким устройством в системе скрывается наша флешка. Выполняем для этого команду fdisk -l .

Исходя из полученного вывода, по размеру, можно легко определить нашу флешку. В моем случае это /dev/sda. Теперь выполним низкоуровневое форматирование. Набираем команду dd if=/dev/zero of=/dev/sda bs=1M .

С виду будет казаться, что выполнение команды зависло. Но, это не так. Просто программа dd не выводит информацию во время работы. По завершении, на экран выведется информация о проделанной работе.

Аналогично Windows версии dd, мы получили ошибку о попытке записать данные за пределы объема флешки. Как говорилось ранее, такая ошибка не критична.

На этом низкоуровневое форматирование в ОС Linux можно считать завершенным.

The en dd

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

Из недостатков dd для Windows, отмечу возникающие ошибки при попытке выполнить запись на флешку, исправить которые можно было лишь переподключением устройства и повторным выполнением команды.

В Linux, единственным недостатком является отсутствие отображения информации о прогрессе выполняемых действий. Но решения данной проблемы есть, и весьма простое — использовать совместно программу pv.

А на сегодня, тему низкоуровневого форматирования можно считать завершенной.

Источник

Оцените статью
Adblock
detector