Предыдущая редакция 1 от 22. 08. 2007 - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
История христианской церкви (до 1054 года) Под общей редакцией 15 3024.3kb.
Философская и художественная проблематика «Фауста». (по Пинскому) 1 57.31kb.
Л. И. Вулло современная метафизика (Редакция 3) Пенза 2007 ббк 87. 12 1189.45kb.
Леонид Студеникин 1 97.47kb.
Ядерная Россия Сегодня : Илья Фабричников Подписаться на новостной... 1 223.4kb.
Ядерная Россия Сегодня : Дмитрий Ковчегин Подписаться на новостной... 1 286.62kb.
Ядерная Россия Сегодня : Илья Фабричников Подписаться на новостной... 1 178.98kb.
Ядерная Россия Сегодня : Дмитрий Ковчегин Подписаться на новостной... 3 458.88kb.
Ядерная Россия Сегодня : Илья Фабричников Подписаться на новостной... 1 235.29kb.
Ядерная Россия Сегодня : Илья Фабричников Подписаться на новостной... 1 189.99kb.
Ядерная Россия Сегодня : Илья Фабричников Подписаться на новостной... 1 311.08kb.
Брут дедиков [by Capcha] Качаем архив: [из атача] Сканируем открытые... 1 46.02kb.
Направления изучения представлений о справедливости 1 202.17kb.

Предыдущая редакция 1 от 22. 08. 2007 - страница №1/1

Мануал по доработке Hiren’s BootCD v0.2 от 23.07.2009. Автор – lexapass.

Предыдущая редакция – v0.1 от 22.08.2007.


Все знают, что это такое, все пользуются, но как заточить его под себя?
Инструменты:

- WinImage для ковыряния загрузочного образа;

- UltraISO для изменения ISO образа

- uharcd.exe для создания архивов .uha, есть на самом Hiren’е.

- TotalCMD, потому что удобно+CAB плагин+UHA плагин +редактор BRED.

- VirtualPC для тестирования того, что получилось.


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


  1. Как работает загрузка и как устроено меню.

Hiren’s BootCD представляет собой загрузочный CD-ROM с кучей программ, запуск которых осуществляется через меню в момент загрузки. Распространяется в виде ISO-образа. Загрузка осуществляется с помощью загрузочного образа. Сами программы лежат в папке BootCD в виде .uha-архивов.

Загрузочный образ это образ флопа 3,5’’ 1,44 Мб. Извлечь можно с помощью UltraISO («Сохранить загрузочный образ»). Как – RTFM .



Дополнено

Все вышесказанное верно для оригинала версий до 9.7 включительно. Начиная с версии 9.8, в оригинале используется syslinux и загрузочный образ находится в файле ISO://HBCD/boot.gz в упакованном виде.

В моем варианте, уже начиная с версии 9.4, используется BCDW и загрузочный образ находится в файле ISO://BootCD/hiren.ima (до 9.7 включительно) или в ISO://HBCD/hiren.ima для следующих версий. Размер hiren.ima также изменился и теперь вся DOS-часть включена в образ.
В загрузочном образе находится MS-DOS 7. Для нас интерес представляют CONFIG.SYS, AUTOEXEC.BAT и DRIVERS.CAB

После извлечения загрузочного образа открываем его в WinImage и распаковываем в какую-нибудь папку с простым именем неглубоко от корня диска. Как это сделать – RTFM. После распаковки образа также неплохо было бы распаковать DRIVERS.CAB, поскольку в нем полно файлов, связанных с загрузкой.

Если кратко, то меню устроено следующим образом (подробности – RTFM).

В CONFIG.SYS описывается его структура и к каждому пункту привязывается некая конфигурация, т.е. есть секции главного меню [menu], подменю [<имя_подменю>], конкретных пунктов [<имя_проги>] и общая секция [common]. Соответственно меню и подменю реализуют выбор программы, а конкретные пункты и общая секция готовят запуск какой-либо выбранной программы.

Любое меню может содержать не более 9 пунктов (сам не проверял), поэтому для подменю обязательным становится пункт возврата в меню верхнего уровня. В меню используются команды submenu (организовывает подменю) и menuitem (выбирает конкретную программу) в одинаковом формате:
submenu|menuitem = <имя>, <описание>
<имя> задает то имя пункта, по которому затем система однозначно выберет нужную секцию. Если секции не будет, то возникнет ошибка.

<описание> - это текст, который будет отображен на экране.
Есть еще

menudefault = <имя>, [<задержка>].

Здесь <имя> указывает пункт текущего меню, который выбран по умолчанию, а <задержка> время задержки в секундах до принудительного выбора указанного пункта, может не указываться

menucolor=<цвет_букв>,<цвет_фона>


Выдержка из меню английского Hiren’а. На примере вполне можно разглядеть, как и что с чем связано.
[menu]

submenu=PARTMENU, Disk Partition Tools...

submenu=CLONMENU, Disk Clone Tools...

submenu=VIRUMENU, Antivirus Tools...

submenu=RECVMENU, Recovery Tools...

submenu=TESTMENU, Testing Tools...

submenu=HDDMENU, Hard Disk Tools...

submenu=SYSTMENU, System Info Tools...

submenu=FILEMENU, File Managers...

submenu=MOREMENU, Next...

menudefault=MOREMENU,

menucolor=11,0

[MOREMENU]

submenu=BOOTTOOL, MBR (Master Boot Record) Tools...

submenu=BIOSTOOL, BIOS/CMOS Tools...

submenu=MEDIA, MultiMedia Tools...

submenu=PASSTOOL, Password & Registry Tools...

submenu=NTFSTOOL, NTFS Ext2FS, Ext3FS (FileSystems) Tools...

submenu=EVENMORE, Other Tools...

submenu=DOSMENU, Dos...

submenu=MENU, ...Back

menudefault=MENU,

. . .

[PARTMENU]



menuitem=PQPM, Partition Magic Pro 8.05

menuitem=ADDS, Acronis Disk Director Suite 9.0.554

menuitem=PM, Paragon Partition Manager Server 7.0.1274

menuitem=PC, Partition Commander 9.01

menuitem=PART, Ranish Partition Manager 2.44

menuitem=PRESIZER, The Partition Resizer 1.3.4

menuitem=SFDISK, Smart FDISK 2.05

submenu=PARTMORE, More...

submenu=MENU, ...Back

menudefault=MENU,

. . .

[NOEMM]


devicehigh=himem.sys /testmem:off /numhandles=128

dos=high,umb,

fileshigh=40

shell=\command.com /e:2048 /p

switches=/f

[PQPM]



include=NOEMM

set ns=1


. . .

[COMMON]


lastdrivehigh=z

На примере выше мы выбираем для загрузки Partition Magic. В результате из главного меню MENU мы попали в подменю PARTMENU, где выбрали пункт PQPM. Секция PQPM с помощью команды include=NOEMM дополнительно выполняет команды из секции NOEMM и из общей для всех секции COMMON.

Дальше в дело вступает AUTOEXEC.BAT. Выполняются некоторые проверки и загрузка необходимых драйверов (startup.bat, еще один командный файл в загрузочном образе).

Здесь все тоже достаточно просто. Имя выбранного в CONFIG.SYS пункта запоминается системой в специальной переменной config и мы можем воспользоваться этим. Вот такое %config% обращение к значению этой переменной позволяет его использовать в работе. За подробностями по командам – RTFM.

В общем случае с помощью проверки осуществляется переход к нужному пункту и запуск выбранной программы.
В нашем примере команда
IF %config%==PQPM call %config%
осуществляет запуск Partition Magic. Команда call вызывает еще один командный файл с тем же именем, что и пункт, который мы выбрали. А этот файл (PQPM.BAT) находится в DRIVERS.CAB\Temp
@echo off

ECHO Partition Magic Pro

call cab pqpm tools

pqmagic.exe %1 %2


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


  1. Рабочее меню.

В общем, это второстепенное меню, поскольку здесь детали и версии не указываются. Вызывается оно вводом “M” в командной строке после того, как диск загружен. Само меню реализовано небольшой кучкой текстовых файлов .PCM, которые лежат в DRIVERS.CAB. Имена у них достаточно понятные, чтобы ориентироваться, а сами файлы представляют собой практически то же самое загрузочное меню.

Основным является MAINMENU.PCM, остальные реализуют меню второго уровня. Устроены они все одинаково.

Сначала идет заголовок под тегом .t=. Он же и сообщает, где мы сейчас находимся. Высвечивается в центре верхней строки.

Дальше интерес представляют название пункта меню и команда(-ы) этого пункта.

Если пункт подразумевает подменю, то указывается знак < и имя файла, содержащего это подменю, иначе здесь указывается команда (-ы), которая запускает выбранную программу. Цифры в конце (+66), насколько я разобрался, регулируют количество пунктов меню и текущий выбранный элемент (более понятно с остальными подменю, где указан пункт, на который происходит возврат). Завершает меню пункт EXIT (Esc), который вроде назначает также Escape на выход из меню.
.t=Hiren's BootCD 9.2

.c=23,112


Partition Tools...

<PartMenu.pcm +66

/

Clone Tools...



/

AntiVirus Tools...



/

. . .


. . .

EXIT (Esc)




  1. Создание архива.

Первый вариант – использовать UHARCD.EXE. Но для этого его придется положить в доступную для свободного запуска папку (типа C:\Windows или C:\Windows\system32) или другую, предварительно, прописанную в переменной PATH. Как прописать – RTFM. Одно замечание - UHARCD не любит длинных путей и имен.

Затем запускать UHARCD с нужными ключами и параметрами из командной строки (например, из TotalCmd).

Второй вариант – использовать TotalCmd с плагином для создания архивов .uha. Готовый TotalCmd можно взять от SamLab. Как добавлять плагины самостоятельно и архивировать – опять RTFM.

Для создания CAB-архивов также отлично подойдет TotalCmd.




  1. Изменение меню и программы.

С этим все просто. Если изменилась версия, то достаточно создать новый uha-архив и заменить им уже имеющийся в ISO образе. Затем поправить описание в меню CONFIG.SYS. После этого обновить загрузочный образ и также заменить им уже имеющийся в ISO.


  1. Удаление программы.

С этим тоже просто. Удаляем uha-архив из ISO (или загрузчика hiren.ima, в зависимости от версии). Затем правим все ссылки на программу в меню CONFIG.SYS и AUTOEXEC.BAT. Правим также соответствующий файл рабочего меню в DRIVERS.CAB – удаляем строки, начиная со строки с описанием до начала строки с описанием следующей программы. Можно также удалить из DRIVERS.CAB\Temp относящийся к удаляемой программе запускающий командный файл. После этого обновить загрузочный образ и заменить им уже имеющийся в ISO.


  1. Добавление программы.

С этим посложнее, но тоже понятно. Для начала нужна рабочая копия программы со всеми ее файлами. Определяемся с именем программы, которое будет указано в меню и станет именем архива и запускающего командного файла. Создаем uha-архив с выбранным именем, как было сказано выше и закидываем его в папку BootCD/HBCD в ISO (или загрузчик hiren.ima, в зависимости от версии). Затем добавляем ссылки на программу в меню CONFIG.SYS и AUTOEXEC.BAT по аналогии с другими программами. Правим также соответствующий файл рабочего меню в DRIVERS.CAB – добавляем строку описания и командную строку. Затем по аналогии делаем запускающий командный файл с тем же именем, что и у только что созданного архива. Добавляем этот командный файл в DRIVERS.CAB\Temp. После этого обновляем загрузочный образ и заменить им уже имеющийся в ISO.
Здесь для лучшего понимания приведу небольшой пример. Добавлять будем Acronis Disk Editor 6. Добываем файлы от него с загрузочного диска (в нашем случае их всего 2 – DE.EXE и DE.INI) и кладем их в одну папку.

Выбираем имя для нашего добавления – я выбрал ADE по первым буквам. Теперь делаем архив. Для первого варианта команда будет “UHARCD a –m3 ade.uha”. Для второго варианта и так все понятно (выделяем, Alt-F9, тип uha и вперед).

Теперь определяемся, куда добавить нашу программу. Больше всего подходит раздел работы с жесткими дисками. Добавлять будем после Norton Disk Editor. В CONFIG.SYS находим строку меню с пунком Norton Disk Editor. Она в секции [HDD3], но есть еще [HDD4]. Поэтому переносим строку
menuitem=HDDTOOLA, SeaTools for Dos 1.08
из секции [HDD3] в [HDD4], поскольку всего в секции может быть только 9 пунктов и вставляем нашу строку в секцию [HDD3].
menuitem=ADE, Acronis Disk Editor 6 Русский
Запомним, что перед нашим пунктом стоит пункт NDE с нортоновским редактором дисков. Ищем, где дальше появляется секция [NDE] и просто копируем ее под нашим новым именем ADE. CONFIG.SYS готов.

До изменений

После изменений

...

[HDDMENU3]

menuitem=ESTEST, ExcelStor's ESTest 3.80

menuitem=NDD, Norton Disk Doctor 2002

menuitem=NDE, Norton Disk Editor 2002

menuitem=MHDD, MHDD 4.6

menuitem=HDDTOOL8, WDClear 1.30

menuitem=HDDTOOL9, Toshiba Hard Disk Diagnostic

menuitem=HDDTOOLA, SeaTools for Dos 1.08

submenu=HDDMENU4, Next...

submenu=HDDMENU2, ...Back

menudefault=HDDMENU2,

[HDDMENU4]

menuitem=HDDERASE, HDD Erase 1.0

submenu=HDDMENU3, ...Back

menudefault=HDDMENU3,

[FILEMENU]

...
[NDE]

include=NOEMM

[MHDD]


...


...

[HDDMENU3]

menuitem=ESTEST, ExcelStor's ESTest 3.80

menuitem=NDD, Norton Disk Doctor 2002

menuitem=NDE, Norton Disk Editor 2002

menuitem=ADE, Acronis Disk Editor 6 Русский

menuitem=MHDD, MHDD 4.6

menuitem=HDDTOOL8, WDClear 1.30

menuitem=HDDTOOL9, Toshiba Hard Disk Diagnostic

submenu=HDDMENU4, Next...

submenu=HDDMENU2, ...Back

menudefault=HDDMENU2,

[HDDMENU4]

menuitem=HDDTOOLA, SeaTools for Dos 1.08

menuitem=HDDERASE, HDD Erase 1.0

submenu=HDDMENU3, ...Back

menudefault=HDDMENU3,

[FILEMENU]

...

[NDE]


include=NOEMM

[ADE]


include=NOEMM

[MHDD]


...

Теперь беремся за AUTOEXEC.BAT. Также ищем в нем упоминание об NDE и копированием строки делаем свою собственную. AUTOEXEC.BAT готов.




До изменений

После изменений

...

IF %config%==NDE call %config%

IF %config%==MBRTOOL call %config%...

...


...

IF %config%==NDE call %config%

IF %config%==ADE call %config%

IF %config%==MBRTOOL call %config%...

...

Осталось сделать запускающий файл. Берем из распакованного DRIVERS.CAB файл NDE.BAT, копируем и делаем из него наш ADE.BAT. Добавляем его в папочку Temp к остальным.




Был NDE.BAT

Стал ADE.BAT

@echo off

echo Norton Disk Editor.

call cab nortutil tools

diskedit.exe



@echo off

echo Acronis Disk Editor.

call cab ade tools

de.exe



Создаем обновленный DRIVERS.CAB. Закидываем в WinImage наши новые CONFIG.SYS, AUTOEXEC.BAT и DRIVERS.CAB и сохраняем обновленный загрузочный образ. Переходим к UltraISO – обновляем загрузочный образ и закидываем его на то место, откуда брали. Сохраняем ISO и пробуем.




Все люди зануды, кроме тех случаев, когда мы в них нуждаемся. Оливер Уэнделл Холмс-старший
ещё >>