mmaxsim.ucoz.ua
Меню сайта
Категории раздела
Ubuntu [69]
Ubuntu
DLE [7]
баги. фиксы и тд
Windows [6]
eyeOS [3]
FreeBSD [5]
FreeBSD
Linux [0]
VMware ESXi [7]
Amazon kindle [0]
Debian [4]
Trimax TR-2012HD [1]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2010 » Ноябрь » 23 » Установка Windows XP по сети. RIS, но не Microsoft
08:31
Установка Windows XP по сети. RIS, но не Microsoft

Введение

Установка Windows XP по сети позволяет сократить время на развертывание системы. Особенно это заметно при установке на несколько компьютеров. А также способствует избавлению от всевозможных компакт-дисков и дискет.

У Microsoft есть технология под названием RIS. Remote Installation Services (RIS) позволяет установить операционную систему на компьютеры с поддержкой удаленной загрузки по сети. RIS ориентирован на крупные сети с большим количеством компьютеров. Для своей работы служба RIS требует наличие Active Directory (доменная организации сети), что в свою очередь требует использования операционных систем Windows 2000 Server и Windows 2003.

В этой статье я опишу способ установки Windows XP на компьютеры с поддержкой удаленной загрузки по сети, но не требующей домена, достаточно только подсоединить компьютеры к сети. Думаю, эта статья будет полезна всем тем, кто хочет использовать возможности RIS, но не желает переводить сеть на доменную организацию.

PXE и процесс загрузки по сети

PXE это стандарт, который начал разрабатывать Intel. Потом к разработке PXE подключились такие гиганты, как 3Com, HP, Dell, Compaq.

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

Для организации сетевой загрузки потребуется программное обеспечение: DHCP сервер и TFTP сервер.

Процесс загрузки по сети можно описать примерно так. Как только включается компьютер, начинает работать PXE загрузчик, который находится в boot ROM сетевого адаптера. Сетевая карта получает IP адрес. IP адрес выдается DHCP сервером. Также DHCP сервер сообщает IP-адрес TFTP сервера и имя загрузочного файла. После получения этой информации сетевая карта обращается к TFTP серверу и загружает файл. Загрузив файл, PXE прекращает свою работу и передает управление загруженной программе.

А что делать, если у сетевой карты отсутствует boot ROM? На помощь нам придет утилита, которая входит в дистрибутив Windows 2000 Server и Windows 2003, под названием "Microsoft Windows Remote Boot Disk Generator" (rbfg.exe). С помощью этой программы создается загрузочная дискета, которая позволяет сетевой карте работать с PXE, т.е. производить загрузку по сети. К сожалению, у этой утилиты ограничена поддержка только 32 сетевыми адаптерами. Если Вы не нашли свою сетевую карту в списке поддерживаемых устройств, то тогда стоит обратить внимание на сайт ROM-o-matic.net. На момент написания статьи этот сайт поддерживал 279 сетевых адаптеров.

Подготовка каталогов и файлов

Сначала я создаю директорию E:\NETBOOT. В ней создаю каталог WINXPSP2. Далее в тексте под словосочетанием дистрибутив Windows XP я буди считать дистрибутив, подготовленный в статье Создание диска unattended (автоматической) установки Windows XP, хотя подойдет и любой дистрибутив Windows XP.

Создаю в каталоге E:\NETBOOT\WINXPSP2 директорию INSTALL. В этом каталоге будет находиться дистрибутив Windows XP. А также, если используется, и папка $OEM$

Рисунок 1. Каталог E:\NETBOOT\WINXPSP2

Теперь этот каталог (E:\NETBOOT\WINXPSP2) необходимо сделать доступным по сети (расшарить). Для этого нажимаем правую клавишу мыши на папке с именем "WINXPSP2" и выбираем пункт "Sharing and Security: (Общий доступ и безопасность:)". В появившемся окне

Диалоговое окно "Sharing and Security: (Общий доступ и безопасность:)" Рисунок 2.

 выбираю пункт "Share this folder (Открыть общий доступ к этой папке)" в поле "Share name: (Общий ресурс)" указываю "WINXPSP2". Этой папке необходимо предоставить права для группы "Everyone (Все)" только "Read (Чтение)"

Права доступа на каталог "WINXPSP2" Рисунок 3.

 Если директория WINXPSP2 находится на разделе с файловой системой NTFS, то необходимо в свойствах этого каталога в "Security (Безопасность)" также добавить группу "Everyone (Все)". Этой группе необходимо разрешить чтение

Установки безопасности на каталог "WINXPSP2" Рисунок 4.

Также необходимо убедиться, что учетная запись "Guest (Гость)" активирована.

Подготовка дистрибутива Windows XP для установки по сети

Из дистрибутива Windows XP в каталог E:\NETBOOT\WINXPSP2 копирую файлы ntdetect.com, setupldr.ex_, startrom.co_, startrom.n1_. Теперь необходимо распаковать файлы setupldr.ex_, startrom.co_, startrom.n1_ с помощью команд: expand setupldr.ex_ ntldr, expand -r startrom.co_, expand -r startrom.n1_ соответственно.

Примечание. Если необходимо установить русскую версию Windows XP, то необходимо еще из дистрибутива в каталог E:\NETBOOT\WINXPSP2 скопировать файл bootfont.bin. Это позволит во время инсталляции отображать на русском языке название загружаемых драйверов.

Теперь файлы setupldr.ex_, startrom.co_, startrom.n1_ мне больше не нужны их можно удалить с помощью команды del *.*_. Результат манипуляций с файлами изображен на

 Результат манипуляций с файлами в "E:\NETBOOT\WINXPSP2" Рисунок 5.

Теперь необходимо распаковать драйвера для сетевых карт. Создаю каталог E:\NETBOOT\WINXPSP2\DRIVERS. С помощью команды expand E:\NETBOOT\WINXPSP2\INSTALL\I386\net*.in_ -r -f:*.inf E:\NETBOOT\WINXPSP2\DRIVERS я получил распакованные файлы net*.inf.

Далее мне необходимо найти файлы драйверов (*.SYS) в файлах net*.inf. Поиск выполняю с помощью команды: for %i in (E:\NETBOOT\WINXPSP2\DRIVERS\*.inf) do type %i | findstr ".sys,,," >>E:\NETBOOT\WINXPSP2\DRIVERS\list. Однако файл list еще не пригоден к дальнейшему использованию. Его необходимо почистить, другими словами убрать ",,,2". Сделать это мне поможет команда for /F "delims=," %f in (E:\NETBOOT\WINXPSP2\DRIVERS\list) do echo %f >>E:\NETBOOT\WINXPSP2\DRIVERS\list.txt.

Примечание. Две вышеперечисленных команды должны быть выполнены командным интерпретатором cmd.exe. Если же команды выполняются через "Start -> Run" ("Пуск -> Выполнить"), то их необходимо изменить к следующему виду cmd /c "for %i in (E:\NETBOOT\WINXPSP2\DRIVERS\*.inf) do type %i | findstr ".sys,,," >>E:\NETBOOT\WINXPSP2\DRIVERS\list" и cmd /c "for /F "delims=," %f in (E:\NETBOOT\WINXPSP2\DRIVERS\list) do echo %f >>E:\NETBOOT\WINXPSP2\DRIVERS\list.txt" соответственно.

Выполнив все вышеперечисленные команды, я получил список файлов, которые содержат драйвера для сетевых карт. Осталось только извлечь их из файла driver.cab. Для извлечения я сначала создаю каталог E:\NETBOOT\WINXPSP2\DRIVERS\SYS. Затем с помощью команды for /f %i in (E:\NETBOOT\WINXPSP2\DRIVERS\list.txt) do expand E:\NETBOOT\WINXPSP2\INSTALL\I386\driver.cab -r -f:%i E:\NETBOOT\WINXPSP2\DRIVERS\SYS я извлекаю файлы драйверов из driver.cab в каталог E:\NETBOOT\WINXPSP2\DRIVERS\SYS.

Добавление поддержки новых сетевых адаптеров

За последнее время появились новые сетевые адаптеры, драйвера для которых отсутствуют в дистрибутиве Windows XP. Эта ситуация может затруднить установку Windows XP по сети. Для исправления этой проблемы можно воспользоваться файлом lan-drivers.zip.

Этот файл представляет собой собрание драйверов, для новых сетевых адаптеров. Эти драйвера предназначены только для text-mode Setup.(текстовом режиме установки)Windows XP.

В настоящий момент реализована поддержка следующих сетевых карт:

  • Marvell Yukon Ethernet Controller
  • Broadcom NetLink Ethernet controller (5781, 5786, 5787, 5788, 5789)
  • NVIDIA nForce Networking Controller
  • 3Com 940
  • Realtek RTL8111B, RTL8168B, RTL8111, RTL8168, RTL8111C
  • Intel PRO/1000

Для установки пакета драйверов необходимо распаковать файл lan-drivers.zip в каталог c:\lan-drivers. Затем необходимо скопировать c:\lan-drivers\*.inf в каталог e:\netboot\winxpsp2\drivers, а c:\lan-drivers\sys в каталог e:\netboot\winxpsp2\drivers\sys. Во время копирования может возникнуть сообщение, что в каталоге существует уже такой файл. В этом случае существующий файл необходимо переписать новым (из каталога c:\lan-drivers).

Самостоятельная установка драйверов

К сожалению, файл lan-drivers.zip пока содержит не очень много драйверов. Поэтому ниже я приведу примеры, как самостоятельно установить драйвера сетевого адаптера для установкиWindows XP по сети.

Marvell Yukon Ethernet Controller

С сайта производителя скачиваю драйвер. Распаковываю архив yk51x86.zip. Файл yk51x86.inf копирую в E:\NETBOOT\WINXPSP2\DRIVERS, а файд yk51x86.sys в E:\NETBOOT\WINXPSP2\DRIVERS\SYS.

Broadcom NetLink Ethernet controller (5781, 5786, 5787, 5788, 5789)

С сайта производителя скачиваю драйвер. Распаковываю архив win_xp_2k3_32-9.81d.zip.

Непонятно по какой причины Broadcom в своих драйверах для Windows XP/2003 оставляют описание установки для Windows 2000. Для корректной дальнейшей обработки файла b57win32.inf необходимо его отредактировать. Необходимо найти строку [Broadcom] и заменить ее на [Bbroadcom].

Файл b57win32.inf копирую в E:\NETBOOT\WINXPSP2\DRIVERS, а файд b57xp32.sys в E:\NETBOOT\WINXPSP2\DRIVERS\SYS.

NVIDIA nForce Networking Controller

К сожалению, на сайте NVIDIA я не нашел драйверов для сетевых карт NVIDIA nForce Networking Controller, которые используются во время установки в текстовом режиме (text-mode). Служба поддержки NVIDIA говорит, что, если Вам необходимы эти драйвера, то связывайтесь с производителями материнских плат, и дает ссылку на файл RIS_2K&XP_V471.zip с сайта ASUS. К сожалению, эта старая версия драйверов для NVIDIA nForce Networking Controller, но к счастью на сайте присутствует и более новая версия. Итак, загружаю файл MCP55_RIS_V916.zip. Распаковываю его. Из каталога RIS\nvris32 копирую файл nvnb5032.inf в E:\NETBOOT\WINXPSP2\DRIVERS, а файлы nvnb5032.sys, nvnrm.sys, nvsnpu.sys в E:\NETBOOT\WINXPSP2\DRIVERS\SYS.

В завершении осталось только файлы из каталога SYS скопировать в E:\NETBOOT\WINXPSP2\INSTALL\I386.

Настройка программы TFTPD32 и RIS-LINUX

Настройка программы TFTPD32

Программа TFTPD32 представляет собой TFTP сервер/клиент, BOOTP/DHCP сервер, SNTP сервер и SYSLOG сервер. Из всех возможностей программы мне понадобится только DHCP и TFTP сервер.

Настройка TFTP сервера (TFTPD32)

Сначала в поле "Base Directory" я указываю директорию, где находится загружаемые файлы Windows XP. Эта директория E:\NETBOOT\WINXPSP2. Затем я отключаю не нужные режимы, оставляю только "TFTP Server" и "DHCP Server". Далее "TFTP Security" устанавливаю в режим "None". Включаю режим "Allow '/'As virtual root". Включаю режим "Use anticipation window", в качестве параметра устанавливаю значение 14320. Этот последний параметр позволит увеличить скорость загрузки файлов с TFTP сервера. Внимание активация режима "Use anticipation window" в некоторых случаях может привести к ошибкам. С этими настройками TFTP сервер готов к работе.

Настройки TFTP Сервера Рисунок 6.

Настройке DHCP сервера (TFTPD32)

Ниже перечислены параметры DHCP сервера.

IP Pool starting address
указываю с какого IP адреса будет начинаться диапазон выдачи IP адресов. Так как моя сетевая карта имеет IP адрес 192.168.200.1 (server interface), то началом диапазона будет являться адрес 192.168.200.10
Size of pool
длина диапазона динамических IP адресов. Я выбрал 1. Если необходимо одновременно устанавливать Windows XP на несколько компьютеров, то это число необходимо увеличить
Boot File
Имя загружаемого файла. В каталоге E:\NETBOOT\WINXPSP2 находится два файла загрузчика startrom.com и startrom.n12. Первый файл (startrom.com) для начало процесса инсталляции потребует нажатия F12, второй файл (startrom.n12) не требует. Я выбрал файл startrom.n12
Mask
Указал маску подсети 255.255.255.0

Все настройки DHCP сервера изображены на рисунке:

Рисунок 7. Настройки DHCP сервера

Настройка программы RIS-LINUX

Во время установки Windows XP должна получить информацию, какой драйвер для сетевой платы она должна использовать. Эту информация предоставляет служба BINL. В качестве BINL я буду использовать программу ris-linux. Эта программа написана на языке Python и по этому необходимо еще установить интерпретатор этого языка в Windows XP. В качестве интерпретатора буду использовать Python.

Распаковываю ris-linux в каталог E:\NETBOOT\RIS-LINUX. Теперь необходимо сформировать базу ответов. Для этого выполняю команду: infparser.py E:\NETBOOT\WINXPSP2\DRIVERS. Если все удачно то программа infparser.py выведет на экран Compiled xxx drivers, где xxx количество обработаных драйверов. Теперь запускаю BINL, с помощью программы binlsrv.py.

Автоматизация процесса установки. Файл ответов winnt.sif

Для автоматической установки в каталоге E:\NETBOOT\WINXPSP2 создаю файл winnt.sif. Я буду использовать файл winnt.sif который был создан в статье Создание диска unattended (автоматической) установки Windows XP, но дополню следующими строками.

В секцию [data] необходимо добавить

OriSrc="\\192.168.200.1\WINXPSP2\INSTALL\I386"
OriTyp="4"

Создать новую секции [SetupData]. Секция [SetupData] должна содержать следующие строки.

 
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\WINXPSP2\INSTALL"

Создать новую секцию [RemoteInstall], со следующим содержимым

Repartition = No
UseWholeDisk = No

В итоге файл ответов winnt.sif примет следующий вид.

[data]
AutoPartition=0
MsDosInitiated=1
UnattendedInstall="Yes"
floppyless="1"
LocalSourceOnCD=1
OriSrc="\\192.168.200.1\WINXPSP2\INSTALL\I386"
OriTyp="4"

[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.200.1\WINXPSP2\INSTALL"

[RemoteInstall]
Repartition = No
UseWholeDisk = No

[Unattended]
AutoActivate=No
DUDisable = Yes
CrashDumpSetting=0
DriverSigningPolicy=Ignore
FactoryMode=No
FileSystem=*
Repartition=No
OemPreinstall=Yes
OemSkipEula=Yes
TargetPath=\windows
UnattendMode=FullUnattended
UnattendSwitch=Yes
WaitForReboot=No
NtUpgrade=No
OverwriteOemFilesOnUpgrade=No

[UserData]
FullName = "USER"
OrgName = "HOME"
ComputerName = *
ProductKey="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"

[RegionalSettings]
LanguageGroup = 1,5
SystemLocale = 00000419
UserLocale = 00000419
InputLocale = 0409:00000409,0419:00000419

[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = 130
AdminPassword = "*"
AutoLogon = Yes
AutoLogonCount=1
EncryptedAdminPassword=No

[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60

[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall

[WindowsFirewall.TurnOffFirewall]
Mode = 0

[TerminalServices]
AllowConnections=0

[PCHealth]
RA_AllowToGetHelp=0

[GuiRunOnce]
"%SystemDrive%\post_install\runonce.cmd"

Ну вот и все. Теперь можно приступать к установке операционной системы. Если же в процессе установки возникли ошибки, то рекомендую обратить внимание на следующий раздел.

P.S. Мне будет интересно узнать Выше мнение. Высказать его можно на форуме.

Борьба с ошибками

Здесь я буду публиковать способы решения проблем, которые могут возникнуть во время установки Windows XP по сети. Если Вы не нашли ответ на ваш вопрос, то смело задавайте его на форуме.

Вопросы

  1. Я устанавливаю Windows XP, а мне выдается ошибка: "The operating system image you selected does not contain the necessary drivers for you network adapter. Try selecting a different operating system image. If the problem persist, contact you system administrator" ("Выбранный образ операционной системы не содержит необходимых драйверов для имеющегося сетевого адаптера. Попробуйте выбрать другой образ операционной системы. Если это не поможет, обратитесь к системному администратору").
  2. У меня не получается устанавить Windows XP, выдается ошибка: "File pcntpci5.sys caused an unexpected error (21) at line 3788 in d:\xpsprtm\base\boot\setup\setup.c" ("Файл pcntpci5.sys вызвал неожиданную ошибку (21) в строке 3788 из d:\xpsprtm\base\boot\setup\setup.c").
  3. Я устанавливаю русскую Windows XP, а у меня после загрузки всех необходимых драйверов черный экран и компьютер зависает. В английской Windows XP компьютер зависает, но экран синий.
  4. После загрузки всех необходимых драйверов установка Windows XP прерывается BSOD (синим экран смерти) PROCESS1_INITIALIZATION_FAILED (STOP 0x0000006B).

Ответы

1. Я устанавливаю Windows XP, а мне выдается ошибка: "The operating system image you selected does not contain the necessary drivers for you network adapter. Try selecting a different operating system image. If the problem persist, contact you system administrator" ("Выбранный образ операционной системы не содержит необходимых драйверов для имеющегося сетевого адаптера. Попробуйте выбрать другой образ операционной системы. Если это не поможет, обратитесь к системному администратору"). Смотрите рисунок 1 для английской версии:

Рисунок 1. Изображение сообщения The operating system image you selected does not contain the necessary drivers for you network adapter. Try selecting a different operating system image. If the problem persist, contact you system administrator

и Рисунок 2 для русской версии:

Рисунок 2. Изображение сообщения Выбранный образ операционной системы не содержит необходимых драйверов для имеющегося сетевого адаптера. Попробуйте выбрать другой образ операционной системы. Если это не поможет, обратитесь к системному администратору

соответственно.

Причина

Вероятно, в базе binlsrv.py (devlist.cache) отсутствует информация о сетевом адаптере. На рисунке 8:

Рисунок 8. Изображение сообшения RIS-LINUX (binlsrv.py) об отсутствии драйвера

изображено, что Windows XP запрашивает драйвер с PnP идентификатором PCI\VEN_1022&DEV_2000, но в базе binlsrv.py (devlist.cache) информации об устройстве с PnP идентификатором PCI\VEN_1022&DEV_2000 отсутствует. Об этом говорит надпись "Driver not found".

Решение

Для решения этой проблемы необходимо найти драйвер с PnP идентификатором PCI\VEN_1022&DEV_2000 и включить его в базу binlsrv.py (devlist.cache) с помощью команды infparser.py <каталог с новым драйвером>.

2. У меня не получается устанавить Windows XP, выдается ошибка: "File pcntpci5.sys caused an unexpected error (21) at line 3788 in d:\xpsprtm\base\boot\setup\setup.c" ("Файл pcntpci5.sys вызвал неожиданную ошибку (21) в строке 3788 из d:\xpsprtm\base\boot\setup\setup.c"). Смотрите Рисунок 3 для русской версии

Рисунок 3. Изображение сообщения File pcntpci5.sys caused an unexpected error (21) at line 3788 in d:\xpsprtm\base\boot\setup\setup.c

и Рисунок 4 для английской:

Рисунок 4. Изображение сообщения Файл pcntpci5.sys вызвал неожиданную ошибку (21) в строке 3788 из d:\xpsprtm\base\boot\setup\setup.c

 соответственно.

Причина

Вероятно, в каталоге I386 отсутствует файл драйвера (*.sys) для сетевого адаптера или один из его компонентов. На рисунке 9

Рисунок 9. Изображение сообшения RIS-LINUX (binlsrv.py) при использовании драйвера

изображено, что Windows XP запрашивает драйвер с PnP идентификатором PCI\VEN_1022&DEV_2000. В базе binlsrv.py (devlist.cache) есть информация о том какой драйвер необходимо использовать "[S] drv: pcntpci5.sys – Len 0x15 (21)". Но программа установки не может его загрузить о чем и сообщает.

Решение

Скопировать необходимый драйвер (pcntpci5.sys) в каталог I386.

3. Я устанавливаю русскую Windows XP, а у меня после загрузки всех необходимых драйверов черный экран и компьютер зависает. В английской Windows XP компьютер зависает, но экран синий. Смотрите рисунок 5 для русской версии:

Рисунок 5.

и рисунок 6 для английской:

Рисунок 6.

соответственно.

Причина

Наиболее вероятная причина зависания компьютера на этом этапе связано с невозможностью анонимного подключения к сетевому ресурсу указанного в файле winnt.sif в параметре SetupSourceDevice.

Решение

Необходимо убедиться, что учетная запись Guest (Гость) включена. Также убедится, что в Local Security Policy (Локальная политика безопасности), вызывается с помощью команды mmc %SystemRoot%\system32\secpol.msc, разрешен доступ к компьютеру по сети для учетной записи Guest (Гость). Одним из пунктов ограничивающим доступ и установленной по умолчанию является Local Policies (Локальные Политики) -> User Right Assignments (Назначение прав пользователя) -> Deny access to the computer from the network (Отказ в доступе к компьютеру из сети).

4. После загрузки всех необходимых драйверов установка Windows XP прерывается BSOD (синим экран смерти) PROCESS1_INITIALIZATION_FAILED (STOP 0x0000006B). Смотрите рисунок 7:

 Рисунок 7. Изображение сообщения PROCESS1_INITIALIZATION_FAILED (STOP 0x0000006B)

Причина

Вероятно, инсталляция Windows XP находится на разделе с файловой системой NTFS. В свойствах Security (Безопасность) каталога отсутствуют разрешение на чтение для группы Everyone (Все).

Решение

В свойствах каталога в Security (Безопасность) разрешить чтение группе Everyone (Все).

Категория: Windows | Просмотров: 5018 | Добавил: Maxs | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Календарь
«  Ноябрь 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024