Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   (solved) Как автоматически изменить boot.ini при установке (http://forum.oszone.net/showthread.php?t=49021)

Vovanchik 07-05-2005 01:42 322321

(solved) Как автоматически изменить boot.ini при установке
 
возможно эта тематика уже поднималась на форуме, но внятного ответа на свой вопрос я так и не нашел...
короче вот в чем проблема - необходимо после установки автоматически заменить в файле boot.ini фразу NoExecute=OptIn на NoExecute=AlwaysOff

Vadikan 07-05-2005 04:20 322354

Vovanchik
bootcfg raw
http://www.microsoft.com/resources/d...s/bootcfg.mspx


Vovanchik 08-05-2005 00:24 322561

пасибки

тока теперь встречный вопрос - если в системе уже прописана винда в boot.ini и это далеко не XP SP2 - а этой командой можно задать параметры ядра конкретного пункта автозагрузки... можно и прмахнутся...

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

может кто подскажет как это батником оформить?

Vadikan 08-05-2005 08:40 322606

Не понял вопрос. Если не SP2, то и NoExecute там нет. Даже если параметр добавить, то он не сработает.

Vovanchik 09-05-2005 16:19 322823

в том то и дело что первой операционкой моджет стоять другая винда... ну допустим 98 или 2k
а вторым уже припишется ХPеновина. так что добавлять этот параметр придется ко всем возможным вариантам, т.е. грубым перебором всех.
насколько я понял синтаксис команды - она позволяет формировать параметры которые передаются ядру при загрузке причем не глядя что это за ядро, а просто отсчитывая его порядковый номер в списке.
(кстати я так и не понял как ДОБАВЛЯТЬ значение... у меня получилось только сформировать ВСЕ параметры заново с затиранием предыдущих, может я чего не так понял?)
так что просто замена одного значения другим в файле мне кажется более красивым и удобочитаемым в дальнейшем решением.
Может я не прави и существует более красивая и логичная реализация?

Vadikan 10-05-2005 08:44 322918

Vovanchik
Попробуй
Код:

[Data]
    OSLoadOptionsVar = "/noexecute=AlwaysOff"


Vovanchik 10-05-2005 13:02 322966

блин, ну это совсем просто...
))
чета я вот сюда за этим заглянуть и не додумался..
пасиб...
ща попробую

Vovanchik 10-05-2005 15:31 323014

тока что попробовал - не прокатило.. буду копать дальше

кстати извиняюсь за глупый вопрос но winnt.sif согласно ref такого параметра не поддерживает

Vadikan 10-05-2005 22:05 323089

Vovanchik
Цитата:

winnt.sif согласно ref такого параметра не поддерживает
Да, в ref.chm нет такого. Единственное упоминание на MS - в этой статье М$ КВ, однако там просто сказано
Цитата:

For unattended installations of Windows XP SP2 or later versions, you can use the Unattend.txt file to pre-populate a specific DEP configuration. You can use the OSLoadOptionsVar entry in the [Data] section of the Unattend.txt file to specify a system-wide DEP configuration.
Где-то на MSFN я видел такой же параметр в секции [SetupData], но это тоже угадайка.

Если не сработает, то тогда надо скрипт писать, который проверит наличие параметра и заменит его при нбх. http://www.robvanderwoude.com/batexamples_0c.html#B там есть скрипт заменяющий таймаут в boot.ini. Попробуй его изменить под свои нужды.

Vovanchik 11-05-2005 04:20 323160

вот чего пишут на русском мелкомягком
При установке Windows XP с пакетом обновления 2 (SP2) в автоматическом режиме можно указать параметры конфигурации DEP в файле Unattend.txt. Требуемый режим DEP указывается в качестве значения параметра OSLoadOptionsVar, находящегося в разделе [Data] файла Unattend.txt.

ща попробую так
[Data]
OSLoadOptionsVar = "AlwaysOff"

Vovanchik 11-05-2005 05:07 323170

блин все перепробовал...
ну не в какую... а скрипт писать грамотно ой как ломает... так бадягу вроде сделал, но уж очень она коряво работает...

Vovanchik 11-05-2005 15:01 323280

вот чего нашел в ref для win2003sp1
The [SetupData] section contains the OSLoadOptionsVar entry, used to modify the /NoExecute option in Boot.ini used by Data Execution Prevention (DEP).

Sample
This sample demonstrates one use of the [SetupData] section of Unattend.txt.

[SetupData]
OSLoadOptionsVar = "/noexecute=OptIn"

OSLoadOptionsVar
Modifies the /NoExecute option in Boot.ini used by Data Execution Prevention (DEP).

Syntax OSLoadOptionsVar = {"/noexecute=AlwaysOn" | "/noexecute=AlwaysOff" | "/noexecute=OptIn" | "/noexecute=OptOut"}



применил вот так вот
[SetupData]
OSLoadOptionsVar = "/noexecute=AlwaysOff"

получил вот это в результате
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU" /noexecute=optin /fastdetect /noexecute=AlwaysOff

причем ядру передался именно первый параметр

вот такой вот Modifies
((

Vovanchik 12-05-2005 15:20 323535

победил...
http://thethin.net/chgstr95.zip

ATTRIB -H -S -R %SystemDrive%\BOOT.INI
chgstr "optin" "AlwaysOff" %SystemDrive%\BOOT.INI
ATTRIB +H +S +R %SystemDrive%\BOOT.INI


+ 48 килов к дистрибутиву
))

Vadikan 12-05-2005 18:18 323583

Vovanchik
Молодец! Сам спросил - сам ответил. Сорри, я поздновато нашел интересную тему на MSFN. Там как раз такой вопрос обсуждался и был решен без всяких утилит.

A вот еще одна тема про замену текста.

Pandora 29-05-2005 08:09 328267

Здравствуйте. На винчестере установлены 2 Windows XP SP2. Обе на основных
разделах. Boot.ini:
Код:

[boot loader]
timeout=20
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional SP2" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Pro SP2" /noexecute=optin /fastdetect

Как возможно прописать строку загрузки на 2 ОС из командного файла?
Я пробовал
Код:

CLS
@echo off
attrib -r -a -h -s %systemdrive%\boot.ini
bootcfg /copy /d "Windows XP Pro SP2" /id 1
attrib +r +a +h +s %systemdrive%\boot.ini
exit

но выводится только копия 1 строки,
Код:

[boot loader]
timeout=20
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional SP2" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Professional SP2" /noexecute=optin /fastdetect

а как поменять номер раздела непонятно. В Справочнике по командной строке Windows XP нет команды на создание нового экземпляра ОС.

D@nil 29-05-2005 10:23 328282

Имхо быстрее через echo >
Код:

CLS
@echo off
attrib -r -a -h -s %systemdrive%\boot.ini
echo multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Pro SP2" /noexecute=optin /fastdetect >> boot.ini
attrib +r +a +h +s %systemdrive%\boot.ini
exit


Pandora 30-05-2005 05:24 328494

D@nil
Спасибо. Всё замечательно работает.


Время: 01:57.

Время: 01:57.
© OSzone.net 2001-