Форматируем Flash-накопитель

Оговорюсь заранее: Здесь будет рассказан низкоуровневый способ форматирования. Вообще этим способом можно отформатировать что угодно(способ медленный, но универсальный). Смерть и разруха грозят данным на накопителе, поэтому важную информацию стоит скопировать на другое устройство. Не на дрогой раздел таблицы, а именно устройство, т.к. и таблицы мы тоже снесём. Собственно данный способ не просто форматирует, а сносит с носителя абсолютно всё и на «ровной» поверхности ставит то, что нам надо.

Зачем же нужно это: этот способ может понадобиться тогда, когда ничто иное не помогает или же лень разбираться в проблеме. К примеру, я к нему пришёл, когда ставил на флешь очередную операционку с помощью unetbootin и после чего вместо 8 гигабайт обнаружил 110 метров… Первое что пришло в голову не помогло.

А пришло в голову различное форматирование, но проблемки были ещё и с таблицами разделов, которые, как ни странно не хотели сноситься

Решение было одно: снести всё и построить «свой лунопарк с блэкджеком и шлюхами».

root@uuru:~# — говорит о том, что выполняем всё из под «рута».

Непосредственно решение:
root@uuru:~# lsusb
Bus 003 Device 006: ID 0930:6545 Toshiba Corp.
Bus 003 Device 005: ID 0bda:0116 Realtek Semiconductor Corp.
Bus 003 Device 004: ID 04f2:b012 Chicony Electronics Co., Ltd
Bus 003 Device 002: ID 152d:2329 JMicron Technology Corp. / JMicron USA Technology Corp.
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 046d:c019 Logitech, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

- видим, что она «видна» операционке.
Ищем «адрес» нашего устройства, дабы не затереть ничего лишнего.
SCSI, SATA, IDE устройства можно глянуть утилитой hdparm (она покажет размер устройства).
Как вариант глянуть в /media/.hal-mtab . У меня там показано как примонтирована флешь

/dev/sdd1	0	0	vfat	nosuid,nodev,uhelper=hal,shortname=mixed,uid=0,utf8,umask=077,exec,flush	/media/disk

запись, что нам нужна — «/dev/sdd1″

Приготовления закончены, теперь можно и «убивать» :-)
root@uuru:~# dd if=/dev/zero of=/dev/sdd
«4 часа в морозилке и готово!» операция действительно долгая(у меня ушло минут 20 на неё).
Комментарии к происходящему: из «файла с нулями»(на самом деле это генератор нулей) в «файл устройства» на самом деле это как указатель\интерфейс устройства копируем содержимое(забиваем всё в устройстве нулями). Итого: ни таблиц, ни разделов, ни mbr ничего кроме нуля(почти как 0 градусов по Кельвину — никакой активности ;-) ) «А вдоль дорог мёртвые с косами стоят… И тишина!»

Ну а теперь «твой новый мир, твой храм на крови» пришло время воздвигнуть! А поможет нам в этом утилита fdisk:
root@uuru:~# fdisk /dev/sdd
можете нажать «m» и почитать что можно сделать с помощью этой утилиты, я же, не отвлекаясь на это, расскажу как нам вернуть разметку на диск.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Нам нужен primary(жмём «p»). Вообще говоря можно и extended(если primary уже есть) итого более 2 разделов на флеши(предположим, у нас флешь), тогда стоит знать, что винда не будет воспринимать флешь как «живое» устройство, если первым разделом не будет виндовый(фат, нтфс)…
Но задача у нас сейчас другая, а именно создать один большой и рабочий раздел.
Partition number (1-4): 1
далее просто жмём enter(default значения нас устраивают)
First cylinder (1-1014, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014):
Using default value 1014

Теперь у нас есть раздел Linux. Для совместимости сделаем под что-нить виндовое:
Command (m for help): t
форматировать будем 1ый раздел
Selected partition 1
Hex code (type L to list codes): с

я выбрал «c» т.к. у меня флешь на 8 гигов и оптимизировать я её хочу на чтение\копирование, поэтому система — ФАТ 32. Для устройств размера пол гига — 700 метров отлично подойдёт «6″ — ФАТ 16. Для больших устройств с необходимостью оптимизации выполнения рекомендую НТФС(выбрать «7″). Чтобы глянуть полный список — жмём «L».

проверяем:
Command (m for help): p
Диск /dev/sdd: 8127 МБ, 8127512576 байт
251 heads, 62 sectors/track, 1020 cylinders
Units = цилиндры of 15562 * 512 = 7967744 bytes
Disk identifier: 0x247c4cc2

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdd1 1 1020 7936589 b W95 FAT32

Пишем изменения и выходим
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

Раздел есть — теперь форматируем:
root@uuru:~# mkdosfs /dev/sdd1
Флешь готова к эксплуатации!

Мне понравилась эта заметка:
Другое:
Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>