Ну что ж, давно не писал сюда всякого бреда))), пора сие дело исправить. Последние эксперименты с 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
ded2007, замечания верные))), спасибо, чуть доработаю скрипт. Особенно, что касается использования символа "!". Но тут очень тяжело бороться... Ничего не мешает кому-нить вписать "!" в имя файла или еще куда-нить... так что subst не спасет. Скорее всего в новой версии сделаю сканирование каталога/подкаталогов на предмет этого символа с выдачей предупреждения.
Quote (ded2007)
"чайники" умудрялись удалить папку Windows
это не вина неопытных пользователей, а всецело вина админов - не умеют настроить политики безопасности, значит получают себе лишние проблемы. На крайний случай ничего не мешало давать пользователям работать под виртуалками - пусть грохают все что надумают. В конце дня переподымать виртуалку. Ну или ряд других решений, типа GoBack и прочих.
В данном случае ставил задачу - максимально упростить и обезопасить работу с fbinst. Из разряда - отключили мозги, запустили и полетели.
kDn, Верно ли я формулирую. Если, Вы воспользовались скриптом от kDn, то в результате Ваша флэшка разбита на два раздела. Далее. 1. Первый раздел (ud) - скрытый, и состоит из двух частей "primary" и "extended". 2.На (ud) в качестве первого загрузчика установлен syslinux из меню, которого вызывается grldr прямо из скрытого раздела (ud) (на самом деле там несколько вариантов и от меню можно избавиться, но я упрощаю)
По-моему, его интересует загрузочная флэшка с ДОС-ом (в таком виде как это делает HPUSBFW, т.е. обычный загрузочный DOS-диск или дискета без ВСЯКИХ Менеджеров Загрузки). А ищется для того, чтобы прямо из ДОС-а установить на нее GRUB (можно прямо на виртуалке MobaLiveUSB, например, BOOTLACE-ом) Такой вариант интересует и меня.
Уважаемый kDn, а не разбирались ли Вы с grubinst-ом? grubinst-1.1-bin-w32-2008-01-01.zip? У меня он почему-то не пошел. Вдруг ЭТО спасет отца Русской Демократии... ? @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Пятница, 30.04.2010, 10:48
ded2007 Ну, в принципе верно сказано...только мне не в дос а под Виндой просто из сторонней проги нужно сделать: возможность выбрав ТОЛЬКО флешку (по номеру там или по букве) далее автоматом на неё установить FAT32 и ситемные файлики DOS (вне зависимости от размера флешки, HPUSBFW это точно позволяет)
к сожалению, HPUSBFW не существует в командной строке, ну или типо того, ибо сам процесс инсталяции нужен скрытым, тихим...что-б эзера не отвлекало и не косалось. Он выбрал флешку нажал кнопку, всё флешка готова...
продолжаю пытатся курить fbinst
fbinst -list fbinst (hd1) format --force
во первых, форматирует в FAT16 если размер ему не нравится требует передёргивания флешки и не понятно как прикрутить системные файлы ДОС
grubinst как я понял очитав хелп, вообще предназначена тупо для Груба и мне с моим ДОС не подходит никак...
RMPrepUSB там есть: To make a DOS bootable USB-ZIP UFD ---------------------------------- 2. RMPARTUSB DRIVE=3 DOSZIP format as 512MB MSDOS ZIP bootable 3. Use Explorer to copy DOS boot files (IO.SYS, COMMAND.COM and MSDOS.SYS).
To make a DOS bootable USB-FDD UFD (A:) --------------------------------------- 2. RMPARTUSB DRIVE=3 DOSZIP USBFDD format as MSDOS large floppy 3. Use Explorer to copy DOS boot files (IO.SYS, COMMAND.COM and MSDOS.SYS).
Форматирует в FAT16 если размер ему не нравится! не айс... вот пункт 3 НЕ срабатывает, тупо копирование файлов системных в корень НЕ делает флешку загрузочной, ругается она... (проверил на парочке флешек) Disk IO Error
ded2007, 1. Угу, абсолютно верно 2. Неа, первичный загрузчик fbinst, он уже подгружает или одну из версий grub4dos (внутреннюю/внешнюю), или syslinux, или ntldr, или образ дискеты с DOS (если нужно, в моем случае, в самом начале это показывал, потом выкинул за ненадобностью), или сам файл io.sys (но только старших версий, от Windows 9x). Т.к. вариант с fbinst на данный момент самый универсальный, ИМХО альтернатив нет, разве что вариант TRIPLE-MBR, но он тяжело реализуется и все равно хуже, чем fbinst.
Quote (ded2007)
А ищется для того, чтобы прямо из ДОС-а установить на нее GRUB (можно прямо на виртуалке MobaLiveUSB, например, BOOTLACE-ом)
Зачем? В чем смысл таких манипуляций? ИМХО я знаю два варианта автоматизации, оба назвал выше. HPUSBFW забыть! Он делает не совсем правильные флешки. Это уже давно известно. grubinst конечно знаю, но от него в конце концев отказались разработчики в пользу BOOTICE и fbinst. Я тоже отказался, смысла использовать не вижу вообще.
Вот что значит хороший стимул . Но до скрина с запущенным скриптом - вопрос о снижении репы повисает в воздухе, ибо новичкам задавать вопросы не воспользовавшись поиском, и не проверив готовые решения можно. А вам - низя))). Предлагаю поглядеть имеющиеся батники, если будут вопросы по сути - естественно помогу чем смогу
запустил а он вываливается скрипт ентот... created by kDn 11.12.2009 нашёл и юзал
попробовал fbinst_empty fbinst ОБА отваливаются опрашивают находят влешку потом не находят mbr соглашаюсь форматить (или отказываюсь) и пишет оператион канселед =( блин...
поковырялся с BOOTICE_0.76.rar неплохая утила, форматит в фат32 всякие мбр на борту имеет но всё равно получить конечный вариант загрезочного ДОС мне не удалось... да и консольного управления...тоже..
Kupr_Soft, ну значит теперь так просто не отстану Если в скрипте есть бага, то ее нужно поправлять. Но для этого мне нужен либо скрин, либо лог ваших действий. Форматирование, естественно, нужно выбрать, его пропускать можно только в том случае, если структура скрытой области уже ранее была создана.
ну я в принципе лог действий описал... тикает опрос флешки с 10 до нуля, находит... говорит мол нету mbr ну и предлагает форматить, я соглашаюсь и тут-же оператион канцелед ну и длёт нажатия клавиши и выходит... всё... NEW! Моя сборка - Kupr_Soft-Flash_4.4 ...Не ленитесь поднять репу =)
targetdevice Specifies the drive letter or the devID (HD0, HD1, HD2,...) of a USB disk storage device to format. -FS:filesystem Specifies the file system type (FAT, FAT32, or NTFS). Default: FAT. -V:label Specifies the volume label. -Q Performs a quick format. -A:size Overrides the default allocation unit size. Valid values are 512, 1024, 2048, 4096, 8192, 16K, 32K. NTFS compression is not supported for allocation unit sizes above 4096. -C Files created on the new volume will be compressed by default. -B[:dosdir] Makes the target drive DOS-bootable after formatting. The dosdir parameter specifies the folder where DOS system files can be found. -S:{dir|file} Copies the specified file or the files/folders in the specified folder to the target drive after formatting. -D:dir Specifies the target folder on the target drive of the copy operation initiated by -S. Default: The target root. -Y Suppresses prompting for confirmation. Due to the destructive nature of the utility, this option should only be used by experienced users. -{?|H} Displays this usage screen.
Notes ----- The parameters enclosed in square brackets ([]) are optional.
HPUSBF contains Win98-based DOS system files. These files can be used on HP Hi-Speed USB 2.0 Drive Keys only, and will be applied if the dosdir parameter is not specified with -B. All other devices require the dosdir parameter to be specified with -B to inform HPUSBF of the location of the DOS system files to be used.
пока ещё не разбирался и не тестил...просто удалось узнать что она существует и после долгих поисков и мытарств найти смог...
UPD РАБОТАЕТ! проверил написал простенький батник HPUSBF.EXE e: -FS:FAT32 -V:Kupr -b:c:\4.2 -Q -y в папке c:\4.2 лежат системные файлы COMMAND.COM IO.SYS MSDOS.SYS и вуаля, готовая флешка по тихому =) всё, теперь осталось её к Инсталлеру моему прикрутить и счастье-есть =)
остался один ньюансик, желательно освободить диск перед этим... том используется другим процессом... к сожалению прога сама этого НЕ умеет, так что ищу утилитку способную Отключить Использующийся том...
и к стати кто найдёт HPUSBF (1.00.012).EXE бОлее поздней версии, кланяюсь в ноги =)
Там же и неплохая подборка утилиток для батников: kDn, рекомендую! XEcho - расширенное ECHO, disknum - возвращает номер диска по заданной букве тома (через Errorlevel), ListUsbDrives, RunAsAdmin,... @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Среда, 05.05.2010, 10:10