Автор: DarkL0RD
Дата сообщения: 07.02.2006 01:04
Поривет всем, народ! может кто есть кто менял структуру бат-файлов на Хайрене v7.7? А то я вот собственно вопросик задал (правда в другом топике), WELL
посоветовал продублировать его сюда. ОК.
=========
1. Есть необходимость коррекции внутренней структуры bat-файлов в Hiren's BootCD v7.7, а именно добавление драйвера сидюка ecscdide.sys вместо имеющихся там oakaracd.sys и некоторых других, т.к. они, к сожалению не могут инициировать некоторые (приимущественно старые) приводы CD, такие как например, BTC F563E. С драйвером ecscdide.sys всё работает нормально. Я по работе обслуживаю штат из 147 компьютеров (сисадмин я и попутно "железячник"), так вот дописать в autoexec.bat строчку вида loadsys /s ecscdide.sys - не проблема, а проблема в другом: после создания RAM-драйва (программой xmsdsk.exe) на него перекидывается autoexec.bat строкой вида echo autoexec.bat > %ramd%:\z.bat - то есть всё содержимое автоэкзэка вставляется в файл z.bat сформированный на RAM-драйве. Затем в него добавляется содержимое файла autoexec.dat (dat, а не bat), который так же лежит в корне диска a:\ (имг-файла имитирующего диск a:\ ) Далее, управление передаётся ему (комманда - call %ramd%:\z.bat) в этом файле есть строка вызова файла loadcd.bat хранящегося в поддиректории temp на рамдрайве (распаковывается из a:\drivers.cab - где лежит ещё много bat-ов, но суть не в этом).
При инициализации CD-ROM'a выполнаеся загрузка нужного сис-файла (mscdex.exe уже запущен ранее из автоэкзэка с именем cd1) и выполняется проверка по условию
set %ramd%=R
set %cdrom%=R
if %ramd% "==" %cdrom% goto no_cd
goto sucsess
при загрузке в режиме степ-бай-степ конформейшнс, с прожжёного на болвань образа hiren's bootCD строка с условием принимает вид типа if F: '==' R: (то есть cd-rom стал диском F)
а вот при внесении незначительных изменений эта строка меняется на строку вида if R: '==' R: (и машина отрабатывает ветвь no_cd), у меня вообще возникло ощущение, что Hiren's решил каким-то образом защитить свой cd от внесения в него каких бы то нибыло изменений. Например путём переписывания файла findcd.exe который при отсутствии на диске папки bootCD выдаёт errorlevel 2. В 6-ой версии такого небыло и модификация (ручками) проходила на ура. Я помню добавлял туда нормальный Dos Navigator (а не то, что у него добавлено - глюка кусок) + менял местави пункты меню (в config.sys), убирал ненужные добавлял дополнительные, ну для собственного удобства. И всё работало.
Может кто-то из уважаемых форумчан может предполажить в чём тут дело?
Интересное сравнение версий 6.0 и 7.7 Hiren's bootcd, дающее основание полагать что есть какая-то защита от изменений (значительных)
Измените имя папки BootCD на сидироме. на любое имя, например просто Boot её назовите. Затем, прошерстите ручками все *.bat - файлы и поменяйте там путь на свой
то есть везде зде вам встретиться %cdrom%:\bootcd\имя.uha меняйте на %cdrom%:\boot\имя.uha В шестой (и всех предыдущих версиях) такое работало. В версии 7.7 - нет. Пути поменять можно, он даже с них грузиться, но когда проверяет инициировался ли драйвер cd-rom'a то только в том случае успешно, если в cd-ROM'e установлен родной диск записанный из образа. И это несмотря на то, что пути уже не совпадают, а если модифицированный диск с совпадающими путями, который по всем законам логики должен работать, пишет что не может обратиться к диску и не находит своих файлов...
А так хотелось добавить туда ряд программ, кторые мне нужны для работы, но отсутствуют на hiren's bootCD, а писать свой диск не хочется (делал раньше и не хуже Хирэна), а не хочется потому, что этот диск изменить надо лишь чуток и всё будет меня устраивать.
Надеюсь, кто-нибудь может что-то прояснить. Заранее признателен всем, даже тем кто просто прочитал всё это...
Best Regards, Dark_Lord.
P.S. Новое дополнение к вопросу выше:
Не достаточно (в моём случае) просто добавить поддержку cd-rom'a с альтернативным драйвером, есть необходимость изменения имсени папки "bootcd" на имя "boot_u" (для совместимости с другим специфичным ПО, которое должно быть на этом диске, при этом кроме папки с этим названием на диске не должно быть ничего - по другому пробывал - не получается, т.е. как раз этот специфический софт ругается, что, мол дистрибутив "не фирменный". А вот если положить его в папку boot_u, то невзирая на то, что в этой папке лежит ещё уже не ругается и нормально работает. Только вот Хайреновский bootCD не выходит заставить работать в папке с другим именем (в моём случае boot_u вместо bootCD - прошерстил все *.bat - файлы в поисках путей, содержащих искомое "bootCD" заменил все пути на свои "boot_u" - но безрезультатно, мой софт работает, а хайреновский дистрибутив запарывается после комманды findCD в автоэкзэке, хотя я нигде не оставил старых путей).
Может есть у кого-нибудь какие-нибудь соображения? буду очень признателен.
Дарк.