DarkL0RD
Newbie | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Приветствую всех форумчан. Люди, а не знает ли кто решение вот такой проблемы: 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. | Всего записей: 5 | Зарегистр. 06-02-2006 | Отправлено: 03:36 06-02-2006 | Исправлено: DarkL0RD, 03:41 06-02-2006 |
|