Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Автоматическая (unattended) установка Windows

Автор: jCHex
Дата сообщения: 03.12.2004 11:35
Darth_Vader

Цитата:
Хм, интересно... насколько я помню, у мну ключ /унаттенд без указания файла сценария вызывал сообщение об ошибке синтаксиса команды winn32.

Цитата из справки по Winnt32.exe (Winnt32.exe /?):
Цитата:
/unattend
Обновление предыдущей версии операционной системы Windows 98, Windows Me, Windows NT 4.0 или Windows 2000 в автоматическом режиме. Все настройки, сделанные пользователем, считываются из файлов текущей версии системы. Таким образом, вмешательство пользователя в процесс установки не требуется.

Добавлено
Isorkin
17:33 29-11-2004

Насчет недокументированных команд в Winnt.sif, кот. Вы указали:

1. Нек-рые достаточно известные, вот инфа из Ref.chm (XP SP2):

а) Ref.chm -> "Unattended.txt" -> "[Data]":
Цитата:
[Data]

Entry Description Описание (RU)
Автор: Isorkin
Дата сообщения: 03.12.2004 17:36
jCHex

Цитата:
3. Поясни, что значит unused=unused

Непрвильно написал. Я имел ввиду 2 параметра использую: ProgramFilesDir и CommonProgramFilesDir. А про unused=unused я не знаю.
Большинсво из вышеприведенных расшифровок я знаю. Просто я хотел показать почти полную структуру генерируемого файла установщиком winnt32.exe.

Я немного поэкспериментировал с winnt.sif и узнал что раздел [unattend] влияет на консоль восстановления, т.е. если в winnt.sif отсутствует раздел [unattend], то при установке с диска появляется возможность выбора консоли восстановления. Вопрос: можно ли подменить файл winnt.sif в процессе инсталляции в текстовом режиме другим файлом winnt.sif, включающий в себя раздел [unattend], например через txtsetup.sif или dosnet.inf?
Автор: jCHex
Дата сообщения: 03.12.2004 18:02
Isorkin

Цитата:
можно ли подменить файл winnt.sif в процессе инсталляции в текстовом режиме другим файлом winnt.sif, включающий в себя раздел [unattend], например через txtsetup.sif или dosnet.inf?

Насчет такого варианта, незнаю, а вот так:
Если присутствие секции [unattend] проверяется в text-mode Setup, то мона так:
В дистре ложишь как норм. winnt.sif, так и без секции [unattend], причём нормальный имеет др. имя, а 2-ой - "winnt.sif"
После окончания text-mode Setup загрузить комп, напр. с WinPE или чем-нить др., заменяешь ручками winnt.sif на норм. - и вперёд, загрузка с винта.
А вот если не в text-mode Setup, а позже, тогда даже если найти, как сделать так, как ты пишешь - усе равно не выйдет...
Автор: vserd
Дата сообщения: 03.12.2004 18:06

Цитата:
можно ли подменить файл winnt.sif в процессе инсталляции в текстовом режиме другим файлом winnt.sif, включающий в себя раздел [unattend], например через txtsetup.sif или dosnet.inf?

Если вопрос сформулировать по другому. Можно ли запустить установку с копакта, тобы подхватился другой файл ответов в место Winnt.sif?
Тогда ответ будет положительным. Это достигается правкой системных файлов в Hex-редакторе. Подробности смотри на unnattended.ozone.net
Автор: Isorkin
Дата сообщения: 03.12.2004 18:18
Я хотел бы обойтись без правки системных файлов. При установке установщик создает на винчестере папку куда копирует свои установочные файлы вместе с файлом ответов, при этом последний переименовывается в $winnt$.inf если не ошибаюсь. Можно ли прописать в txtsetup.sif команду, чтобы с установочного диска копировался файл $winnt$.inf в установочную папку, тем самым заменяя файл ответов на другой.
Автор: jCHex
Дата сообщения: 03.12.2004 19:00
Isorkin

Цитата:
последний переименовывается в $winnt$.inf если не ошибаюсь

Не ошибаешься


Цитата:
Можно ли прописать в txtsetup.sif команду, чтобы с установочного диска копировался файл $winnt$.inf в установочную папку, тем самым заменяя файл ответов на другой.

Теоретич. - да, но только, если копирование файлов в text-mode Setup происходит не по алфавиту, а по порядку, указанному в txtsetup.sif.
Попробуй поэкспериментируй.
Автор: Darth_Vader
Дата сообщения: 03.12.2004 22:52
jCHex
Да ну? я вот сильно подозреваю что некоторых настроек, необходимых для ХР, в некоторых из предыдущих виндовозов, просто НЕТ как таковых...

Добавлено
З.Ы. Кстати, ОЕМ-версии упгрейд не поддерживают в принципе - щас вспомнил, именно они мну и посылали. Вполне логично.
Автор: fake
Дата сообщения: 03.12.2004 23:02
2.1 Q: Можно ли избежать постоянного ввода серийного номера при установке?
A: Да. Чтобы при установке серийный номер подставлялся автоматически, нужно создать в папке I386 дистрибутива WINNT.SIF следующего содержания:
[Data]
MsDosInitiated=0
[UserData]
ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Вместо XXXXX-XXXXX-XXXXX-XXXXX-XXXXX подставьте ваш серийный номер.


у меня нет такого файла WINNT.SIF в образе... что делать?
Автор: jCHex
Дата сообщения: 03.12.2004 23:25
fake

Цитата:
у меня нет такого файла WINNT.SIF в образе... что делать?

Создать его (в каталоге <ДистрибутивWin>\I386). (с указанным содержимым)
Автор: Ne0N
Дата сообщения: 03.12.2004 23:31
fake
23:02 03-12-2004
хм.. а чем тебя мой ответ на вопрос не устроил?

jCHex
23:25 03-12-2004
Цитата:
Создать его (в каталоге <ДистрибутивWin>\I386). (с указанным содержимым)

на мой взгляд не совсем удачный вариант... а если появится желание сменить серийник, то заново болванку прожигать? мне больше нравится WINNT.SIF на дискету ложить...
Автор: fake
Дата сообщения: 03.12.2004 23:33
Ne0N

включи ICQ поболтаем
Автор: jCHex
Дата сообщения: 03.12.2004 23:45
fake
Ne0N

Цитата:
на мой взгляд не совсем удачный вариант... а если появится желание сменить серийник, то заново болванку прожигать? мне больше нравится WINNT.SIF на дискету ложить...

Как говорит Lord_Darth_Vader, "И шоб я был против" (или это Darth_Vader - сорри, уж точно и не припомню)

Я всего-лишь указал один из вариантов, для создания дистра "на долгую жизнь", но разумеется, мона и на дискеты.


Добавлено
Darth_Vader

Цитата:
Да ну? я вот сильно подозреваю что некоторых настроек, необходимых для ХР, в некоторых из предыдущих виндовозов, просто НЕТ как таковых...

Ты это о чём? Сорри, я не совсем тебя понял, в контексте чего ты это говоришь?
Автор: bredonosec
Дата сообщения: 03.12.2004 23:55

Цитата:
мне больше нравится WINNT.SIF на дискету ложить...
- Такой вопрос возник: а можно ли этот winnt.sif пускать с флешки? /допустим, у меня контроллер флопа на маме умер/
Или тогда придется слишком много геморроиться с вклейкой в загрузочный образ дистра дров/подержку для усб под досом?
Или вообще под досом усб увидеть нельзя?
ЗЫ.
Цитата:
а если появится желание сменить серийник, то заново болванку прожигать?
- Где-то пробегала (ко мне на хард ) утилитка, позволяющая менять номера выни и оффиса. Инсталла не требовала, оч.маленькая. Чем не выход? (названия точно не припомню, но если надо - пороюсь и залью куда-нить)
Автор: t0lik75
Дата сообщения: 04.12.2004 00:40
Isorkin

Цитата:
Твой менеджер мне понравился. Добавь также в него функцию предварительного просмотра файла winnt.sif как в вышеприведенной программе.

Уже в процессе разработки...
Darth_Vader

Цитата:
Нашел только одну явную багу: в разделе "язык и стандарты" винзу подсказка по поводу того, чтобы эта опция действовала - надо исправить "дополнительные программы" на "заводскую предустановку", коль скоро это было исправлено в "общих настройках".

Да, я это тоже заметил, но потом забыл исправить.

Цитата:
Ну и ждем-сс конешна недокументированных параметроф

Желательно их систематизировать и присылать мне в почту (которая в программе указана) с описанием. Всем проще будет.
jCHex

Цитата:
Только тяни быстрей, а то это ж "нарушение прав всемогучего M$", как только 'Служба поддержки Яндекс.Народ' поймет - сразу 'Нарушение Пользовательского соглашения Народа bla-bla-bla'...

В процессе.....
Pazan
Уже ни в чем. Берешь последнюю версию программы и все будет пучком.
Автор: jCHex
Дата сообщения: 04.12.2004 01:24
t0lik75

Цитата:
Ну и ждем-сс конешна недокументированных параметроф


И желательно документированный TargetPath
Автор: bdfy
Дата сообщения: 04.12.2004 01:45
Сделал наконец то ХР Про Рус Сп2 ВЛК (ну почти , dotnetfix не тянет заново тянуть) - сценарий от ХР Про Сп1 ОЕМ подошел полностью ( ну там заплатки и директ новый не пришлось ставить ), отключение брандмауера только надо бы в мои реги добавить.
Вопросик у меня по поводу установки дров неподписанных .Их так и неучились втихую ставить ? Был тут пост предлагающий возможное решение

Цитата:
Читаем http://support.microsoft.com/?kbid=311272
При unattended установке , ложим devcon в I386\$OEM$\$$.
В I386\$OEM$ ложим батник, примерно такого содержания "devcon update nv4_disp.inf PCI\VEN_10DE&DEV_0253"
vendur нужно девайса узнать можно опять же с помощью devcon , такая команда devcon hwids * > 1.txt Не забываем юзать devcon /?

Для конретной системы все просто и понятно , но если не знаешь заранее какая видюха будут стоять? Писать батник включающий основные ID? Я просто душой к форсажу прикипел и ставить кому бы то нибыло оф дрова не хочу. А винда с СП2 даже не предлагает вручную поставить - свои ставит ( мой 9200 128бит как 9200LE Series определила )

Цитата:
Nondriversigningpolicy=Ignore
DriverSigningPolicy=Ignore

От этих параметров вообде есть хоть какая нибудь польза ?!
Автор: Darth_Vader
Дата сообщения: 04.12.2004 02:57
bdfy
Видишь ли, я тоже с девконом сражался - но успеху, увы, не добился. Даже с другими дровами, помимо Форсажа. Что же самого Форсажа касается - предвижу дополнительную трудность: в нем ряд девайс_ид прописан дважды, с разными модами, плюс второй инф содержит те же ид с установкой со смартом / без него.
Лично мне пришлось ставить унаттендом официальные дрова. Для настройки при этом удобнее всего юзать АТТ, вместо установки панели или АСЕ.

NonDriverSigningPolicy - ХЕЗ, а вот DriverSigningPolicy=Ignore точно не работает, много раз проверял... кстати, по идее нон-драйвер не к дровам относится, а ХЗ вообще к чему...
Автор: bdfy
Дата сообщения: 04.12.2004 03:13
Darth_Vader
Тогда может есть способ извратиться , чтобы винда не ставила свои дрова из driver.cab ,а предлагала вручную поставить ( как было с Сп1 дистрибутивом )?
Автор: Isorkin
Дата сообщения: 04.12.2004 11:24
jCHex
Не ошибаюсь. Проверил. При установке файл ответов сохраняется в system32\$winnt$.sif в самый последний момент в текстовом режиме установки . Попробовал скопировать через txtsetup.sif файл $winn$.inf? но не получилось, т.к. этот $winnt$.sif перезаписывается оригинальным. Попробовал поискать в exe-шниках строки system32\$winnt$.inf в hex формате и нашел их в 4 файлах: SYSPARSE.EXE, dgsetup.dll, spxcoins.dll, dgrpsetu.dll и заменил на system32\$winn1$.inf. Файл $winnt$.inf я удалил через DOS. В графическом режиме установщик выдал ошибку, что отсутствует файл system32\$winnt$.inf иустановка дальше не может продолжаться. При этом файл $winn1$.inf также используется-создается файл $winn1$.pnf. Т.е. можно использовать файл для автоматической установки файл $winn1$.inf, но для этого надо найти еще другие файлы содержащие строки system32\$winnt$.inf и заменить на system32\$winn1$.inf. Или заставит ь установщик сохранять файл ответов под другим именем, а для установки использовать $winnt$.inf.
Автор: vserd
Дата сообщения: 04.12.2004 12:29
Isorkin

Цитата:

Я хотел бы обойтись без правки системных файлов. При установке установщик создает на винчестере папку куда копирует свои установочные файлы вместе с файлом ответов, при этом последний переименовывается в $winnt$.inf если не ошибаюсь. Можно ли прописать в txtsetup.sif команду, чтобы с установочного диска копировался файл $winnt$.inf в установочную папку, тем самым заменяя файл ответов на другой.


IMHO это гораздо больший гимор, чем попроавить пару байтов в setupldr.bin
вот пост из аналогичного топика на forum.ozone.net

Цитата:

EgOrus 5-06-2004
Не претендую на авторство, идею позаимствовал c форума MSFN и в последствии доработал.
Суть такова:
Cоздаем нужные нам файлы ответов и называем их winn1.sif, winn2.sif... и т.д. Зачем так много? Каждый из файлов ответов может содеражть разные настройки, один полностью в автомате ставит, другой скрывает ненужные странички и вбивает стандартные и частоиспользуемые значения, третий использует для установки дополнительные драйвера... вариантов может быть множество.
Далее, берем файл setupldr.bin (загрузчик, находится в папке i386), и с помощью любого hex-редактора заменяем в нем все winnt.sif на winn1.sif (8 замен) сохраняем измененный файл с именем setupld1.bin, далее также создаем файл setupld2.bin, поменяв все winnt.sif на winn2.sif и так далее для кажого файла ответов свой загрузчик.
Все получившиеся файлы складываем в папку i386, в результате имеем файлы winn1.sif, winn2.sif и setupld1.bin, setupld2.bin а также setupldr.bin (кот. будет использоваться для чистой установки без файла ответов).
Для того чтобы вся эта беда работала, нужен любой бутлоадер, я использую Bootable CD Wizard ( http://bootcd.narod.ru )
В моем случае прописываем строчки в bootcat.ini:
Цитата:\I386\SETUPLD1.BIN ; Windows XP Russian (FULL) ; Установка XP с SP1 + MSBlast & Sasser fixes + DRV + Soft
\I386\SETUPLD2.BIN ; Windows XP Russian (w/o DRV and OEM)
\I386\SETUPLDR.BIN ; Windows XP Russian (CLEAN) ; Стандартная установка Windows XP Russian

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

Но! Есть одна заковырка, если вы используете несколько файлов ответов с OEM установкой (т.е. предположим вам нужны разные наборы настроек и софта), то вам нужны и разные папки $OEM$, но к сожалению при установке с CD (DVD), OEM файлы могут находиться только в корне диска в папке $OEM$ (переменная OemFilesPath= в winnt.sif почемуто игнорируется, видимо используется только при локальных и сетевых установках).
Для того чтобы обойти это ограничение решил использовать батник, который по маркерному файлу определяет какой из файлов ответов использовался и в соответствии с этим ищет инфу в той или другой папке.
Маркерный файл - это файл пустышка, кот. распаковывается из sfx архива за 39 минут до окончания установки.
Для этого есть специальный ключ:
Цитата:[GuiUnattended]
DetachedProgram = "%SystemDrive%\Temp\dummy1.exe

Из примера видно что файл распак. с жесткого диска, все архивы попадают туда во время текстового этапа установки вместе со всеми другими OEM файлами (в моем случае из папки $OEM$\$1\Temp). В это время копируются все архивы содержащие в себе по одному маркерному файлу (dummy1.exe, dummy2.exe и т.д.), а во время t-39 распаковывается только нужный, указанный в файле ответов.
Таким образом когда наступает время применения файлов настроек и установки программ, с помощью батника можно направить установку в нужную папку к нужным файлам.
В моем случае я использовал bat-файл со следующим условием:
Цитата (choice.bat):
@cmdow @ /HID
@echo off
if exist %systemdrive%\Temp\dummy1.fle goto START
goto END
:START
// здесь идут ваши команды для установки софта
:END

Цитата (cmdlines.txt):[COMMANDS]
"choice.bat"

dummy1.fle - это и есть маркерный файл, распакованный из dummy1.exe

Наверное можно использовать и копирование вместо распаковки, но при копировании появляется консольное окно, а я использовал winrar sfx архив, поэтому распаковка происходит незаметно.

Дерево CD:
Цитата:$OEM$\
$1\
Temp\
dummy1.exe
choice.bat
cmdlines.txt
BCDW\
I386\
Install\
WIN51
WIN51IP
win51ip.SP1
BOOTFONT.BIN
BOOTCAT.INI
ser#.txt


согласись что это гораздо меньше телодвижений чем в твоем сучае.


Ne0N

Цитата:
на мой взгляд не совсем удачный вариант... а если появится желание сменить серийник, то заново болванку прожигать? мне больше нравится WINNT.SIF на дискету ложить...

Ну так и подсунь ему на дискете :))
приоритет Floppy, CD-ROM. Т.е. если на флоппи не нашли, тогда используем с компакта. Инфа пробегала на IXBT и подтверждена практическим опытом.

Добавлено
fake

Цитата:
2.1 Q: Можно ли избежать постоянного ввода серийного номера при установке?
A: Да. Чтобы при установке серийный номер подставлялся автоматически, нужно создать

откуда фак?
Автор: Isorkin
Дата сообщения: 04.12.2004 12:38
vserd
Способ конечно проще, но пока Bootable CD Wizard не поддерживает загрузку XP SP2
Автор: fake
Дата сообщения: 04.12.2004 12:40
я так понял чтобы сделать автоматическую установку и убрать всё лишнее из образа винды, нужна лишь одна прога NLITE
а остальное всё туфта.... так? или нет?
Автор: vserd
Дата сообщения: 04.12.2004 13:55
Isorkin
На озоне пробегал способ как заставить 1.50Z загружать второй сервис пак с использованием стандартных средств дистрибутива.
Я в топике по BCDW постил ссылку.

fake

Цитата:
я так понял чтобы сделать автоматическую установку и убрать всё лишнее из образа винды, нужна лишь одна прога NLITE
а остальное всё туфта.... так? или нет?


Смотря чего хочешь добиться.... Для начала может и хватит, а потом...

Кстати, не рекомендую урезать дистрибутив. Обычно потом с ним гораздо больше проблем. Если для себя, тогда пробуй, если для других, тогда проще использовать полный. И если обрезаешь, то думай что и зачем это нужно.
Автор: fake
Дата сообщения: 04.12.2004 13:59
ну я обрезать то хочу по минимуму...
МСН месенджэр, эксплорер
аутлук
игры эти не нужные.. а во всякие там темы непонятные я и не суюсь =)

Добавлено
и всё таки как вы думаете? стоит делать автоматический ввод серийникак или вводить каждй раз новый?
Автор: t0lik75
Дата сообщения: 04.12.2004 15:14
jCHex

Цитата:
И желательно документированный TargetPath

Не понял. "Автоустановка: общие настройки"-> поле ввода "Путь установки Windows".
Что не так?
Автор: Darth_Vader
Дата сообщения: 04.12.2004 17:58
bdfy
Дык, проще всего из драйвер.каб вырезать дрова для видеоадаптеров, енлайт это умеет - перепаковывает кабы и удаляет инф.

vserd

Цитата:
Ну так и подсунь ему на дискете )
приоритет Floppy, CD-ROM. Т.е. если на флоппи не нашли, тогда используем с компакта. Инфа пробегала на IXBT и подтверждена практическим опытом.

Совершенно верно, сетуп обязательно обращается к флопу и если находит там файл сценария - использует именно его, включая серийник.
Автор: VelDmi
Дата сообщения: 04.12.2004 20:16
Isorkin

Цитата:
пока Bootable CD Wizard не поддерживает загрузку XP SP2

По моему уже поддерживает.

По опыту лучше не ставить автоматически дрова через OemPnPDriversPath. Очень много при этом глюков. Конечно если ставить себе на один комп то все пучком. А вот если рассчитывать на разные конфигурации компьютеров, и подсовывать винде дрова от всех подряд устройств она часто ошибается. А XP SP2 сука, намного жесче стала относиться к неподписанным дровам и в отличие от XP SP1 не ставит даже те, что раньше использовались без проблем.
Автор: Darth_Vader
Дата сообщения: 04.12.2004 21:35
VelDmi
Гы... лично я нормально ставил на разные компы, юзая дрова для разного железа и от разных производителей... один раз, правда, был таки глюк: на мамке ЕлитГруп на КТ333-м чипсете дрова на звук встали от риалтека, но реально звук не работал. Пришлось тупо снести эти дрова и поставить другие, универсальные "виниловые".

Что касается нелюбви мастдаев к ОЕМным дровам, то здесь 2 лекарства: игнор для сигнинг полиси хоть и не дает ставить неподписанные дрова, но все же послабляет политику ранжировки (в этом можно убедиться, почитав setupapi.log после установки); второе - удалять дрова на соответствующую категорию устройств из драйвер.каб с помощью енлайта.
Автор: fake
Дата сообщения: 05.12.2004 00:16
я урезаю прогу нЛайтом... могу ли я заменить в образе сразу uxtheme.dll на патченый?
Автор: Darth_Vader
Дата сообщения: 05.12.2004 00:20
fake
В енлайте, на закладке дополнительных опций есть чекбокс "разрешить использование неподписанных тем" - когда его включаешь, енлайт сам те патчит uxtheme, подправляет CRC в заголовке и перепаковывает файл взад. То же самое с чекбоксом "отключить защиту системных файлов": патчатся sfc_os.dll, sfc_files.dll и вроде как sfc.dll.
Это в енлайте 0.98 есть, и выше должно быть.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

Предыдущая тема: Windows XP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.