Пользовательского поиска
Суббота, 20.04.2024, 13:58
Приветствую Вас Гость | RSS
Главная | fbinst - Страница 14 - Форум | Регистрация | Вход
Меню Проекта
Форма входа
Логин:
Пароль:
Мы Рекомендуем:
Мнение Общественности
Какой объем должна занимать Мультизагрузочная флешка?
1. 8Gb
2. 4 gb
3. 16 Gb
4. 32 Gb
5. 2 Gb
6. 1 gb
7. 512 Mb
Всего ответов: 6156
Статистика
GreenFlash
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Sh1td0wn, asdqqww  
Форум » Мультизагрузочная флешка » Общий » fbinst (создание универсальной мультизагрузочной флешки)
fbinst
kDnДата: Четверг, 23.07.2009, 11:48 | Сообщение # 1
Программист
Группа: Проверенные
Сообщений: 817
Репутация: 66
Статус: Отсутствует
Ну что ж, давно не писал сюда всякого бреда))), пора сие дело исправить.
Последние эксперименты с 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. Осознав основы, начинаем мучать флешку (данные все будут потеряны, посему лучше сохранить все заранее)

Все действия выполнять с ПРЕДЕЛЬНОЙ аккуратностью, иначе можете че-нить грохнуть.
Я буду описывать, как делал для себя, вы же можете попробовать свои параметры... Заодно и опытом поделитесь wink
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 на флешку, ну и другие файлы... Перезагружаемся и глядим что получилось smile

Более подробную информацию можно найти по ссылкам данным выше, это больше учебный пример, также можно добавить на флешку syslinux, другие загрузчики, другие файлы...
Вообщем читайте форум, я еще в процессе изучения этой утилиты.

***

Добавил архив с примером использования fbinst. Как им пользоваться:
1. Расспаковать в какую-либо папку
2. Обязательно проверить, что ваша флешка определяется как устройство (hd1), если это не так, то изменить имя устройства в fbinst\fbinst.cmd
3. Запустить файл fbinst\fbinst.cmd. Он отформатирует вам флешку, с созданием 2х спец. областей размером по 100Мб, впишет вам 3 загрузчика, создаст меню. После этого можете перезагружаться и проверять))), при этом флешка выглядит как пустая, файлы записываются в скрытое место. smile

После форматирования с помощью утилиты, флешку обязательно "передернуть", т.е. вытянуть и вставить обратно, т.к. Windows кеширует данные и могут быть проблемы.

Пример учебный, будет дорабатываться позже, пока для понимания как и что делает fbinst он подойдет)))

***

GUI для fbinst
FbinstTool v1.504 страница для скачки http://bbs.znpc.net/viewthread.php?tid=5641
После первого запуска, методом научного тыка выбираем второй пункт меню с правой стороны, самое верхнее субменю, язык English

***

Update #3
Чуть изменен fbinst.rar smile (добавлены memdisk и DOS 6.22 для демонстрации возможностей использования), изменил размеры скрытых областей в сторону уменьшения :), стало 10 и 50

26.03.2010 файл удалён по просьбе kDn

Сообщение отредактировал kDn - Суббота, 25.07.2009, 01:58
 
ToJIuKДата: Среда, 18.01.2012, 04:30 | Сообщение # 196
Неизвестный
Группа: Пользователи
Сообщений: 17
Репутация: 3
Статус: Отсутствует
Да, syslinux.cfg существует и лежит в видимой части флешки , а вот ldlinux.sys я что то не найду.(может это ldlinux.BIN)

Добавлено (18.01.2012, 04:30)
---------------------------------------------
Да и ещё проблемка обнаружилась. На одном из компе при попытке загрузить внешнее меню грузиться только командная строка.При попытки из не подгрузить меню (configfile /menu.lst или configfile (hd0,0) /menu.lst) результатов не дают, грузиться снова командная строка, при этом внутренняя менюшка грузится на ура (configfile (ud)/menu.lst ) . На остальных 3х(пока) компах грузится нормально и внешнее меню и скрытое. Менял и груб и меню ставил просто текстовое ничего не помогает. Что посоветуете ?


Сообщение отредактировал ToJIuK - Среда, 18.01.2012, 04:30
 
AtlantДата: Воскресенье, 22.01.2012, 04:47 | Сообщение # 197
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
ToJIuK Наверное флешка отображается как флоп - fd0 или как что-то другое.
Пропиши find --set-root /menu.lst && configfile /menu.lst. Если не загрузит менюшку то командой find посмотри что за устройства видны, а с помощью ls (fd0)/ можешь посмотреть их содержимое (вместо fd0 пишем имя того устройства файлы которого хочешь увидеть). Есть еще вариант что флешка тупо не читается - груб4дос не может смонтировать раздел, тут нужно флешку грузить плопом или бутитом.
 
ToJIuKДата: Воскресенье, 22.01.2012, 13:15 | Сообщение # 198
Неизвестный
Группа: Пользователи
Сообщений: 17
Репутация: 3
Статус: Отсутствует
Atlant флешка определялась как (hd0,0) Потому что, как я понимаю отрабатывал код
Code
[/code]# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

timeout 30
default /default
foreground ffffff
background 0000ff
outline off

# После исполнения этого блока команд, флешка всегда (hd0), если загрузка с (cd) - ничего не происходит
# Также обходим повторные вызовы, например после configfile /menu.lst
# After execute this commands -> usb-drive always (hd0)
# Nested calls like configfile /menu.lst is ignored
errorcheck off
# Try to supress unneeded messages
# Вырубаем "лишние" сообщения, выводимые на экран (или по крайней мере пытаемся)
debug off
serial --unit=0 --speed=115200
terminal --silent serial
#terminal --silent --timeout=10 console serial
# Clearing mappings...
# На всяк случай убираем все мапинги и прочее...
checkrange 0x00,0x01 read 0x8280 && map --unmap=0:0xff
checkrange 0x00,0x01 read 0x8280 && map --floppies=2
# Shifts (hd) devices (4 hdd by default)
# Сдвигаем реальные HDD (предполагается, что их не более 4 штук, но можно добавить <img src="http://s9.ucoz.net/sm/23/smile.gif" border="0" align="absmiddle" alt="smile" /> )
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)
# Maybe USB-ZIP like (fd1) or (fd0) ?
# Мало ли, как отдетектилась флешка, если как (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)
# Mapping changes
# Применить мапинг, и установить новое загрузочное устройство.
checkrange 0x00,0x01 read 0x8280 && map --hook
# Переопределить root-устройство
find
root (hd0,0) || rootnoverify (hd0,0)
# Try to hide unnecessary floppies
# Убираем "лишний" флопик (закомментированно из-за проблем...)
#ls (fd1)/menu.lst && map --floppies=1
#geometry (fd0) || map --floppies=0
# Enable messages output
# Включаем консоль и нормальный режим отладки
terminal console
terminal graphics
debug normal
errorcheck on

и при вводе команды Root , выдавал значение (hd0,0). Хотя БИОС наверняка определял ее как дискету, правда в самом биосе написано было, что это HardDisk . Может мне надо было форматировать флешку как USB-ZIP, а не USB-HDD?При форматировании в USB-ZIP, флешка на новых компах будет определятся? Будут ли какие нибудь потери в скорости или ещё какие нить минусы по сравнению с USB-HDD?
 
AtlantДата: Воскресенье, 22.01.2012, 17:59 | Сообщение # 199
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Я не юзал fbinst, не форматировал флешку как USB-ZIP/USB-FDD потому что имея флешку отформатированную как винчестер имеем глюки на старых матерях, а fbinst и разные форматирования только усложняют жизнь.

Это было имхо, а сейчас по сути. Есть мать которая определяет флешку как флоп (в биосе флешка видна в разделе флопиков), хоть она и отформатирована как винчестер. В итоге при загрузке она видна под груб4дос как (fd0) и переименовать ее в (hd0,0) выше приведенным меню не получается. Тут может помочь Plop или BootIt в режиме загрузчика (в нем тоже есть дрова для Usb). Для этого загружаемся и выбираем в Setting - Enable USB 1.1, и пару других пунктов с USB если необходимо, а потом Resume - и выбрать нашу флешку.
ЗЫ Если использовать BootIt-BM.img с Grub4dos то настройка Item > Hiding As-Is меняеться на Auto (тогда при загрузке выбранного устройства разделы на дисках и флешках с флагом Auto станут скрытыми).


Сообщение отредактировал Atlant - Воскресенье, 22.01.2012, 18:01
 
ToJIuKДата: Воскресенье, 05.02.2012, 12:08 | Сообщение # 200
Неизвестный
Группа: Пользователи
Сообщений: 17
Репутация: 3
Статус: Отсутствует
Quote (ded2007)
Если со стандартной поставкой от kDn у Вас флэшка формируется нормально, то проблема, скорей всего, в модернизации "под себя".
Вы обратили внимание, что необходимо следить не только за объемом собственно "primary" и "extended" частей, но и за количеством байтов выделяемых на "каталог", т.е. на список файлов (параметр --list-size)?
Учитывайте также, что каждая запись в списке содержит полный путь к файлу раздела (ud), т.е. чем длинее названия файлов и папок, и чем больше глубина вложения папок, тем больший резерв нужно отвести под --list-size

Возник вопрос: Параметр --list-size влияет только на (ud)раздел? К видимый разделу он никакого отношения не имеет?
Ситуация следующая:
При создании мультизагрузной флешки при помощи Fbinst, сразу после форматирования флешка отлично грузится на компьютере, но после токо как я переношу на видимый раздел софт и программки (общий объем всей информации (15Гб)),то с флешки перестает грузится "внешнее меню" на этом компьютере ,при этом висит надпись "Starting cmenu..."...,идет чтение с флешки(судя по индикатору),но вместо меню грузится командная строка (смотрите выше); хотя внутреннее грузится. На остальных все меню по прежнему грузиться нормально.
--list-size у меня (9000)

Добавлено (05.02.2012, 12:08)
---------------------------------------------
PS.И ещё заметил глюк: на одном из компов(Совсем другом ,тот так и не заработал :() флешка подвисала при загрузке меню "Starting cmenu...". Проблема была в

Code

# После исполнения этого блока команд, флешка всегда (hd0), если загрузка с (cd) - ничего не происходит    
# Также обходим повторные вызовы, например после configfile /menu.lst    
# After execute this commands -> usb-drive always (hd0)    
# Nested calls like configfile /menu.lst is ignored    
errorcheck off    
# Try to supress unneeded messages    
# Вырубаем "лишние" сообщения, выводимые на экран (или по крайней мере пытаемся)    
debug off    
serial --unit=0 --speed=115200    
terminal --silent serial    
#terminal --silent --timeout=10 console serial    
# Clearing mappings...    
# На всяк случай убираем все мапинги и прочее...    
checkrange 0x00,0x01 read 0x8280 && map --unmap=0:0xff    
checkrange 0x00,0x01 read 0x8280 && map --floppies=2    
# Shifts (hd) devices (4 hdd by default)    
# Сдвигаем реальные HDD (предполагается, что их не более 4 штук, но можно добавить <img src="http://s9.ucoz.net/sm/23/smile.gif" border="0" align="absmiddle" alt="smile" /> )    
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)    
# Maybe USB-ZIP like (fd1) or (fd0) ?    
# Мало ли, как отдетектилась флешка, если как (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)    
# Mapping changes    
# Применить мапинг, и установить новое загрузочное устройство.    
checkrange 0x00,0x01 read 0x8280 && map --hook    
# Переопределить root-устройство    
find    
root (hd0,0) || rootnoverify (hd0,0)    
# Try to hide unnecessary floppies    
# Убираем "лишний" флопик (закомментированно из-за проблем...)    
#ls (fd1)/menu.lst && map --floppies=1    
#geometry (fd0) || map --floppies=0    
# Enable messages output    
# Включаем консоль и нормальный режим отладки    
terminal console    
terminal graphics    
debug normal    
errorcheck on


Убрал это ремап и Внешнее меню загрузилось.


Сообщение отредактировал ToJIuK - Воскресенье, 05.02.2012, 13:00
 
mrdiniaДата: Среда, 08.02.2012, 19:35 | Сообщение # 201
Неизвестный
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Отсутствует
Люди, как можно создать мульт флешку с Acronis, Paragon, ESET, Dr.Web, Касперским, Тотал командером и операционками???
 
Sh1td0wnДата: Среда, 08.02.2012, 19:39 | Сообщение # 202
Программист
Группа: Модераторы
Сообщений: 3829
Репутация: 210
Статус: Отсутствует
mrdinia, 1) Это оффтопик в данной теме
2) См. текст по ссылке в моей подписи
3) Идите в поиск по статьям и по форуму.


НАЖМИ МЕНЯ, прежде чем что-либо написать
 
МегаVольтДата: Четверг, 23.02.2012, 09:54 | Сообщение # 203
Неизвестный
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Отсутствует
Подскажите, реально ли с USB-ZIP флешки с grldr и menu.lst (один раздел) автоматически инициализировать работу grldr USB-HDD с последующей полноценной работой с него?
Например:
Code
find --set-root /grldr
chainloader /grldr

И если можно, тo как в таком случае прописать и исключить поиск и загрузку прежнего grldr вне зависимости от конфигурации подопытных компов?
По сути FDD-флешка будет являться ключем для запуска работы с USB-HDD.


Сообщение отредактировал МегаVольт - Четверг, 23.02.2012, 09:54
 
AtlantДата: Четверг, 23.02.2012, 12:51 | Сообщение # 204
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
На USB-HDD создать маркерный файл USB-HDD.tag и тогда загрузиться через:
Quote
find --set-root /USB-HDD.tag
chainloader /grldr

Еще на всяк пожарный кинь на USB-ZIP плоп, чтоб можно было через него загрузить USB-HDD.
 
BarbaДата: Четверг, 23.02.2012, 13:00 | Сообщение # 205
Экспериментатор
Группа: Проверенные
Сообщений: 121
Репутация: 13
Статус: Отсутствует
МегаVольт, а разве нельзя просто использовать menu.lst с USB-HDD, например:
Code
title Загрузка с USB-HDD
configfile /путь к menu.lst на USB-HDD/HDD.lst

или
Code
title Загрузка с USB-HDD
find --set-root --ignore-floppies /путь к menu.lst на USB-HDD/HDD.lst
configfile /путь к menu.lst на USB-HDD/HDD.lst

biggrin Конечно, при условии, что ЭТОТ самый USB-HDD определится.
 
МегаVольтДата: Четверг, 23.02.2012, 13:15 | Сообщение # 206
Неизвестный
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Отсутствует
Atlant, Насчет маркера то, что надо! Plop можно будет врубить и с HDD когда на него управление перейдет я так думаю, в принципе он понадобится только в качестве резервного варианта:)
Barba, Ты, подозреваю, не понял. На USB-HDD находится загрузчик и весь дистриб объемом около 40гб, поэтому экспериментировать с ним в качестве USB-ZIP исключено. А в твоём случае с USB-HDD берутся лишь инструкции для USB-ZIP. Под словом "ключ" я подразумевал инициализацию запуска загрузчика USB-HDD c USB-FDD
на старых компах без поддержки запуска с USB-HDD.


Сообщение отредактировал МегаVольт - Четверг, 23.02.2012, 13:25
 
BarbaДата: Четверг, 23.02.2012, 14:14 | Сообщение # 207
Экспериментатор
Группа: Проверенные
Сообщений: 121
Репутация: 13
Статус: Отсутствует
biggrin МегаVольт, ЭТО ты, наверное, меня не понял. Зачем тебе ЕЩЁ один загрузчик, если с USB-ZIP флешки ты ОДИН уже загрузил? loony
Осталось только ЕМУ показать, что требуется выполнить. Т.е. ты ему подсовываешь менюшку со своего USB-HDD. ok


Сообщение отредактировал Barba - Четверг, 23.02.2012, 14:16
 
AtlantДата: Четверг, 23.02.2012, 14:49 | Сообщение # 208
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
Далеко не факт что загрузив USB-ZIP через груб4дос можно увидеть USB-HDD, и чтоб он еще определялся как хард, того и советую плоп. Заметил баг на паре материнках 478 сокета - если флешка, USB-HDD размечены одним разделом то в биосе железка определяется в менюшке с флопами, если же создать второй раздел (неважно с какого типа и с какой ФС) то флешка, USB-HDD будет видна биосом как хард. И соответственно если биос видит как флоп то при загрузке груб4дос определяет его (fd0) и образы от мелкософта отказываются грузить или с глюками, а когда биос видит устройство хардом то в груб4дос (hd0,0) и все работает.
 
МегаVольтДата: Четверг, 23.02.2012, 15:14 | Сообщение # 209
Неизвестный
Группа: Пользователи
Сообщений: 17
Репутация: 0
Статус: Отсутствует
Barba, Я пока допетривал что имеешь ввиду чуть вывих мозга не получил, но теперь до меня доходит, но слабо... wacko Но если ты сделаешь милость досканально объяснить происходящий процесс, (от ребута после настройки биоса до опроса загрузчиком menu.lst) буду тебе очень признателен smile Боюсь возни с мапингом и рутом в
menu.lst из-за манипуляций с разными носителями.

А заодно хочу спросить может ли загрузчик найти нужный носитель по уникальному идентификатору и если может, то как узнать его и как прописать загрузчику инструкцию? Где-то в этой теме что-то похожее было, но прочитав 14 страниц полупонятных плясок с бубном не осилю заново...
 
AtlantДата: Четверг, 23.02.2012, 15:25 | Сообщение # 210
Эксперт
Группа: Проверенные
Сообщений: 2210
Репутация: 221
Статус: Отсутствует
МегаVольт Можно отредактировать внутреннее меню груб4дос с помощью Bootice чтоб вместо поиска menu.lst искал USB-HDD.tag. Поиск останавливается на первом найденном устройстве, сделает его корневым и подключит меню.
 
Форум » Мультизагрузочная флешка » Общий » fbinst (создание универсальной мультизагрузочной флешки)
Поиск:
Чат

Copyright GreenFlash © 2024
Рейтинг@Mail.ru