Низкоуровневое форматирование (Flash).

Posted on Май 20th, 2009 by helios and tagged , .

Дабы придать блогу(коллективному) некую степень практической полезности(да, интересно пообщаться, да приятно почитать записки Валерия Павловича, но нужны и "маны") публикую очередной кросс-пост со своего сайта по unix (]]>UURU]]>)

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

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

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

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

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

Непосредственно решение:

root@uuru:~# lsusb<br>
<br>Bus 003 Device 006: ID 0930:6545 Toshiba Corp.
<br>Bus 003 Device 005: ID 0bda:0116 Realtek Semiconductor Corp.
<br>Bus 003 Device 004: ID 04f2:b012 Chicony Electronics Co., Ltd
<br>Bus 003 Device 002: ID 152d:2329 JMicron Technology Corp. / JMicron USA Technology Corp.
<br>Bus 003 Device 001: ID 0000:0000
<br>Bus 002 Device 002: ID 046d:c019 Logitech, Inc.
<br>Bus 002 Device 001: ID 0000:0000
<br>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"

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

Ну а теперь "твой новый мир, твой храм на крови" пришло время воздвигнуть! А поможет нам в этом утилита fdisk:
root@uuru:~# fdisk /dev/sdd
можете нажать "m" и почитать что можно сделать с помощью этой утилиты, я же, не отвлекаясь на это, расскажу как нам вернуть разметку на диск.

Command (m for help): n
<br>Command action
<br>e   extended
<br>p   primary partition (1-4)
<br>
Нам нужен primary(жмём "p"). Вообще говоря можно и extended(если primary уже есть) итого более 2 разделов на флеши(предположим, у нас флешь), тогда стоит знать, что винда не будет воспринимать флешь как "живое" устройство, если первым разделом не будет виндовый(фат, нтфс)...
Но задача у нас сейчас другая, а именно создать один большой и рабочий раздел.
Partition number (1-4): 1
далее просто жмём enter(default значения нас устраивают)
First cylinder (1-1014, default 1):
<br>Using default value 1
<br>Last cylinder or +size or +sizeM or +sizeK (1-1014, default 1014):
<br>Using default value 1014

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

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

проверяем:

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

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

Пишем изменения и выходим

Command (m for help): w
<br>The partition table has been altered!
<br>Calling ioctl() to re-read partition table.
<br>WARNING: If you have created or modified any DOS 6.x
<br>partitions, please see the fdisk manual page for additional
<br>information.
<br>Syncing disks.

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

Комментарии

Re: Низкоуровневое форматирование (Flash).

Не смог разобраться с форматированием в месте root@uuru:~# lsusb. Извиняйте Smile

Comment by helios on Май 20th, 2009 at 11:25 после полудня

Re: Низкоуровневое форматирование (Flash).

С низкоуровневым форматированием приходилось сталкиваться неоднократно. В 286х, 386х компьютерах, да позже, в составе BIOS была утилита низкоуровневого форматирования. Как правило, к её помощи прибегали тогда, когда хотелось чуда. Увы...Флэшки, очень часто подкидывают сюрпризы... Ежели даже не моргает светодиод, система никак не реагирует и не видит флэшку, то уж тут не обойтись без специализированного ПО. Впрочем и в описанном Вами случае, применение этих утилиток вполне оправдано, не требует специальных знаний и безопасно. MDTP, Transcend Jet Flash Recorvery Tool не раз выручали меня из подобных ситуаций. Правда нужна Windows... При всей своей простоте, флэшки могут служить темой для отдельного разговора... Удачи!

Comment by Palych on Май 21st, 2009 at 9:41 утра

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

  • You may insert videos with [video:URL]
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <apt>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <pascal>, <php>, <python>, <ruby>, <sql>, <xml>. The supported tag styles are: <foo>, [foo].
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании