Vallyol's Blog

18/11/2012

Linux: форматирование флешки

Filed under: Konsole, Linux — Метки: , , , , — vallyol @ 18:07

После очередного визита к знакомым с установленным Windows’ом обнаружил на своей флешке кучу всякого шлака, как то авторанеры, непонятные экзешники, папочки… Благо, ничего особо ценного на девайсе не было, поэтому решил форматнуть… Чтоб не ковырятся в тех 7 Гб в поисках привнесённого 🙂

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

По большому счету, операцию можно выполнить в «три клика», используя какой-нибудь партишн менеждер. И если вдруг по какой-то непонятной причине он не входит в дистрибутив, можно использовать хоть тот же gparted: установить и запустить.

Я буду делать сие средствами коммандной строки, попутно проведя «низкоуровневое форматирование», дабы избавится от всевозможных программных бэдов, проблем с файловой системой и бутсектором, которые могут возникать при небезопасном извлечении устройства…
Все операции должны проводится от имени суперпользователя.

Для начала смотрим, видит ли система наш девайс, более широко — жива ли флешка аппаратно
sudo lsusb

lsusb

Вот он, мой Апасер!
Далее, необходимо определить, как флешка определяется системой, как она обозначается в dev. Есть два варианта:
ls /dev/disk/by-id -l
То есть просто разлистываем диски по id. Результат получаем в таком виде

и
fdisk -l
В полученном изображении будут выведены все дисковые устройства. Я оставил в картинке запись, касающуюся флеш-устройства.

Теперь я знаю, что флешка у меня распознается как sdd. Во всяком случае вероятность отформатировать не то устройство уменьшилась 🙂
Можно также посмотреть на флешку через hdparm (но не обязательно):

Вижу — защита от записи выключена.
Приступаю к форматированию.
sudo dd if=/dev/zero of=/dev/sdd
С помощью этой команды я заполняю всё пространство нулевыми байтами. После выполнения команды все данные будут безвозвратно потеряны! Попутно, избавимся от программных бэдов, поврежденных таблиц, загрузочного сектора и т.д.

Процедура достаточно долгая, на изображении видно, что у меня 8Гб флешка заполнялась «нулями» 3300 секунд (прим. 55 минут) со скоростью 2,4 Мб/с. На сообщении о закончившемся месте не обращаем внимания, ведь флешка имеет некий конечный размер, а генератор «нулей» размера не имеет 🙂
На всякий случай смотрю на числа «считано и написано», большая разница в значениях будет говорить о неких физичиских бэдах: записать записало, а вычитать не смогло…

Приступаю к работе по созданию разделов…
sudo fdisk /dev/sdd

Утилита при старте начинает гневно материться на предмет того, что ничего не нашла… Ещё бы! Столько времени заполняли нулями.
И после мата предлагает помощь в разруливании ситуации — нажмите m, говорит. Жмём=с… И видим список возможных действий, которые мы можем предпринять. Меня интересует создание нового раздела — буковка n

Причем, этот раздел будет основным (p) и первым (1). Все остальные значения оставляю по умолчанию, просто нажимая Энтер.

Смотрю, что там в итоге получилось — р

Замечательно. Имеем раздел, но правда линуксовый. Исправляем ситуацию — t

Аргумент t позволяет поменять ID раздела. Поэтому, после нажатия на t нам предлагают выбрать раздел (1) и ID из достаточно широкого списка вариантов. Меня интересует возможность использования флешки как на компьютерах с Линукс в качестве операционной системы, так и на Виндовс-машинах. Причем, без установки специальных драйверов, какие нужны, к примеру, для exFAT.

И ещё… Флешка имеет размер 8 Гб, то есть использовать fat16 в качестве файловой системы я уже не могу. То есть остаётся fat32 — буковка b. Жамкаем…

То есть, в результате этой манипуляции моя флешка готова принять на себя груз ФС: мы создали основной раздел и навесили на него идентификатор, соответствующий FAT32.
Всё выполнено, осталось записать результат — буква w.

Ну, и остался последний финт ушами — необходимо отформатировать подготовленную флешку.
mkfs.vfat -F32 /dev/sdd1

То есть, создаем (mkfs) файловую систему fat32 (vfat -F32) на устройстве /dev/sdd1
Всё! Флешка готова к работе!

=========
P.S.

Справочные команды fdisk’а

a переключение флага загрузки
b редактирование метки диска bsd
c переключение флага dos-совместимости
d удаление раздела
l список известных типов файловых систем
m вывод этого меню
n добавление нового раздела
o создание новой пустой таблицы разделов DOS
p вывод таблицы разделов
q выход без сохранения изменений
s создание новой чистой метки диска Sun
t изменение id системы раздела
u изменение единиц измерения экрана/содержимого
v проверка таблицы разделов
w запись таблицы разделов на диск и выход
x дополнительная функциональность (только для экспертов

fdisk — использование

Usage:
fdisk [options] change partition table
fdisk [options] -l list partition table(s)
fdisk -s give partition size(s) in blocks

Options:
-b sector size (512, 1024, 2048 or 4096)
-c[=] compatible mode: ‘dos’ or ‘nondos’ (default)
-h print this help text
-u[=] display units: ‘cylinders’ or ‘sectors’ (default)
-v print program version
-C specify the number of cylinders
-H specify the number of heads
-S specify the number of sectors per track

По мотивам вот этой очень хорошей статьи

Реклама

Создайте бесплатный сайт или блог на WordPress.com.

%d такие блоггеры, как: