Альтернативы для замены PLoP Boot Manager. Делаем загрузочную флэшку с помощью grub4dos Plop boot manager установка


Вот список того что он умеет:
* CD/DVD boot without BIOS support
* USB boot without BIOS support (UHCI, OHCI and EHCI)
* Floppy boot
* Different profiles for operating systems
* Define up to 16 partitions
* No extra partition for the boot manager
* Hidden boot, maybe you have a rescue system installed and the user should not see that there is another system installed
* Boot countdown
* Hide partitions
* Password protection for the computer and the boot manager setup
* Backup of partition table data
* Textmode user interface 80x50
* Graphic user interface 640x480, 800x600, 1024x786, 1280x1024
* MBR partition table edit
* Start of the boot manager from harddisk, floppy, USB, CD, DVD
* Starting from Windows boot menu
* Starting from LILO, GRUB, Syslinux, Isolinux, Pxelinux (network)
* The boot manager is freeware

Самая любопытная его возможность - загрузка с USB и CD дисков на тех материнских платах, где эта возможность отсутствует (Старые материнские платы).
И что самое интересное, он позволяет получить USB 2.0 скорость на тех материнских платах, на которых эта возможность урезана (касается первых материнских плат, с поддержкой загрузки с USB устройств).

Например Ваша мат.плата выдаёт USB 2.0 скорость в ОС Windows или Linux, но при загрузке с USB работает на USB 1.1 и грузиться ОЧЕНЬ медленно .

Начнём Мы как обычно с установки.

Для начала скачаем последнюю стабильную версию Plop.
В моём случае это версия - plpbt-5.0.3
После распаковки zip архива я советую Вам сперва изучить файл readme.txt , в котором содержаться все инструкции по установке и прочая интересная и полезная информация.

Кратко рассмотрим некоторые варианты установки, благо разработчики позаботились о том, что-бы Plop можно было быстро и легко установить практически на любой носитель информации.

Хотите установить Plop на дискету?
Нет ничего проще, просто выполните:

Для ОС Linux :

dd if=plpbtin.img of=/dev/fd0

Для установки из-под DOS можно воспользоваться утилитой diskimg.com :
diskimg.com with diskimg -d a -w plpbtin.img

Хотите установить Plop на CD диск ?
Просто прожгите ISO образ на свой носитель.

Пользователи ОС Windows могут это сделать с помощью бесплатной программы для записи дисков - CDBurnerXP или воспользоваться любой другой программой для записи дисков.

Пользователи ОС Linux могут воспользоваться программой - cdrecord

cdrecord -v dev=devicename iso_image

Установка Plop:

Для ОС DOS:

загрузку с usb устройства и без лишних вопросов , то введите такую строку:


1README.TXT в директории с программой.

пример использования Plop:

Задача:

Решение:



Grub4DOS (usb1.1) => Plop => Grub4DOS (usb 2.0)

Устанавливаем:
Копируем файл plpbt.bin /boot
В файл menu.lst пишем:
title Start PLoP Usb driver
kernel /boot/plpbt.bin

Сохраняем и пробуем.

so образа через RAM :
menu.lst впишем следующие строки:

title Plop RAM
map --hook
chainloader (hd32)
boot

Сохраняем и пробуем.

HDD,CD-ROM диск или дискету USB

Plop автоматически LiveUSB накопитель.


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

Например, если Вам нужно сделать загрузку с usb устройства и без лишних вопросов , то введите такую строку:

plpcfgbt.exe stm=hidden cnt=on cntval=1 dbt=usb plpbt.bin

Полный список опций можно посмотреть в файле 1README.TXT в директории с программой.

А теперь рассмотрим реально полезный пример использования Plop:

Задача:

1) Получить USB 2.0 или близкую к нему скорость на тех материнских, которые работают с USB 2.0 только в загруженной ОС, а на этапе загрузки выдают USB 1.1

2) Загрузиться в PCI USB 2.0 внешнего конроллера.

Решение:

1) Устанавливаем Plop на ваш носитель информации, я решил воспользоваться свой BootFlash с Grub4DOS в качестве загрузчика.
Общая схема загрузки будет выглядеть так:

Grub4DOS (usb1.1) => Plop => Grub4DOS (usb 2.0)

Устанавливаем:
Копируем файл plpbt.bin на Flash накопитель, в папку /boot или в любое удобное для Вас место.
В файл menu.lst пишем:
title Start PLoP Usb driver
find --set-root --ignore-floppies /boot/plpbt.bin
kernel /boot/plpbt.bin

Сохраняем и пробуем.

Так-же можно сделать загрузку iso образа через RAM :
Скопируем ISO образ в корень диска, в файл menu.lst впишем следующие строки:

title Plop RAM
map --mem (hd0,0)/plop/plpbt.iso (hd32)
map --hook
chainloader (hd32)
boot

Сохраняем и пробуем.

2) В этом случае мы просто устанавливаем Plop на наш HDD,CD-ROM диск или дискету и в качестве устройства выбираем USB

Plop автоматически просканирует все USB порты и загрузить Ваш LiveUSB накопитель.

Думаю для ознакомления пока-что достаточно.
Возможно в будущим я продолжу публиковать информацию по этому замечательному загрузчику.

GRUB4DOS + PLoP Boot Manager -- это все что надо для мульти-загрузки компьютера с любого раздела жестких дисков, флоппи, USB, CD\DVD; а также с файлов-образов и загрузчиков на HDD, флоппи, USB, CD\DVD.

Сторонник простых решений для достижения цели. В данном случае - мульти-загрузка.
Все эти Акронис ОС Селектор, записи в сектора, множество дополнительных (и очень медленных) дискет, это как говорится через одно место к звездам. Популярный еще недавно BCDW уступает Grub4dos (grldr) по функциональности и удобству.

Запуск компа начинает BIOS (микросхема на материнке), который передает управление устройству, в порядке, выбранному в установках BIOS. В HDD управление передается в MBR (Master_Boot_Recodr, как правило, первые 512 байт жесткого диска). MBR передает управление в загрузочный сектор активного раздела (Booot_Sector - первые 512 байт раздела), где прописывается, какой загрузчик искать в этом разделе.

Утилитами BOOTICE.EXE BootSectGui.exe bootpart.exe легко изменить записи в MBR или Booot_Sector.

Для DOS-Win9x-WinME загрузчик это io.sys; для NT_4-5 (win4NT, win2000, winXP) это ntldt; для Windows-6 (Vista, Win7) это bootmgr; для Linux это kernel типа файла linux, или сжатого типа wmlinuz.

Установку winXP (предпочитаю устанавливать с жесткого диска) или запуск BartPE, LiveCD осуществляет SETUPLDR.BIN вместе с winnt.sif и TXTSETUP.SIF В персональных сборках эти файлы иногда модифицируют и переименовывают, соответственно внося изменения в SETUPLDR.BIN (в HEX редакторе, можно в notepad++.exe) и TXTSETUP.SIF что и где искать.

Изменить активность раздела (Make Partition as Active - bootable) можно в запустив Run\diskmgmt.msc или другой программой типа Paragon_HDM, Acronis, fdisk, cfdisk.

В win2000 и winXP NTLDR используя ntdetect.com передает контроль boot.ini, откуда можно передать управление внутрь папки операционной системы для запуска Ntoskrnl.exe

Multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="(0001)\Windows XP EN" /noexecute=optin /fastdetect /usepmtimer
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="(0011)\Windows XP EN" /noexecute=optin /fastdetect /usepmtimer

Вторая строка полезна в boot.ini, потому что...rdisk(0)partition(1) в boot.ini или (hd0,0) в grldr menu.lst или hda1 в Linux, назначается в HDD с которого запускается загрузчик. Если хотите загрузить Windows на другом HDD, а не с того HDD с которого запустились, то используется вторая строка, независимо к какому IDE подсоединен HDD. Если запуск не с HDD (флоппи, USB), то (hd0,0) назначается HDD, подсоединенному к IDE как Primary==>Master==>Slave.

С boot.ini можно также запустить другой загрузчик, включая скопированные в файл загрузочные сектора разделов жестких дисков.

C:\grldr="c:\grldr ==> Start GRUB4DOS as c:\grldr"
C:\plpbtldr.bin="c:\plpbtldr.bin ==> PLoP Boot Manager"
C:\hda3.dat="c:\hda3.dat ===> Start Lilo from hda3 boot sector to boot Linux"

В Windows-6 порядок: запуск bootmgr, хоть откуда, где в разделе есть \boot\bcd ==> \Windows\system32\winload.exe

Программы depends.exe Filemon.exe Regmon.exe помогут определить, какие *.dll, файлы, или записи регистра используют программы, соответственно определить чего не хватает для их работы.

Если ранее Boot Manager устанавливались обязательно в MBR, а Grub требовал отдельный раздел, то теперь Grub4dos - элегантно и просто (http://nufans.net/grub4dos). grldr это маленькая Unix подобная оболочка с набором команд для загрузки систем.

Через grldr Образы монтируются и исполняются как с жесткого диска (только если образ не фрагментарный), так и с полной загрузкой образа в оперативную память RAM, что ускоряет работу модулей.

Просто добавьте 373 кВ в ваш загрузочный раздел (обычно С:\) и грузитесь с чего может, и даже не может ваш комп, а также с *.iso и других образов с жесткого диска.

Скопируйте все с моего..\root\* в С:\ или где находится ваш boot.ini если загрузка идет с другого раздела. Полезно держать копии ntldr NTDETECT.COM boot.ini (в такой последовательности они грузятся) и предлагаемые здесь файлы grldr и menu.lst на нескольких разделах, флоппи, USB. Тогда при крахе одного можно загрузиться с других.

Если форматировать раздел или флоппи в DOS\Win95-98-ME, то вставится загрузчик для io.sys. Если форматировать в Win2000-XP то загрузчик ntldr, даже если форматируете в FAT.

Щелкните на С:\plpgenbtldr.exe - опросятся все загрузочные сектора, и генерируется файл c:\plpbtldr.bin (делать это после каждого изменения загрузочных секторов). Больше никаких настроек и меню не требуется.

В C:\boot.ini поставьте желаемое время timeout=(сек) демонстрации его меню и скопируйте в конец boot.ini 2 строки:

C:\grldr="Start GRUB4DOS"
C:\plpbtldr.bin="PLoP Boot Manager"

Первоначально boot.ini защищен от изменения - проще переместить С:\boot.ini как резерв в другое место, и сохранить новую редакцию (в архиве есть моя версия boot.ini). В WinXp boot.ini показывает только первые 10 строк после (а Windows-6 с прокруткой).

Помните, в момент загрузки загрузочный раздел всегда считается С:\
Потом Windows может назначить этому разделу другую букву. Поэтому в boot.ini всегда С:\.... даже если грузитесь с флоппи, USB, другой раздел. Но независимо, откуда запустившись, grldr начинает искать menu.lst начиная с (hd0,0). Детальнее, откройте в текстовом редакторе grldr и смотрите (измените) в конце файла порядок поиска menu.lst

При установке, Windows назначает С:\ активному (загрузочному) разделу в момент установки, независимо в какой раздел устанавливается и с какого будет работать Windows. Даже если позднее измените активный раздел, С:\ останется за тем же разделом. Ext2Mgr.exe - позволяет быстро изменить букву неактивного раздела.

Теперь при запуске компа будет открываться boot.ini меню на указанное вами timeout=(сек), где выбираете что загружать. По умолчанию, после timeout загрузиться что указано как default=.... или первое по списку.

1. C:\plpbtldr.bin="PLoP Boot Manager" загружает все устройства с чего у вас можно загрузиться, и что оригинально, загрузка с USB, когда материнка этого не поддерживает, и загрузка с логических разделов.

2. Теперь не надо каждый раз записывать *.iso образ на CD\DVD и медленно загружаться с дисковода.
C:\grldr="Start GRUB4DOS" откроет menu.lst (приложена моя версия, модифицируйте), где ранее указываете какой *.iso или другой образ, загрузчик хотите загрузить с жесткого диска или с USB или с оптического дисковода или с флоппи. С каждого последющего конечно медленнее.

Пример menu.lst
=========
color blue/green yellow/red white/magenta white/magenta
timeout 11
# default /default
default 2

Title /minint/setupldr.bin
find --set-root --ignore-floppies /minint/setupldr.bin
chainloader /minint/setupldr.bin

Title WinXP |chainloader (hd0,0)/ntldr on hda1
fallback 1
chainloader (hd0,0)/ntldr

Title Windows 7 or Vista |/boot/bootmgr
find --set-root /boot/bootmgr
chainloader /boot/bootmgr

Title /RusLive_Ram_Micro_2010_12_30.ISO ||--mem
fallback 2
find --set-root --ignore-floppies /RusLive_Ram_Micro_2010_12_30.ISO
map --heads=0 --sectors-per-track=0 /RusLive_Ram_Micro_2010_12_30.ISO (hd32) || map --mem --heads=0 --sectors-per-track=0 /RusLive_Ram_Micro_2010_12_30.ISO (hd32)
map --hook
root (hd32)
chainloader (hd32)

Title /HDDREG-1.51.ima |rootnoverify (fd0)+1
find --set-root --ignore-floppies /HDDREG-1.51.ima
map --mem /HDDREG-1.51.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

Title Symantec Ghost
root (hd0,1)
map --mem /BOOT/IMAGES/GHOST.GZ (0xff)
map --hook
chainloader (0xff)

Title /SC9PM=VCOM_Partition_Commander.GZ |--mem rootnoverify (fd0)+1
find --set-root /SC9PM=VCOM_Partition_Commander.GZ
map --mem /SC9PM=VCOM_Partition_Commander.GZ (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
=========

Основное отличие: PLoP Boot Manager передает управление загрузочным секторам разделов или устройств; а GRUB4DOS может загружать как загрузочные сектора разделов, так и загрузить файлы-образы, лоудеры, kernel (последнему как внутри *.iso образа, так и kernel на HDD).

Если используете grldr редко, то поместите ТОЛЬКО grldr и menu.lst рядом с boot.ini и в последнем добавить строку C:\grldr="Start GRUB4DOS". При запуске компа, ее выбор откроет заготовленный вами набор запусков из menu.lst.

Если используете grldr часто, и неохота ждать мелькание окон, переименуйте C:\grldr в C:\ntldr, а оригинальный ntldr, например в ntldr==, и запускайте его из grldr: chainloader (hd0,0)/ntldr== Это запустит boot.ini

Можно также установить grldr в MBR или Boot_Sector как устройства типа ЖД, CD\DVD, USB, так и в файл-образ. Также можно или установить файл grldr (создав menu загрузки внутри него) целиком в MBR или Boot_Sector, или просто вставить запись искать файл grldr как загрузчик.

Встречал много наворотов и программ для подготовки флэшки к запуску. Просто запустите..\WINGRUB\grubinst_gui.exe и вставьте в флэшку загрузочный сектор, запускать grldr. Поместите файлы grldr и menu.lst на флэшку и она готова. Добавляйте на флэшку файлы, и в menu.lst пути их запуска.

Или просто запускайте grldr с флэшки или с флоппи, и если там нет нужных (больших) файлов, то они могут искаться с опцией:
find --set-root / и запускаться с ЖД, если они там есть (см. выше, где grldr ищет menu.lst).

В menu.lst описание загрузки начинается со строки title -- информационная, показывается в GRUB4DOS меню. Помещаю в ней --mem, если образ грузиться в RAM, и путь к образу. Путь может быть любой длины.

Опция map --mem ... загружает образ в оперативную память RAM, монтирует оттуда как отдельный раздел (часто неправильно называемый как диск, например X:\), и исполняет оттуда. Загрузка программ и библиотек с RAM намного быстрее, т.к процессор и память работают в миллионы раз быстрее чем жесткий диск. Приятно, когда окна летают, если конечно хватает оперативной памяти. В принципе, программы с диска также исполняются с RAM, но грузятся туда намного медленнее.

Без опции --mem образ монтируется и модули загружаются с жесткого диска (что все же быстрее, чем с оптического дисковода). С диска монтируются только образы, расположенные на диске =ОДНИМ= фрагментом (..\Defraggler\Defraggler.exe дефрагментирует отдельные файлы, директории). В RAM грузятся любые образы.

При разделении строки
map .... || map --mem .... образ пытается монтироваться с диска, если нет, то загружается и монтируется с RAM. Загрузка в RAM отнимает соответствующую часть памяти.

(hd0,1)/ - указывает на номер диска и раздела в нем (нумерация начинается с 0). (hd0,1)/ соответствует второму разделу на первом диске, в стандартном случае будет D:\

В отличие от виртуальной машины (бесплатные, VirtualBox считаю лучшей, ../qemu (http://www.davereyn.co.uk) проще, работает без установки, но медленнее), загрузка через GRUB4DOS использует весь ресурс компа. Эффективна загрузка небольших образов LiveCD в RAM, что освобождает жесткий диск от активности для проведения аварийных работ.

GRUB4DOS запускает Linux образы с HDD или CD\DVD. Запускает KERNEL и initrd с HDD, даже не с Linux, а c ntfs раздела.

# Следующее передает команды (флаги) и управление непосредственно kernel внутри *.iso образа.
title /slitaz-3.0.iso (hd32) --> --mem kernel /boot/bzImage root=/dev/null vga=791
find --set-root --ignore-floppies /slitaz-3.0.iso
map --mem --heads=0 --sectors-per-track=0 /slitaz-3.0.iso (hd32)
map --hook
root (hd32)
kernel /boot/bzImage rw root=/dev/null vga=791 autologin
initrd /boot/rootfs.gz

# Booting from hda3
title SliTaz GNU/Linux (Cooking) (Kernel 2.6.22.9)
root (hd0,2)
kernel /boot/vmlinuz-2.6.20-slitaz root=/dev/hda1
initrd /boot/rootfs.gz

# Booting from directory
title root (hd0,2)/iso/archlinux-2009.08-core-i686
root (hd0,2)/iso/archlinux-2009.08-core-i686
KERNEL /boot/vmlinuz26 lang=en locale=en_US.UTF-8 archisolabel=ARCHISO_AHCOHH6O ramdisk_size=75%
initrd /boot/archiso_pata.img

Еще достоинство, Grub4dos ищет по имени, а например Lilo, ищет по адресу сектора на HDD. Переименовав kernel, он останется там же и Lilo его найдет, а дефрагментация физически переместит kernel и Lilo потеряет его, но Grub4dos найдет.

Не нужен и сислинукс (isolinux). Через Grub4dos ===> с:\grldr и с:\menu.lst грузи (по крайней мере, пытайся) что угодно.

Также возникают проблемы загрузки некоторых Linux систем с HDD из *.iso образов, в которых запущенный Grub4dos процесс передает управление другому. Например, когда initrd.gz должна найти и монтировать ядро, находящееся внутри *.iso образа, а система уже не видит этот образ.

При загрузке с записанного CD\DVD ядро остается там, а *.iso образ демонтируется при передаче управления. Тут надо знать или смотреть (править) в initrd.gz/linuxrc где будет искаться ядро. Например, Knoppix и Puppy, кроме CD\DVD также ищут ядро в корне разделов HDD. Поэтому надо pup-***.sfs или \KNOPPX\KNOPPIX вынести из образа в корень любого HDD раздела. Кстати, и сохранить их *.iso образы без этих больших файлов. Тогда проще и быстрее загружать оставшийся образ в RAM.
GEEXBOX**.iso таким образом не запускается. Распаковывать образ на HDD, и запускать оттуда.

Модификация прошивки BIOS ноута ASUS A2500H/L, а именно - добавляем в прошивку BOOT загрузчик “Plop Boot Manager”.

Связано это с тем, что родная прошивка ASUS A2500H/L не особо хорошо “умеет” грузиться с USB, точнее (на мое мнение) вообще не умеет, потому, как все мои усилия закончились ничем. (в разделе Boot есть возможность включить boot c USB_ZIP устройства)и флешку ему подавай до 1Gb, не более. CD привод отдал душу богу уже давно.

Но ОС надо как-то устанавливать, поэтому было принято решение интегрировать (подшить) в Bios загрузчик Plop Boot Manаger-“маленький загрузчик, который грузит что угодно с чего угодно”. Ссылка на сайт автора - https://www.plop.at/en/home.html .

Не буду останавливаться на возможностях данного загрузчика, в сети предостаточно информации по нему.

Прежде чем начать хочу выразить Огромнейшую благодарность Роману (ник apple_rom) за оказанную помощь, техническую и моральную поддержку. Без участия Романа не родилась бы данная тема и не появился бы загрузчик в прошивке Bios Asus A2H/L.

Первым и самым важным моментом есть то, что необходимо запастись второй микросхемой BIOS c прошитой микропрограммой, которая используется в компе сейчас. Если микросхема запаяна в плату, необходимо выпаять ее и установить панельку(кроватку),в которую без труда можно будет вставлять резервную копию Bios, в случае не рестарта компа после прошивки.

Поскольку прошивка оказалась Asus-Award – утилит,(типа CBROM ,MODBIN)после долгих поисков, проб и неудач под него не нашлось, их просто не существует, а даже если и существуют, то мне не попадались. И поэтому прошивку править будем “ручками”. Первым делом понадобилось освободить место под новый модуль загрузчика, потому как в прошивке не оказалось свободных 30 Kb. Для этого запускаем утилиту >Bit14.exe a2h0213a.bin и в файле report1.dat(созданном Bit14.exe) смотрим состав модулей в нашей прошивке.

─────────────────────────────────────────────────────────────────

8 LOGO1 ROM A000h (40K) 612Eh (24,29K) PXE_M18.ROM

9 OEM1 CODE C000h (48K) 728Dh (28,64K) 650lv2.08q

10 LOGO BitMap 1888Ah (98,13K) 4725h (17,79K) POSTA7N4.OSB

11 Other(8013:0000) 124BAh (73,18K) 1C09h (7,01K) ASUSLOGO.BIN

──────────────────────────────────────────────────────────────────

Было решено выбросить модули всевозможных логотипов, в данном случае файлы №8 ;10 ;11

Для этого открываем a2h0213a.bin в hex редакторе(я использую Winhex) поиском по заголовкам –lh5- находим наши (PXE_M18.ROM,POSTA7N4.OSB,ASUSLOGO.BIN) модули и удаляем их из прошивки. Для тех, кто не вкурсе поясню про Lha архивы. Прошивка Bios состоит именно из модулей, упакованных с пом. Lha и, собранных в последовательность,без пробелов. Поэтому для поиска начала модуля находим заголовок –lh5- ,отступаем на 2 байта влево (пример %.-lh5-)-это и есть начало Lha архива. Конец такого архива всегда “00”и после него следует байт CRC(FG 2D 15 55 00 DE)Байт CRC в конце каждого модуля, это фишка ASUS -

CRC_original.bin

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Award Decompresion Bios

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Таким образом, находим начало и конец ненужных модулей, выделяем и удаляем.

После, если потребуется, поджимаем модули, чтоб следовали один за другим без пробелов.

Должно получиться что-то вроде такого:

■ Award Decompression BIOS structure:

──────────────────────────────────────────────────────────────────

No. Item-Name Original-Size Compressed-Size Original-File-Name

──────────────────────────────────────────────────────────────────

0 System BIOS 20000h (128K) 114C5h (69,19K) stn.bin

1 IA-32 Microcode 502Ah (20,04K) 389Eh (14,15K) cpucode.exe

2 Other(6000:0000) 86D0h (33,7K) 43DEh (16,97K) AWARDEXT.ROM

3 Other(A800:0000) 6C81h (27,13K) 44B1h (17,17K) FILE1.ROM

4 Other(A000:0000) 1830h (6,05K) B58h (2,84K) AWARDEYT.ROM

5 ACPI table 3D38h (15,3K) 19DAh (6,46K) ACPITBL.BIN

6 Other(1002:0000) 1260h (4,59K) 7EFh (1,98K) crisis.bin

7 Other(8000:0000) 1525h (5,29K) 106Eh (4,11K) ADJ_A2H.ROM

8 9 OEM1 CODE C000h (48K) 728Dh (28,64K) 650lv2.08q

(Silicon Integr. Sys. (SiS) SiS650/1/GL/GX,740 GUI 2D/3D Accelerator BIOS)

Теперь прошиваем Bios мат.платы и перезагружаемся. Если все ок. переходим к подготовке файла загрузчика. Методику нашел на просторах интернет на forum.ixbt.com.

Понадобятся:

  1. plpbtrom.exe и plpbtrom.bin из пакета Plop Boot Manager
  2. bromcfg.exe

Порядок действий:

  1. Создаем загрузчик "plpbtrom.exe -forceINT -INT18 -compress plpbtrom.bin plpbt.rom"
  2. Конвертируем plpbt.rom с помощью bromcfg.exe в pci rom "bromcfg.exe plpbt.rom"

Нам нужно заменить загрузку с Lan на загрузку Plop

  • Change configuration (Y/N)?y
  • Vendor ID? 1039,(для других плат можно посмотреть на втором экране загрузки или в диспетчере устройств, в свойствах сетевой карты.)
  • Device ID? 0900,(для других плат можно посмотреть на втором экране загрузки или в диспетчере устройств, в свойствах сетевой карты.)
  • PCI device type? (e.g. 020000 for Ethernet):020000

Полученный файл назовем plpbt_PCI.rom. Теперь нужно полученный файл добавить в прошивку Bios.Для этого, берем подобный- Award-овский Bios с которым нормально работает Cbrom.Я брал прошивку от Foxconn 461XP219.BIN.

С помощью

>cbrom198 461XP219.BIN /other 4011:0 plpbt_PCI.rom

добавляем загрузчик в прошивку от Foxconn, предварительно освободив под него место таким же образом, как я писал ранее. Теперь наш загрузчик добавлен с нужными заголовками в прошивку. Осталось его перенести из Foxconn в Asus прошивку. Для этого в HEX редакторе, в файле 461XP219.BIN находим модуль plpbt_PCI.rom, выделяем от начала(-lh5- минус 2 байта), до конца и копируем его в отдельный файл. В HEX редакторе oткрываем Asus Bios a2h0213a.bin,находим сразу за последним модулем (650lv2.08q) пустое место (FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF) и сразу, без пробела, за байтом CRC вставляем наш,вытащенный из Foxconn прошивки, файл plpbt_PCI.rom. Сохраняем всю прошивку и открываем в BIT14.exe.

■ Award Decompression BIOS structure:

No. Item-Name Original-Size Compressed-Size Original-File-Name

───────────────────────────────────────────────────────────────────────

0 System BIOS 20000h (128K) 114C5h (69,19K) stn.bin

1 IA-32 Microcode 502Ah (20,04K) 389Eh (14,15K) cpucode.exe

2 Other(6000:0000) 86D0h (33,7K) 43E1h (16,97K) awardext.rom

3 Other(A800:0000) 6C81h (27,13K) 44B1h (17,17K) FILE1.ROM

4 Other(A000:0000) 1830h (6,05K) B58h (2,84K) AWARDEYT.ROM

5 ACPI table 3D38h (15,3K) 19DAh (6,46K) ACPITBL.BIN

6 Other(8000:0000) 1525h (5,29K) 106Eh (4,11K) ADJ_A2H.ROM

7 OEM1 CODE C000h (48K) 728Dh (28,64K) 650lv2.08q

(Silicon Integr. Sys. (SiS) SiS650/1/GL/GX,740 GUI 2D/3D Accelerator BIOS)

8 LOGO1 ROM 7400h (29K) 72DBh (28,71K) plpbt_PCI.rom

(Silicon Integr. Sys. (SiS) SiS900 10/100 Ethernet Adapter BIOS)

───────────────────────────────────────────────────────────────────────

■ Award Decompression BIOS Main CheckSums Status:

───────────────────────────────────────────────────────────────────────

No. Item-Name CheckSum Calculated-CheckSum Address Status

───────────────────────────────────────────────────────────────────────

0 System BIOS 80h 80h 114C5h Correct

1 IA-32 Microcode 0Bh 0Bh 14D64h Correct

2 Other(6000:0000) 25h 25h 19146h Correct

3 Other(A800:0000) 1Dh 1Dh 1D5F8h Correct

4 Other(A000:0000) F2h F2h 1E151h Correct

5 ACPI table 46h 46h 1FB2Ch Correct

6 Other(8000:0000) A5h A5h 20B9Bh Correct

7 OEM1 CODE 68h 68h 27E29h Correct

8 LOGO1 ROM ─── 8Bh ────── Absent

───────────────────────────────────────────────────────────────────────

В структуре файла видим добавленный модуль №8 как LOGO1 ROM – это из-за ID4011:0,нам это не мешает. Далее находим прочерки в графе checksum и addres,а между прочерков рассчитанный CRC модуля №8.Нужно “8B” записать в прошивку после модуля plpbt_PCI.rom сразу за нулевым байтом и сохранить прошивку. Контрольно,еще раз открыть прошивку с пом. BIT14.exe и проверить модуль №8,должно быть так:

8 LOGO1 ROM 8Ch 8Ch 27E2Bh Correct

Прошиваем a2h0213a.bin во флеш, перезагружаемся и заходим в Bios Setup.

В разделе Boot в графе “Onboard Lan Boot ROM” - ставим Enable .В списке boot устройств, включаем “INT18 Dewice (Network)” и поднимаем его на самый верх, чтобы под №1 списка стоял INT18 Dewice. Перезагружаем и, если все сделано правильно,видим меню Plop загрузчика.

Можно пользоваться. При желании, для красоты, можно поменять надписи в Bios Setup скажем к примеру “Onboard Lan Boot ROM” заменить на “Plop Boot Manager Rom”.

Дополнение :

С моей точки зрения, иметь модифицированный bios и не видеть этого в bios setup – это, мягко выражаясь, не эстетично. Поэтому решено было заменить надпись “INT18 Device (Network)”и”On Board Lan Boot ROM” на что-то более правдоподобное, связанное с добавленным модулем загрузчика. Хотя все проделанное ранее уже является полностью работоспособным и можно вполне оставить как есть, решать каждому индивидуально. Я за эстетичность и выбор мой очевиден.

Открываем файл BIOS в HEX редакторе и находим модуль AWARDEXT.ROM .Далее, уже по знакомому сценарию: выделяем, копируем и распаковываем его. В распакованном виде вновь открываем его в HEX редакторе. Поиском находим текст “INT18 Device (Network)” и прописываем вместо него свою надпись латиницей “**Plop Boot Manager** ”,тут я не менял количество символов, не знаю наверняка, что произойдет, если добавить или убрать пару букв, вероятнее всего это не имеет значения, но экспериментировать не стал. Аналогично поступаем с другим заголовком, определяющим Boot по сети,(менеджер Plop добавлен, как сетевое устройство).

После, опять-же, знакомые процедуры-добавляем отредактированный модуль в “левую” прошивку от Award 6.0 c помощью, уже знакомого, CB-рома который нормально работает с этим “левым”Award-ом.(>cbrom198 461XP219.BIN /other 6000:0 AWARDEXT.ROM).И снова в HEX редактор, как и с модулем загрузчика, выделяем AWARDEXT.ROM от начала(-lh5- минус 2 байта), до конца и копируем его в отдельный файл. В HEX редакторе oткрываем Asus Bios a2h0213a.bin и меняем модуль AWARDEXT.ROM отредактированным. Тут внимание!!! Новый (редактированный AWARDEXT) может отличаться по размеру от оригинала. Необходимо проконтролировать:

1.Чтобы модуль (+байт CRC) был добавлен без пробелов и остатков старых модулей, если он (модуль) вышел короче по размеру;

2.Чтобы модуль своим “фостом” не затер следующий за ним модуль, если он длиннее …

3.Чтобы общий размер прошивки остался прежним (262144);

4.Чтобы модуль декомпрессора и бутблока остались на прежних местах в адресном пространстве.

И если все нормально, продолжаем.

Песочница

тащит всю команду 21 октября 2012 в 22:52

BIOS не даёт… А загрузиться с USB ну очень надо

Забакапившись и лишний раз удостоверившись, что у меня есть все необходимые драйвера, я втыкнул флешку и нажал RESET. Ноут как ни в чём не бывало перегрузился, полностью игнорируя директиву сделать это с помощью external device. Чистая установка Win7 на VAIO VGN-A170 обещала быть нескучной.

Несколько следующих попыток загрузиться как с помощью уже знакомой из предыдущего абзаца флешки, так и с помощью Zalman VE-200 провалились. Никаких болванок или уже готовых установочных/загрузочных CD у меня не оказалось. Ждать, пока откроется магазин, где можно приобрести пустой диск не хотелось, а тут одна мелочь вдруг вспомнилась: ноутбук читает DVD, а записывать может только CD - дистрибутив не влезет… И всё равно, после того как потыкавшись по сайту производителя, который так и не порадовал обновленным биосом, сдаваться было рано. В голове почему-то всплыла известная картинка: жабка душит недоумевающую цаплю, которая пытается её проглотить. Люблю её.

Ноутбук, BIOS которого не позволяет использовать USB порты для загрузки, как оказалось не такая уж и редкость, но тем не менее, на тематических форумах поддержки разных производителей ничего полезного встретить не удалось, и большинство рекомендаций сводились к тому, что или следует внимательно искать такую опцию в биосе, или использовать флешку определенного объема, ну или тарабанить ноут в СЦ. Но всё же поиск привел меня к Elmar Hanlhofer и его сайту www.plop.at , где и была обнаружена искомая строка USB boot without BIOS support , кстати, далеко не единственная в списке возможностей Plop Boot Manager.

Boot Manager можно установить в начальные сектора жесткого диска, не повредив существующие разделы. Таким образом загрузчик может работать и тогда, когда операционной системы нет.

Совсем не обязательно устанавливать Boot Manager на жесткий диск, поскольку его с некоторыми ограничениями можно запустить с дискеты, CD или USB.

Некоторые опции Boot Manager (например, загрузка с USB) могут быть добавлены в меню уже используемого системой загрузчика. На текущий момент поддерживаются: LiLo, Syslinux, Grub, Grub4Dos, Grub2, Windows boot.ini, Windows BCD.

В доступном для скачивания архиве находится целый набор: сборки программы для Windows и Linux, необходимый инструментарий для записи загрузчика непосредственно в биос компьютера (не забывайте, что эксперименты с последним могут закончится плачевно) и подробная инструкция.

Чтобы свести свои риски к минимуму я выбрал вариант, при котором Boot Manager встраивается как опция к существующему загрузчику. Запустил под администратором:
plpbt-5.0.14/Windows/InstallToBootMenu.bat

И, сразу после ребута, наконец, получил возможность загрузиться со своей флешки.

Mission accomplished.

Теги: boot from usb-flash, bypass bios restrictions, бутаемся с usb, обход ограничений биос

Данная статья не подлежит комментированию, поскольку её автор ещё не является