LINUX.ORG.RU

Почему в RAM дисковой версии Linux так трудно отформатировать usb flash disk?


0

1

Раньше я создавал загрузочные флешки пользуясь windows. Теперь нужно научится делать это в линуксе.Ничего не получается ни с программой fdisk ни с программой cfdisk ни с программой parted version 1.8.7.Ну нет значка * в колонке boot (fdisk -l) и всё тут.Не помогла и низкоуровневая команда dd if=/tmp/mbrsda.bak of=/dev/sdd1 bs=446 count=1 А файл mbrsda.bak был скопирован из загузочной флешки командой dd if=/dev/sda1 of=/mbrsda.bak bs=512 count=1 Когда программой hexedit просматривал шестнадцатиричные коды,то увидел что коды операций следуют не в том порядке. Строки поменялись местами. Где мне поискать такие исходники для gnu gcc компилятора, чтобы правильно отформатировать usb flash disk?

Где мне поискать такие исходники для gnu gcc компилятора, чтобы правильно отформатировать usb flash disk?

этапять

anonymous
()

Так в чём проблема? Не можете разобраться как создать таблицу разделов и пометить раздел активным (загрузочным) или не можете разобраться как создать файловую систему на накопителе (разделе).

fdisk и cfdisk - утилиты для создания разметки на накопителе, последний правда умеет создавать и файловые системы, но я им не пользуюсь.

Что бы пометит раздел активным запускаете fdisk:

fdisk /dev/sdX
далее вводите
p
просмотр таблицы разделов
a
и далее указываете раздел, который хотите сделать активным
p
ещё раз для просмотра того, что получилось, далее
w
для записи изменений на диск.

Флаг активности должен стоять только у одного раздела, поэтому у других уберите. Ну и он важен только для загрузчика DOS и WIndows, ещё syslinux, если вы планируете использовать другой загрузчик, то флаг активности ему не нужен.

Для создания файловой системы используется утилита mkfs:

mkfs.vfat /dev/sdXY

kostik87 ★★★★★
()

Когда программой hexedit просматривал шестнадцатиричные коды,то увидел что коды операций следуют не в том порядке.

hexdump -C

Не помогла и низкоуровневая команда dd if=/tmp/mbrsda.bak of=/dev/sdd1 bs=446 count=1

Надо было писать sdd вместо sdd1.

Чтобы декодировать остальное, надо звать qulinxao.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от kostik87

У меня и раньше в linux не получалось сразу создать bootable usb disk. Создавал я его в таком порядке: dd if=usbboot.img of=/dev/sdX bs=512 Далее Windows.Там программой Partition Magic делал раздел на usb disk активным.Появлялся символ *.Всё bootable usb disk готов.Потом в linux запускал cfdisk и преобразовывал Win95 FAT32 в Linux ext2.Теперь можно сменить bare.i kernel на любой другой kernel а также initrd.img на свой образ ram диска.Дистрибутив на флешке 4Gb получается! Ну вот собственно и проблема в том как в linux сотворить символ *. Совершенно нормально работают программы fdisk,cfdisk,parted когда нет hard диска.По крайней мере создаются/удаляются разделы и,флешка монтируется.

seramirun
() автор топика
Ответ на: комментарий от seramirun

Ну вот собственно и проблема в том как в linux сотворить символ *.

Уважаемый, если под символом «*» вы подразумеваете флаг активности раздела, то смотрите сообщение выше, я вам расписал как на примере fdisk выставить флаг активности раздела, для этого используется клавиша «a», после чего нужно записать изменения, клавиша «w», ну и читайте сообщения, которые вам выводит fdisk, а заодно и документацию, хотя бы 'man fdisk'. С cfdisk всё ещё проще, там в низу экрана выводятся соответствующие действия, просто выберите нужное, а затем выберите запись изменений.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

sdd1

как тут уже заметили, это раздел, а не диск. Так то!

darkenshvein ★★★★★
()
Ответ на: комментарий от kostik87

Всё всё уже!

Ну не получилось у меня создать bootable usb disk в одном дистрибутиве, так воспользовался другим.Был у меня девять лет назад куплен linux Blin 1.3 Gnome ED RUS,который работает с CD.Подробности работы вот: fdisk -l Disk /dev/scsi/host0/bus0/target0/lun0/disc:4026MB

parted /dev/scsi/host0/bus0/target0/lun0/disc mklabel msdos primary fat32 start 1 end -1 set 1 boot on print quit

fdisk -l Device Boot Start End Blocks Id System /dev/scsi/host0/bus0/target0/lun0/part1 * 1 1022 3928537 b W95 FAT32

Монтируем другую,не загрузочную флешку,где у нас usbboot.img(Slackware 11) Выполняем команду dd if=usbboot.img of=/dev/scsi/host0/bus0/target0/lun0/part1

fdisk /dev/scsi/host0/bus0/target0/lun0/part1 <<EOF t 1 83 w EOF

mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt/sda2 cd /mnt/sda2 ls Убеждаемся,что информация не стёрлась. Перезагружаемся в любой дистрибутив,где cfdisk.Запускаем его и видим: Name Flags PartType FsType Label Size (MB) sda1 Boot primary W95 FAT32 [USBSLAK] 4022,86 Переформатируем в Linux(FsType 83) и пробуем с этой флешки загрузится. Не всегда сразу получается.Тогда надо повторно выполнить команду dd if=usbboot.img of=/dev/scsi/host0/bus0/target0/lun0/part1 Но бывают флешки которые в Linux не сделать загрузочными ни за что. Это более дешёвые.Тогда лучше PartitionMagic for Windows нет программы для их форматирования.Просто изменить размер раздела FAT32 нужно так, чтобы слева не было free space. Таким образом нет проблем на самом-то деле при создании bootable usb disk. Нет их и при редактировании образов RAM дисков,чтобы в них помещать fonts и русифицировать.А мне интересно какие вы знаете способы?

seramirun
() автор топика

Еще бы по-русски было написано...

dd if=/tmp/mbrsda.bak of=/dev/sdd1

угу, угу. копируй дальше...

Где мне поискать такие исходники для gnu gcc компилятора, чтобы правильно отформатировать usb flash disk?

давай еще!

Eddy_Em ☆☆☆☆☆
()
Ответ на: Всё всё уже! от seramirun

Ну не получилось у меня создать bootable usb disk в одном дистрибутиве, так воспользовался другим.

Ты из тех, кто покупает новую машину когда в старой бензин заканчивается?

Deleted
()
Ответ на: Всё всё уже! от seramirun

Переформатируем [...] и пробуем с этой флешки загрузиться

ты явно не до конца разобрался как надо делать

teod0r ★★★★★
()

кстати, что такое RAM дисковая версия Linux?

teod0r ★★★★★
()

Теперь нужно научится делать это в линуксе.Ничего не получается ни с программой fdisk ни с программой cfdisk ни с программой parted version 1.8.7.

тыж сраный извращенец. Используй unetbootin и не выпендривайся (ц)

darkenshvein ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.