LinuxForum.Fans
Тема

Проблемы с созданием загрузочной флешки

Автор: stalker_tk 20 сообщений 4648 просмотров
#304502

Пытаюсь сделать спасательную Live-usb.
Взял флешку на 32 гига, разбил на два раздела
[console]$ fdisk -l /dev/sdd

Disk /dev/sdd: 31.0 GB, 30992891904 bytes
255 heads, 63 sectors/track, 3768 cylinders, всего 60532992 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00093264

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdd1 2048 43948031 21972992 b W95 FAT32
/dev/sdd2 * 43948032 60532735 8292352 1b Скрытый W95 FAT32[/console]
первый под данные, второй(флаги=boot,hidden) под саму live-usb

Установил syslinux

text
dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdd
syslinux --directory /dev/sdd2/syslinux

Содержимое syslinux.cfg

Показать

PROMPT 0
TIMEOUT 90
UI vesamenu.c32
#DEFAULT vesamenu.c32
MENU BACKGROUND usb.png
FONT 8x16.psf
################### Настройки меню ######################################################
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW -1
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU HELPMSGROW 22
MENU HELPMSGENDROW -1
MENU HIDDENROW -2
MENU HSHIFT 0
MENU VSHIFT 0
MENU AUTOBOOT Загрузка начнется через # секунд...
MENU TABMSG Нажмите [Tab] для изменения параметров
MENU TITLE Спасательная USB флешка
################### Настройки цветов ####################################################
menu color screen 37;40 #00000000 #00000000 none
menu color border 30;44 #00000000 #00000000 none
menu color title 1;36;44 #00000000 #00000000 none
menu color unsel 37;44 #ffffffff #00000000 none
menu color hotkey 1;37;44 #ffffffff #00000000 none
menu color sel 7;37;40 #ffffffff #6d83a3 none
menu color hotsel 1;7;37;40 #ffffffff #6d83a3 none
menu color scrollbar 30;44 #00000000 #00000000 none
menu color disabled 30;44 #666666 #00000000 none
menu color tabmsg 37;44 #666666 #00000000 none
menu color cmdmark 1;36;40 #666666 #00000000 none
menu color cmdline 37;40 #666666 #00000000 none
menu color pwdborder 30;47 #ffff0000 #00000000 std
menu color pwdheader 31;47 #ffff0000 #00000000 std
menu color pwdentry 30;47 #ffff0000 #00000000 std
menu color timeout_msg 37;40 #666666 #00000000 none
menu color timeout 1;37;40 #666666 #00000000 none
menu color help 37;40 #666666 #00000000 none
menu color msg07 37;40 #666666 #00000000 std


#########################################################################################

LABEL PuppyRus-IceWM
MENU LABEL PuppyRus-IceWM
KERNEL /puppyrus/vmlinuz
INITRD /puppyrus/initrd.gz
APPEND root=UUID=FFF4-EDF4 pfix=ram pmedia=usb psubdir=puppyrus
TEXT HELP
Маленький русский live-usb linux.
Быстро загружается удобен в работе.
ENDTEXT

LABEL Puppy-5.4.2.ru
MENU LABEL Puppy-5.4.2.ru
KERNEL /puppy/vmlinuz
INITRD /puppy/initrd.gz
APPEND root=UUID=FFF4-EDF4 pfix=ram pmedia=atahd psubdir=puppy
TEXT HELP
Маленький русский live-usb linux.
Быстро загружается удобен в работе.
ENDTEXT


LABEL Parted Magic to RAM
MENU LABEL Parted Magic to RAM
KERNEL /pmagic/bzImage
INITRD /pmagic/initramfs
APPEND root=UUID=FFF4-EDF4 edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 vmalloc=320MiB keymap=ru ru_RU
TEXT HELP
Дистриб для работы с жестким диском.
Позволяет: создавать, удалять,
форматировать,разделы жесткого диска
Востановление данных, проверка на
ошибки, клонирование и мн. др.
(Clonezilla)
ENDTEXT

LABEL Kon-boot
MENU LABEL Kon-boot
KERNEL memdisk
APPEND initrd=/bootdisk/konboot.img floppy
TEXT HELP
Позволяет вход без ввода пароля
в Windows XP/Vista/7/8
Для входа без ввода пароля в Linux
используйте логин kon-usr
ENDTEXT

LABEL Dr.Web
MENU LABEL Dr.Web
KERNEL /boot/vmlinuz
APPEND root=UUID=FFF4-EDF4 root=/dev/ram0 init=/linuxrc init_opts=4 quiet initrd=/boot/initrd vga=791 splash=silent,theme:drweb CONSOLE=/dev/tty1 BOOT_LANG=ru_RU.UTF-8
TEXT HELP
Антивирусный сканер Dr.Web
запуск в графическом режиме
ENDTEXT

MENU SEPARATOR

LABEL freedos
MENU LABEL ^C. FreeDOS == from USB-Flash ==
KERNEL /syslinux/chain.c32
APPEND freedos=/kernel.sys
TEXT HELP
* chainload FreeDOS - kernel.sys
ENDTEXT

LABEL hd0 1
MENU LABEL Загрузить ОС с первого HDD
KERNEL chain.c32
APPEND hd0 1
TEXT HELP
Будет произведена попытка запуска
операционной системы, расположенной
на первом разделе первого жёсткого диска.
ENDTEXT

LABEL Reboot
MENU LABEL Перезагрузка
COM32 reboot.c32
TEXT HELP
Перезагрузка компьютера
ENDTEXT

LABEL Power Off
MENU LABEL Выключение
KERNEL /syslinux/poweroff.com
TEXT HELP
Выключение компьютера
ENDTEXT

При загрузке с нее выводится:
No DEFAULT or UI configuration directive fount

Под VirtualBox загрузка происходит, но....

Может кто подскажет в чем дело?

#304504

Вы ядро без поддержки PAE собрали. На IA32 процессорах это позволяет использовать память Выше 4 Гбайт. По конфигу syslinux, к сожалению, сказать ничего не могу - еще не изучал...

#304505
yars написал:
Вы ядро без поддержки PAE собрали. На IA32 процессорах это позволяет использовать память Выше 4 Гбайт. По конфигу syslinux, к сожалению, сказать ничего не могу - еще не изучал...

Это не я. Это скриншот загрузки Puppy :)

#304506

Так кажись понял, вместо

text
UI vesamenu.c32

надо

text
UI /syslinux/vesamenu.c32

буду проверять....

Изменил,перезагрузился.... не помогло :(

#304507
"stalker_tk" написал:
Это скриншот загрузки Puppy

Ну, значит, разработчики поленились, а не скриншот :)

#304546

syslinux понимает относительные пути (для конфигов - точно), и при установке достаточно указать имя девайса. Каталог /syslinux/ - дефолтный, поэтому:
UI vesamenu.c32 - вполне рабочий способ.

У меня на флэшке конфиги прописаны так же. А вот пути до внешних файлов надо указывать абсолютные:
KERNEL /boot/vmlinuz

Еще, ньюанс. Загрузчик по-умолчанию (mbr.bin) работает не на всех компах, поэтому стоит попробовать использовать другие:

text

ll /usr/lib64/syslinux/mbr*
-rw-r--r-- 1 root root 440 Авг 30  2011 /usr/lib64/syslinux/mbr.bin
-rw-r--r-- 1 root root 440 Авг 30  2011 /usr/lib64/syslinux/mbr_c.bin
-rw-r--r-- 1 root root 440 Авг 30  2011 /usr/lib64/syslinux/mbr_f.bin

Я устанавливал syslinux так:

text

syslinux /dev/sdc1
dd conv=notrunc bs=440 count=1 if=/usr/lib64/syslinux/mbr_c.bin of=/dev/sdc1
#304659

Загрузчик свою работу выполнил, ядро и initrd загрузил, управление им передал.
А вот ядро сказало -- pae не поддерживается, работать не буду.

#304689
"bormant" написал:
Загрузчик свою работу выполнил, ядро и initrd загрузил, управление им передал.
А вот ядро сказало -- pae не поддерживается, работать не буду.

Вы не поняли :) Ну это только тогда когда я загружаюсь с флешки под VirtualBox
А при попытке загрузится с флешки на реальном компьютере, пишет
No DEFAULT or UI configuration directive fount

"Newton" написал:
Еще, ньюанс. Загрузчик по-умолчанию (mbr.bin) работает не на всех компах, поэтому стоит попробовать использовать другие:

Спасибо, попробую. А в чем их отличие? И раньше устанавливал так как написал выше, и все работало.
P.S. Кто-то мне говорил что не все BIOS поддерживают загрузку с флешек больше 16 ГБ, надо проверить. До этого создавал live-usb на 4 и 8 гиговых без проблем (правда делал один раздел под все)

#304694

В --directory ожидается путь относительно корня устройства. Т.е.
syslinux -d syslinux -i /dev/sdd

#304702

А Syslinux со второго раздела грузится может, не в этом причина?
Может подскажете, что ключ --zip означает? В документации пишут Force zipdrive geometry (-H 64 -S 32) в общем понятно, но хотелось бы поподробней, и когда это надо.
P.S. Буду пробовать о результатах напишу. Кстати syslinux 5 версии.

#304711
"stalker_tk" написал:
когда это надо.

В данном случае не нужно. Были такие устройства для резервного копирования. Принцип действия у них тот же, что и у дискет.

#304720

У них была и другая особенность -- единственный раздел указывался в последней, четвертой записи таблицы разделов; многие BIOS-ы ожидают именно такую разметку, отсюда и ключ.

#304745
"stalker_tk" написал:
Newton пишет:
Еще, ньюанс. Загрузчик по-умолчанию (mbr.bin) работает не на всех компах, поэтому стоит попробовать использовать другие:

Спасибо, попробую. А в чем их отличие? И раньше устанавливал так как написал выше, и все работало.

Да в большинстве случаев и будет работать, дополнительные загрузчики нужны для некоторых кривых BIOS-ов, которые неправильно сообщают номер загрузочного устройства.
mbr_c.bin - будет грузится с первого устройства (0x80), при зажатой Ctrl на клавиатуре.
mbr_f.bin - (force) - всегда грузится с первого устройства.

Насколько я понял, первое устройство, - это выбранное в BIOS-e как загрузочное. Или, верхнее в Boot - списке.

Но, в данном случае, проблемма не в этом. Судя по-строчке: "No DEFAULT or UI configuration directive fount", syslinux запустился. (Осталось узнать что ему надо)

#304746

Тут что-то с интерфейсом связанное, не определена директива в конфиге, описывающая User Interface. Ну да ТС и без меня небось английский знает ;)

#305022

Всем спасибо, разобрался.

"bormant" написал:
syslinux -d syslinux -i /dev/sdd2

и все заработало.
Я правда раньше читал что файл ldlinux.sys должен быть в корне флешки, ан нет создался в /syslinux Ну и ладно, главное работает :)

"yars" написал:
Вы ядро без поддержки PAE собрали. На IA32 процессорах это позволяет использовать память Выше 4 Гбайт.

Особо разбиратся не стал, создал раздел меньше 4 Гбайт и Puppy стартанул без проблем.
Начал интересоватся разными видами mbr. Узнал что есть altmbr.bin ему можно указать с какого раздела загружатся

text
printf '\x2' | cat /usr/lib/syslinux/altmbr.bin - | dd bs=440 count=1 iflag=fullblock conv=notrunc of=/dev/sdd

В общем дело пошло, осталось только менюшку допилить (ну не понимаю я как она настраивается, да и документации об этом ни слова)

#305023
"stalker_tk" написал:
оздал раздел меньше 4 Гбайт и Puppy стартанул без проблем.

Хм... Наверное, потому, что теперь ему не нужно больше 4 Гбайт ОЗУ, хотя я не очень понимаю, как связан размер раздела с объемом этой самой ОЗУ.

#305026
"yars" написал:
Хм... Наверное, потому, что теперь ему не нужно больше 4 Гбайт ОЗУ, хотя я не очень понимаю, как связан размер раздела с объемом этой самой ОЗУ.

У меня оператива меньше 4 Гб, дистрибутив изначально live, так что шут эго знает... Но вы направили мою мысль в верном направлении :)

#308687

"stalker_tk⇓" написал:
В общем дело пошло, осталось только менюшку допилить (ну не понимаю я как она настраивается, да и документации об этом ни слова)
Вот тут по-русски http://greenflash.su/Syslinux/Syslinux.htm неплохо вроде, если я правильно понял в чем проблема
#308753

Aviv написал:
[quote="stalker_tk⇓"]В общем дело пошло, осталось только менюшку допилить (ну не понимаю я как она настраивается, да и документации об этом ни слова)
Вот тут по-русски http://greenflash.su/Syslinux/Syslinux.htm неплохо вроде, если я правильно понял в чем проблема[/quote]
Знаю читал, но я хочу разобратся как располагается текст, его ширина,высота и т.п. Проще наверное скриншоты показать чем объяснять
#308755

Вот в этом куске syslinux.conf

text
################### Настройки меню ######################################################
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW -1
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU HELPMSGROW 22
MENU HELPMSGENDROW -1
MENU HIDDENROW -2
MENU HSHIFT 0
MENU VSHIFT 0
MENU AUTOBOOT Загрузка начнется через # секунд...
MENU TABMSG Нажмите [Tab] для изменения параметров
MENU TITLE Спасательная USB флешка
################### Настройки цветов ####################################################
    menu color screen    37;40      #00000000 #00000000 none
    menu color border    30;44      #00000000 #00000000 none
    menu color title    1;36;44    #00000000 #00000000 none
    menu color unsel    37;44      #ffffffff #00000000 none
    menu color hotkey    1;37;44    #ffffffff #00000000 none
    menu color sel        7;37;40    #ffffffff #6d83a3 none
    menu color hotsel    1;7;37;40  #ffffffff #6d83a3 none
    menu color scrollbar    30;44      #00000000 #00000000 none
    menu color disabled    30;44    #666666 #00000000 none
    menu color tabmsg        37;44      #666666 #00000000 none
    menu color cmdmark    1;36;40    #666666 #00000000 none
    menu color cmdline    37;40      #666666 #00000000 none
    menu color pwdborder    30;47      #ffff0000 #00000000 std
    menu color pwdheader    31;47      #ffff0000 #00000000 std
    menu color pwdentry    30;47      #ffff0000 #00000000 std
    menu color timeout_msg    37;40      #666666 #00000000 none
    menu color timeout    1;37;40    #666666 #00000000 none
    menu color help        37;40      #666666 #00000000 none
    menu color msg07    37;40      #666666 #00000000 std

#########################################################################################

хотелось бы разобратся детально

Войдите или зарегистрируйтесь, чтобы ответить.