Терминальная загрузка windows по сети
Загрузка терминалов по HTTP необходима в двух случаях:
- Много терминалов в одной сети загружаются с одного сервера. Трудности при загрузке по TFTP начинаются, когда терминалов становится больше трехсот. HTTP работает стабильно при любом количестве терминалов.
- Загрузка терминала происходит через VPN по медленному каналу с потерями пакетов. TFTP очень капризный протокол. HTTP на таких каналах работает стабильнее.
Даже если сеть одна и терминалов меньше сотни, все равно целесообразно использовать загрузку по HTTP. Потому что по HTTP быстрее и стабильнее. TFTP слишком простой протокол, придуманный с единственной целью помещаться в BootROM/BIOS. TFTP крайне требователен к надежности сети. Если пакеты теряются, большие файлы по TFTP будут грузиться тяжело. HTTP решает эту проблему.
Загрузка терминала по сети в любом случае начинается по TFTP. Потому что BootROM сетевой карты, который прошит в самой карте или в BIOS материнской платы, умеет загружаться только по TFTP. По TFTP cкачиваются два файла: wtware.http ( http.efi для UEFI) и wtware.http.cfg . Все остальное будет загружаться по HTTP.
Настройка DHCP для загрузки по HTTP
В 066 параметре DHCP как обычно указываем IP адрес TFTP сервера.
В 067 параметре DHCP указываем 5.4.24/wtware.http вместо обычного 5.4.24/wtware.pxe . Версию 5.4.24 надо заменить на версию wtware, которая должна загружаться на терминал.
Для UEFI машин в 067 параметре DHCP указываем 5.4.24/http.efi вместо обычного 5.4.24/bootx64.efi . Версию 5.4.24 надо заменить на версию wtware, которая должна загружаться на терминал.
WTware DHCP сервер автоматически определяет правильное значение для Legacy BIOS и UEFI компьютеров. Microsoft DHCP нужно специальным образом настраивать, чтобы он научился различать Legacy BIOS и UEFI компьютеры, эту сравнительно сложную настройку мы описали в отдельной статье про настройку Microsoft DHCP. Если у вас немного терминалов, проще делать reservations для каждого конкретного МАКа.
Для Microsoft DHCP надо проверить, что настройка ‘Conflict detection attempts’ установлена в значение по умолчанию 0:
Поехали: Legacy BIOS, не UEFI
После включения терминала управление получает код BootROM, записанный в сетевой карте или в BIOS материнской платы. Этот код делает запрос к DHCP. Затем обращается к серверу, IP адрес которого указан в 066 параметре DHCP. По TFTP скачивает с него файл 5.4.24/wtware.http и передает ему управление.
В файле 5.4.24/wtware.http находится загрузчик iPXE, немного более сложный, чем записан в BootROM или BIOS терминала. Он загружает по TFTP свой конфигурационный файл 5.4.24/wtware.http.cfg . Затем он загружает по HTTP файлы WTware, URL которых указаны в wtware.http.cfg .
Поехали: UEFI
После включения терминала управление получает код UEFI, записанный в BIOS материнской платы. Этот код делает запрос к DHCP. Затем обращается к серверу, IP адрес которого указан в 066 параметре DHCP. По TFTP скачивает с него файл 5.4.24/http.efi и передает ему управление.
UEFI достаточно новая технология. UEFI BIOS может скачать и запустить стартовый файл WTware 5.4.24/http.efi размером четыре мегабайта с ядром Linux и драйверами сетевых карт. Дополнительный загрузчик для UEFI BIOS не нужен. Запускается WTware, скачивает с TFTP конфигурационный файл 5.4.24/wtware.http.cfg и продолжает загружать нужные файлы по HTTP, используя адрес HTTP-сервера, порт и пути, указанные в wtware.http.cfg .
Пути на HTTP сервере
Пути по умолчанию предполагают, что в корне HTTP-сервера лежит ссылка wtware , которая должна ссылаться на структуру файлов wtware: на «C:\Program Files (x86)\WTware\TFTPDROOT\» на Windows или на содержимое каталога wtware из .zip архива дистрибутива WTware. Например, следующие пути должны работать для загрузки WTware версии 5.4.24:
Чтобы сделать ссылку на директорию в Windows, из командной строки Windows с правами Администратора надо выполнить: Можно нагляднее: поставить FAR, нажать Alt-F6.
У wtware в каталоге packages много файлов без расширений. Microsoft IIS может отказаться отдавать файлы без расширений. Вы можете указать «.» (точку) вместо расширения и создать MIME mapping.
Терминальная загрузка windows по сети
Утилита tftpd32, рекомендованная для быстрого старта, недостаточно функциональна для промышленного применения. Мы рекомендуем пользоваться службами, входящими в дистрибутив Windows Server. Они несколько сложнее в настройке, зато обладают всей необходимой функциональностью и весьма надежны.
Служба, являющаяся сервером dhcp, в мастере компонентов Windows называется «Dynamic Host Configuration Protocol (DHCP)» и находится в группе «Networking Services». При инсталляции никаких вопросов не задает, после инсталляции нуждается в настройке. Инструмент для управления службой dhcp называется DHCP и находится в Administrative Tools. Запускаем консоль управления DHCP и создаем новую область адресов, New Scope:
Создание новой области адресов начинается так:
Название области и описание могут быть любыми. Это информация не для системы, а для системного администратора. Лучше, если название достаточно информативно, чтоб не вспоминать потом, какие же машины настраиваются из этой области.
Разумеется, IP-адреса, маска сети и количество адресов в области у вас будут иными. Настойчиво рекомендую делать область несколько больше, чем число терминалов, которое планируется использовать. Дело в том, что отдельные «непорядочные» операционные системы, даже будучи настроенными с фиксированным IP-адресом, все равно производят запрос к dhcp-серверу. А dhcp-сервер в свою очередь не выдаст терминалу IP-адрес, если этот IP-адрес уже был отдан другой машине.
И еще один совет: задавайте такую область адресов, которая не будет включать в себя уже существующие машины с фиксированными адресами (т.е. которые не получают настройки от dhcp).
Exclusions (исключения) из диапазона нужны только тогда, когда невозможно выделить для терминалов достаточно большой свободный диапазон. Если в указанном экраном ранее диапазоне все-таки есть машины со статическим IP (обычно это Windows, загружающиеся с жесткого диска, которым IP явно указан в настройках самих машин), то их адреса надо перечислить в этом окне.
На этом экране устанавливается срок, на который выдаются адреса. Не изменяйте значения на этой закладке. IP-адреса для терминалов, к которым не подключены принтеры, могут меняться по усмотрению dhcp-сервера, и никаких неприятностей это не повлечет.
Создание области завершено. Теперь надо задать специальные параметры, определяющие загрузку бездисковых терминалов. Правый клик на Scope Options, в меню выбираем Configure Options.
Появится окно Scope Options. На закладке General нужно указать два параметра: 066 и 067
Параметр 066, Boot Server Host Name, определяет IP-адрес компьютера, на котором работает tftp-сервер.
Параметр 067, Bootfile Name, определяет имя файла, который будет загружен на терминал и с выполнения которого начнется загрузка. Запомните, как называется этот параметр! К нему придется вернуться в дальнейшем, когда вы определитесь с методом загрузки. Если терминал все еще загружается с дискеты, как описано в статье «Быстрый старт!» (или используется любой другой Etherboot-загрузчик), то значением этого параметра должно быть wtshell.nbi . Если для загрузки используется метод PXE, то значением этого параметра должно быть wtware.pxe .
Настройка области закончена.
Последний и обязательный шаг — активация области:
После этого ваш dhcp-сервер сможет предоставить информацию, необходимую терминалу для загрузки.
DHCP Reservations
Еще две тонкости, которые могут понадобиться при настройке dhcp-сервера:
- Мак-адреса плохо запоминаются. Найти конфигурацию для нужного терминала проще, если у каждого терминала есть свое имя. Удобно также раскладывать файлы конфигураций в разные каталоги, по комнатам или отделам фирмы.
- Часто бывает так, что в одной сети должны работать и терминалы, загружающиеся по методу PXE, и терминалы, пользующиеся загрузчиком Etherboot.
И то, и другое достигается одинаково. Нужно использовать Reservations, т.е. записи на dhcp-сервере, описывающие каждый терминал в отдельности. Делаем так: клик правой кнопкой по Reservations, выбираем New Reservation.
Откроется окно New Reservation:
В поле Reservation Name указываем имя записи. Удобно, если имя записи будет совпадать с именем терминала. Это имя должно быть уникальным. IP-адрес выбираем из созданной области. MAC-address терминала можно узнать, загрузив на терминале WTware и выбрав пункт меню «Показать диагностическую информацию о терминале». В окно New Reservations MAC-адрес должен вводиться без разделителей (двоеточий, тире). В поле Description можно написать пометку для себя. Затем жмем Add, в следующем окне Close. Затем переходим в настройку параметров reservation:
Для того, чтобы дать терминалу отдельное имя (и тем самым указать, что конфигурационный файл будет называться этим именем, а не мак-адресом), вы должны указать параметр 012 Host Name :
Значение этого параметра может содержать слэш, тогда конфигурационные файлы можно размещать в разных директориях. Если указать так, как на скриншоте, то терминал будет искать свою конфигурацию в файле term21.wtc в каталоге fold , расположенном в корне tftp-сервера. Подробнее про именование конфигурационных файлов читайте здесь.
Следующее действие касается сети, в которой должны работать и терминалы, загружающиеся по методу PXE, и терминалы, пользующиеся загрузчиком Etherboot. Единственное, чего необходимо добиться: dhcp-сервер должен выдавать таким терминалам разные значения параметра 067 (Bootfile Name). Для терминалов, загружающихся по методу PXE, параметр 067 должен иметь значение wtware.pxe , а для терминалов, пользующихся загрузчиком Etherboot, значение wtshell.nbi . Первым делом определитесь, каких терминалов у вас больше. Значение для тех, которых больше, надо указать в основном параметре области. Для каждого терминала из второй группы (тех, которых меньше) значение придется определить в Reservations, как было показано выше. Затем надо указать, что параметр 067 для каждого такого терминала будет иметь иное значение, нежели для всей остальной области. Клик правой кнопкой на созданной записи Reservations, выбираем Configure Options.
Получаем окно Reservation Options:
В этом окне надо задать нужное значение параметра. Например, если большинство терминалов у вас грузится загрузчиком Etherboot, а отдельные терминалы грузятся по методу PXE, то здесь мы пишем wtware.pxe
Служба, являющаяся сервером tftp, в дистрибутиве Windows Server входит в Remote Installation Services (RIS). RIS весьма громоздкая и сложная в настройке система. Если вы очень хотите пользоваться службой RIS по ее прямому назначению, т.е. для установки Windows на компьютеры по сети — читайте статью WTware и RIS. Если вы просто хотите загружать бездисковые терминалы — делайте так:
- Установите через Add/Remove Programs => Windows Components компоненту Remote Installation Services, но откажитесь от ее конфигурирования, т.е. не запускайте Remote Installation Services Setup.
Запустите regedit.exe и создайте ключ реестра HKLM\System\CurrentControlSet\Services\Tftpd\Parameters\Directory , тип REG_SZ , значение c:\wtware.net Эта папка и будет корнем tftp-сервера, в нее надо распаковывать содержимое папки wtware.net из дистрибутива сетевого пакета WTware. Описание этого параметра присутствует и на сайте Microsoft.
Запустите консоль Services из Administrative Tools и установите Startup type для службы Trivial FTP Daemon в значение Automatic. Должно получиться так:
Терминальная загрузка windows по сети
В этой статье будет описан самый быстрый метод, который позволит добиться следующего результата: загрузить компьютер без жесткого диска и подключиться к терминальному серверу Windows. О том, как довести получившееся решение до идеала, вы прочтете позже.
Пожалуйста, выполняйте инструкции этой статьи в точности так, как написано. Если на каком-то из этапов вы получили не тот результат, который описан в статье, лучше остановиться и найти ошибку. Возможно, стоит обратиться в службу поддержки WTware. Эксперименты ставить и улучшать схему лучше после того, как вы получите действующий стенд.
Начальные условия:
- Имеется сервер с операционной системой Windows 2003 Server (также возможна работа с Windows 2000 Server + сервиспак 4 или Windows NT 4.0 Terminal Server + сервиспак 6), на котором работает служба терминалов. Пожалуйста, убедитесь, что подключение к службе терминалов стандартным клиентом от Microsoft проходит успешно.
- Имеется терминал — компьютер, удовлетворяющий требованиям из списка совместимости оборудования.
- Терминал и сервер соединены локальной сетью.
- В сети имеется запущенный и активированный сервис лицензирования служб терминалов. В некоторых случаях без этого сервиса служба терминалов отказывается принимать соединения от терминалов WTware. Настройка сервера лицензирования служб терминалов описана в этой статье (это та служба, по вине которой терминальный сервер перестает принимать подключения от любых клиентов после окончания 90-дневного периода)
Существует множество способов выполнить загрузку по сети. Суть всех способов одна и та же: во время загрузки на терминале должен выполниться некий исполнимый код загрузчика, микропрограммы, дополняющей BIOS компьютера.
В рамках этой статьи мы будем использовать загрузчик Etherboot на дискете. В дальнейшем вы сможете отказаться от дискеты, но для начальной настройки это самый простой вариант.
Загрузка по сети происходит следующим образом:
Инструкция:
1. Нужно скачать:
- eb5_4_0.zip, образ дискеты с универсальным загрузчиком Etherboot.
- Последнюю версию утилиты tftpd32 с сайта разработчика.
- Пакет WTware для загрузки по сети.
2. Записываем программой rawwrite образ загрузчика eb-net.dsk на дискету. Загружаем терминал с этой дискеты (стрелка на схеме). Сначала на экране будет следующий текст:
Затем загрузчик попытается обнаружить сетевую карту. Если ему это удастся, то он произведет запрос к dhcp-серверу (стрелка на схеме) и появится надпись «Searching for server (DHCP). «:
3. Делаем dhcp-сервер. Для загрузки по сети должны работать две службы — dhcp и tftp. На начальном этапе проще всего использовать утилиту tftpd32. Она обладает всей необходимой функциональностью, проста в установке и настройке, ведет журнал запросов.
Если у вас в сети уже есть dhcp-сервер, то необходимо настроить именно его, а не создавать новый dhcp-сервер. В одном сегменте сети Ethernet не может одновременно работать два dhcp-сервера.
Для Microsoft dhcp, входящего в дистрибутив Windows, нужно указать два параметра: 066 (Boot Server Host Name), задать ip-адрес tftp-сервера, и 067 (Bootfile Name), задать значение wtshell.nbi
Для unix-сервера dhcpd от ISC в конфигурационный файл dhcpd.conf надо добавить такие волшебные слова:
next-server ip-адрес-tftp-сервера;
filename «wtshell.nbi»;
Основное окно tftpd32 настраиваем так:
В поле Server Interfaces должен быть указан ip-адрес той сетевой карты сервера, которая смотрит на терминал. В поле IP pool starting address указываем начало блока незанятых ip-адресов сети, в которой находятся терминал и сервер, Size of pool — размер этого блока (укажите хотя бы 10), Boot File — wtshell.nbi, Mask — маску сети, в которой находятся терминал и сервер.
Settings tftpd32 настраиваем так:
4. Перезагружаем терминал. На закладке tftp утилиты tftpd32 при этом появится примерно такой текст:
А на экране терминала должны добавиться такие строчки:
Первые две строки соответствуют стрелке на схеме. Последняя строка — запрос на загрузку WTware на терминал (стрелка
на схеме).
Дальше терминал скажет «TFTP error 1 (File not found). Пока так и должно быть.
5. Настраиваем службу tftp. Распаковываем архив wtware.?-?-?.zip на диск C: так, чтобы полный путь к файлу wtshell.nbi был таким: c:\wtware.net\wtshell.nbi . В tftpd32 нажимаем кнопку Settings, затем Browse и выбираем директорию c:\wtware.net . И еще раз перезагружаем терминал. На закладке tftp утилиты tftpd32 при этом появится примерно такой текст:
А на экране терминала — такая картинка:
Загрузка терминала по сети прошла успешно, выполнена стрелка схемы.
6. Настраиваем файл default.wtc , конфигурационный файл WTware:
- Обязательно убрать символ # из строки
Еще раз перезагружаем терминал. На экране терминала должна появиться такая картинка:
7. Проверяем работу драйвера видеокарты. Запустите первый пункт меню, «Проверить видеокарту». На экране терминала должна появиться такая картинка:
Последовательность цветов должна быть именно такой. Белый логотип «WTware должен двигаться при перемещении мыши.
8. Проверяем сеть. Из меню запускаем команду «Проверить сеть и связь с сервером». На экране терминала должна появиться такая картинка:
Естественно, должен быть указан ip-адрес вашего терминального сервера, тот, который вы указали параметром win2kIP в конфигурационном файле default.wtc
9. Подключаемся к терминальному серверу. Из меню запускаем команду «Подключиться к терминальному серверу». На экране терминала должно появиться окошко с приглашением ввода пароля для входа в Windows.
Результат достигнут: компьютер загрузился без жесткого диска, можно работать с терминальным сервером Windows. Готов работающий стенд. Теперь можно вносить изменения в схему, чтоб сделать ее более удобной и функциональной. Читайте следующую статью!