Ну что ж, давно не писал сюда всякого бреда))), пора сие дело исправить. Последние эксперименты с Triple MBR от tinybit показали, что процесс создания универсальной флешки достаточно трудоемок, и при этом результаты меня не особо вдохновили... Как USB-HDD флешка виделась стабильно, а вот как USB-ZIP работать нормально отказывалась(((. Методический перебор параметров создания раздела и выбор разных bootlace.com опять же ни к чему не привели.
Вот поэтому решил попробовать еще один способ, в этот раз от Bean123 (одного из разработчиков grub4dos). Он написал утилиту, называемую - fbinst.exe и предназначенную для нестандартного форматирования флешек (создание структуры специального вида)... Итак, по пунктам: 1. Качам утилиту http://download.gna.org/grubutil/ (актуальная версия на текущий момент - 1.5) 2. Запускаем и глядим параметры: fbinst -h 3. Обнаруживаем, что нифига не понятно, и более того - практически отсутствуют любые упоминания о сей утилите не только в рунете, но и на англоговорящих форумах... Точнее упоминания, конечно есть, а вот реальных описаний использования практически нету(((, посему идем сюда: форум китайских друзей или сюда: форум остальных друзей 4. Осознав основы, начинаем мучать флешку (данные все будут потеряны, посему лучше сохранить все заранее)
Все действия выполнять с ПРЕДЕЛЬНОЙ аккуратностью, иначе можете че-нить грохнуть. Я буду описывать, как делал для себя, вы же можете попробовать свои параметры... Заодно и опытом поделитесь 1. Определяем какое устройство (номер) у нас флешка : fbinst --list Предположим, что она (hd1)
2. Форматируем флешку: fbinst (hd1) format --force --fat32 --zip --align --unit-size 8 На этом этапе создана структура разделов, файловой системы и сгенерированы несколько MBR, кроме того выделена спец. область под файлы загрузчиков и др., флешка создавалась из расчета, чтобы определялась как USB-ZIP или USB-HDD (USB-ZIP полезен для старых биосов, где нет поддержки USB-HDD)
3. Проверяем области хранения файлов (этой командой будете пользоваться и позже, после добавления файлов): fbinst (hd1) info
4. Ложим файлы, как пример: grldr и ntldr на диск D: (чтобы не заморачиваться с путями) 5. Прописываем их, например так: fbinst (hd1) add grldr d:\grldr fbinst (hd1) add ntldr d:\ntldr 6. Проверяем: fbinst (hd1) info 7. Создаем на диске d: текстовый файлик с названием fb.txt, его содержимое ниже:
Code
default 0 timeout 5 text "Please choose menu" text "F1. grldr" menu F1 grldr grldr text "F2. ntldr" menu F2 grldr ntldr
8. Вписываем его на флешку: fbinst (hd1) add-menu fb.cfg d:\fb.txt 9. Проверяем: fbinst (hd1) info 10. Добавляем menu.lst на флешку, ну и другие файлы... Перезагружаемся и глядим что получилось
Более подробную информацию можно найти по ссылкам данным выше, это больше учебный пример, также можно добавить на флешку syslinux, другие загрузчики, другие файлы... Вообщем читайте форум, я еще в процессе изучения этой утилиты.
***
Добавил архив с примером использования fbinst. Как им пользоваться: 1. Расспаковать в какую-либо папку 2. Обязательно проверить, что ваша флешка определяется как устройство (hd1), если это не так, то изменить имя устройства в fbinst\fbinst.cmd 3. Запустить файл fbinst\fbinst.cmd. Он отформатирует вам флешку, с созданием 2х спец. областей размером по 100Мб, впишет вам 3 загрузчика, создаст меню. После этого можете перезагружаться и проверять))), при этом флешка выглядит как пустая, файлы записываются в скрытое место.
После форматирования с помощью утилиты, флешку обязательно "передернуть", т.е. вытянуть и вставить обратно, т.к. Windows кеширует данные и могут быть проблемы.
Пример учебный, будет дорабатываться позже, пока для понимания как и что делает fbinst он подойдет)))
***
GUI для fbinst FbinstTool v1.504 страница для скачки http://bbs.znpc.net/viewthread.php?tid=5641 После первого запуска, методом научного тыка выбираем второй пункт меню с правой стороны, самое верхнее субменю, язык English
***
Update #3 Чуть изменен fbinst.rar (добавлены memdisk и DOS 6.22 для демонстрации возможностей использования), изменил размеры скрытых областей в сторону уменьшения :), стало 10 и 50
26.03.2010 файл удалён по просьбе kDn
Сообщение отредактировал kDn - Суббота, 25.07.2009, 01:58
Sh1td0wn, kDn, Kupr_Soft Может быть стоит открыть отдельный топик "HPUSBF и HPUSBFW" или "Загрузочная флэшка из командной строки" и перенести в него часть обсуждения отсюда.
Во-первых, не хотелось бы засорять тему уважаемого kDn отвлеченными вопросами. В этот топик люди приходят с вопросами по конкретной программе, а мы тут изрядно отвлеклись от нее.
Во-вторых, похоже, что намечается решение вопроса о создании загрузочной флэшки из командной строки. Да и по поводу "HPUSBF и HPUSBFW" мнения разошлись. (Я, кстати, тоже не имею нареканий к HPUSBFW)
@DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Среда, 05.05.2010, 12:54
ПоддЭрживаю мисл! ибо развели тут флуда...бррр... заодно закину утилу на склад... со ссылкой на неё в шапке...надо создать рядом темку...или может в топике КАК форматировать флешку... хотя там про вариант для СД определения... NEW! Моя сборка - Kupr_Soft-Flash_4.4 ...Не ленитесь поднять репу =)
Дело в том что старый скрипт немного опасен для применения, были уже случаи - убивания HDD при не внимательном запуске. Наиболее новый вариант лежит тут: http://www.boot-land.net/forums/index.php?showtopic=10020, либо на руборде, либо в этой теме тоже на одной из страниц ссылки выкладывал.
скачал (http://www.boot-land.net/forums/index.php?showtopic=10020), опробовал... получилось то же:
Quote (Kupr_Soft)
попробовал fbinst_empty fbinst ОБА отваливаются опрашивают находят влешку потом не находят mbr соглашаюсь форматить (или отказываюсь) и пишет оператион канселед =( блин...
На что Вы ответили:
Quote (kDn)
Kupr_Soft, ну значит теперь так просто не отстану Если в скрипте есть бага, то ее нужно поправлять. Но для этого мне нужен либо скрин, либо лог ваших действий. Форматирование, естественно, нужно выбрать, его пропускать можно только в том случае, если структура скрытой области уже ранее была создана.
Почитал fbinst.cmd, нашел: :Work rem Detect (ud) zone, ask to format drive if defined format (call format.cmd %%flash%%) fbinst.exe !flash! info>nul if not %errorlevel%==0 ( set /p ask=fbinst ^(ud^) zone not found, format drive? [Y/N]: if not "%askf%"=="%ask:Y=%" ( call format.cmd %%flash%% ) else ( echo Operations canceled...&pause>nul & goto :eof ) ) убрал букву f из "%askf%" заработало. НО! биос перестал видеть флешь как загрузочную... С уважением, Александр
дык наверно отформатировалась нестандартно там-же она умеет делать флешку и сдромом и хардом =) и зип драйвом... она спецон для этого так что скорее всего... пробуй посмотреть как в винде видится? как фиксед или ремовабле? и поищи в биосе во всех местах, типа как дисковод, как хард, как сдром, как зип драйв... как я понимаю проблема в этом...
AleXP, эх... поглядел у себя, последняя правка батника была 11.12.2009... Окромя всего прочего текущие версии fbinst.exe у меня от 19.11.2009 и 23.11.2009. Там этого глюка нет Но вам полюбому большое спасибо. К сожалению, у меня на этой неделе совсем не было времени заниматься флешками или чем-нить подобным. Мне бы еще недельку простоять, да продержаться. Дальше проще будет. В отпуск хочу .
Так что, если вас еще интересует работа fbinst, то будет это чуть позже. Сейчас сил нет.
Quote (Kupr_Soft)
там-же она умеет делать флешку и сдромом и хардом =)
сидиромом не умеет))), для этого нужны спец. утилиты под конкретные контроллеры... fbinst умеет только USB-HDD и USB-ZIP
действительно... после очередного форматирования - USB-HDD.
Quote (kDn)
Так что, если вас еще интересует работа fbinst, то будет это чуть позже. Сейчас сил нет.
Очень интересует... ах как интересует... Где-то с полгода-год назад воспользовался вашей утилитой... горя не знал (форматил флешь, безстрашно отдавал в чужие руки и т.п.). Недавно ко мне обратился знакомый, попросил ему так же сделать, соответственно была скачана свежая версия fbinst... ну а дальше Вы уже знаете. Сейчас возникла другая проблема: после очередного (-ых) форматирования (-й) в надежде, что "АВОСЬ" поможет, перестала видеться картинка в обоих меню и сами меню... пропали Т.е. при F1 и F2 открываются разные меню, но там 4 и 5 строк соответственно, причем первая строка меню по F2 - вызов меню (ud)/menu.lst не срабатавает. Вторая строчка (такая же видится первой при F1) - поиск menu.lst в трех местах (насколько я понял). Остальные - командлине, перезагрузка, выкл. При многократных переформатированиях (в т.ч. с другими утилитами форматирования флешей) - та же история, причем - на обоих флешках. Мною были изменены оба меню из "примаре", а именно - добавлен пункт загрузки hirena и сам hiren.ima добавлен в папку - boot. Также в .ini добавлена сотня мегов для extended области. Вопрос: Куда копать? С уважением, Александр
При многократных переформатированиях (в т.ч. с другими утилитами форматирования флешей) - та же история, причем - на обоих флешках.
Если со стандартной поставкой от kDn у Вас флэшка формируется нормально, то проблема, скорей всего, в модернизации "под себя". Вы обратили внимание, что необходимо следить не только за объемом собственно "primary" и "extended" частей, но и за количеством байтов выделяемых на "каталог", т.е. на список файлов (параметр --list-size)? Учитывайте также, что каждая запись в списке содержит полный путь к файлу раздела (ud), т.е. чем длинее названия файлов и папок, и чем больше глубина вложения папок, тем больший резерв нужно отвести под --list-size @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Рекомендую внимательно присмотреться всеже к набору утилит: RMPrepUSB, релиз: RMPrepUSB_2.0.737_REL.zip - живут на бутленде ( http://www.boot-land.net/forums/index.php?showtopic=7739 ) . Желающие также могут принять участие в подготовки файла перевода, т.к. следующая версия будет многоязыковой. В наборе есть очень даже приличные файлы помощи, хорошо освещены различные варианты создания флешек, их особенности, вопросы переносимости и работы под разными версиями BIOS. Автор - постоянно работает над развитием утилит. Короче говоря - оно того стоит 100%. Есть кстати, 3 штуки диагностических MBR, которые помогут понять, почему какая-нить конкретная флешка работает плохо или не работает.
В общем-то для себя сформировал тройку лидеров по созданию/управлению загрузкой и работой с флешки: 1. fbinst 2.-3. BootIce и RMPrepUSB
Итак, Создание универсальной мультизагрузочной флешки с помощью FBINST, и в файловой системе NTFS 1) Выполнить ВСЕ, что в шапке темы. 2) Выполнили все? Отлично Достаем флешку из компа, и снова втыкаем.
Затем заходим в Панель Управления--> Администрирование--> Управление Компьютером--> Запоминающие устройства--> Управление дисками
Находим там свою флешку. У нее будет два раздела. Нам нужен тот, что в FAT32. Щелкаете по нему правой кнопкой мышки, выбираете Форматировать, выбираете файловую систему NTFS. Жмете ОК. Всё
Добавлено (17.06.2010, 00:18) --------------------------------------------- Блин...... так и знал, что что-то обязательно будет не так.... Если будете грузиться с флешки, не используйте команду find --set-root Grub4dos выдает ошибку "Файл не найден"....
Ну вот пример (скрин не могу сделать, в QEMU все работает, но реальном аппарате - с одним условием, но об этом немного попозже).
Code
title DOS BootCD - Загрузка DOS-LINUX программ find --set-root /menu.lst kernel /boot/memdisk initrd /dos/dos.ima
В QEMU все работает, а на реальном аппарате нет. НО, если в menu.lst этот же самый код записать немного по другому:
Code
title DOS BootCD - Загрузка DOS-LINUX программ kernel /boot/memdisk initrd /dos/dos.ima
Без find --set-root
или так
title DOS BootCD - Загрузка DOS-LINUX программ kernel (fd0,0)/boot/memdisk initrd (fd0,0)/dos/dos.ima
То все работает. Не знаю, к сожалению, почему так...
Просто флэшка определилась как USB-FDD или USB-ZIP. Можно ее перемапить как hd У уважаемого kDn был пример
Кстати, да, вопрос. По описанию команды find можно понять, что она работает на всех доступных устройствах (иначе зачем опции --ignore-floppy и --ignore-cd), а фактически на (fd0,0) ничего не ищет.
Думаю так. Floppy - это устройства (fd0), (fd1) и т.д. На них же нет разделов. Т.е. в нашем случае это все же USB-ZIP, а у GRUB-а возможно с ним прокол? Нужно уточнить у kDn.
Да, чуть не забыл. Если в политиках флэш-диска (Свойства-Оборудование-кнопка "Свойства"-Политики) переключить настройку в положение "Оптимизировать для выполнения", то в стандартном диалоге "Форматирование" появится пункт "NTFS". Только после форматирования, все таки верните переключатель в исходное положение. Иначе Вы рискуете потерять файлы при "выдергивании" флэшки без "Безопасного извлечения" @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Четверг, 17.06.2010, 10:27
Просто флэшка определилась как USB-FDD или USB-ZIP. Можно ее перемапить как hd
Хехех... Я как раз её форматировал в USB-ZIP. Потому, что у меня в BIOS'е нет пункта загрузки с USB-HDD. Только USB-FDD, USB-CDROM и USB-ZIP. Форматирование прогой от HP не помогает. Комп просто вешается, как только я подключаю флешку (даже POST не проходит)
Да. Вот, поднял из своих записей рецепт от уважаемого kDn. Правда, не знаю насколько он свежий
############################################### # После исполнения этого блока команд, флешка всегда (hd0), # если загрузка с (cd) - ничего не происходит # Также обходим повторные вызовы, например после configfile /menu.lst errorcheck off # Вырубаем "лишние" сообщения, выводимые на экран (или по крайней мере пытаемся) debug off serial --unit=0 --speed=115200 terminal --silent serial #terminal --silent --timeout=10 console serial # На всякий случай убираем все мапинги и прочее... checkrange 0x00,0x01 read 0x8280 && map --unmap=0:0xff checkrange 0x00,0x01 read 0x8280 && map --floppies=2 # Сдвигаем реальные HDD (предполагается, что их не более 4 штук, но можно добавить ) checkrange 0x00,0x01 read 0x8280 && map (hd3) (hd4) checkrange 0x00,0x01 read 0x8280 && map (hd2) (hd3) checkrange 0x00,0x01 read 0x8280 && map (hd1) (hd2) checkrange 0x00,0x01 read 0x8280 && map (hd0) (hd1) # Мало ли, как отдетектилась флешка, если как (fd1), то ремапим её. checkrange 0x01 read 0x8280 && map (fd1) (hd0) checkrange 0x00 read 0x8280 && map (fd0) (hd0) # Меняем местами флоппики (закомментированно из-за проблем...) #checkrange 0x00 read 0x8280 && map (fd0) (fd1) #checkrange 0x00 read 0x8280 && map (fd1) (fd0) # Применить мапинг, и установить новое загрузочное устройство. checkrange 0x00,0x01 read 0x8280 && map --hook # Переопределить root-устройство find root (hd0,0) || rootnoverify (hd0,0) # Убираем "лишний" флопик (закомментированно из-за проблем...) #ls (fd1)/menu.lst && map --floppies=1 #geometry (fd0) || map --floppies=0 # Включаем консоль и нормальный режим отладки terminal console terminal graphics debug normal errorcheck on ###############################################
@DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Четверг, 17.06.2010, 13:19