Оговорюсь заранее: Здесь будет рассказан низкоуровневый способ форматирования. Вообще этим способом можно отформатировать что угодно(способ медленный, но универсальный). Смерть и разруха грозят данным на накопителе, поэтому важную информацию стоит скопировать на другое устройство. Не на дрогой раздел таблицы, а именно устройство, т.к. и таблицы мы тоже снесём. Собственно данный способ не просто форматирует, а сносит с носителя абсолютно всё и на “ровной” поверхности ставит то, что нам надо.
Зачем же нужно это: этот способ может понадобиться тогда, когда ничто иное не помогает или же лень разбираться в проблеме. К примеру, я к нему пришёл, когда ставил на флешь очередную операционку с помощью 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
Нам нужен primary(жмём “p”). Вообще говоря можно и extended(если primary уже есть) итого более 2 разделов на флеши(предположим, у нас флешь), тогда стоит знать, что винда не будет воспринимать флешь как “живое” устройство, если первым разделом не будет виндовый(фат, нтфс)…
Command action
e extended
p primary partition (1-4)
Но задача у нас сейчас другая, а именно создать один большой и рабочий раздел.
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
Флешь готова к эксплуатации!