Загрузка компьютера по сети с практически любого образа диска

OSzone.net » Microsoft » Автоматическая установка » Автоматическая установка Windows XP » Загрузка компьютера по сети с практически любого образа диска
Автор: способа RIS - Владимир Сердюк aka vserd; способа TFTPD32 - Power User
Иcточник: unattended.oszone.net
Опубликована: 03.12.2005

В данной статье опубликованы способы загрузки компьютера по сети с использованием образов дискет/HDD дисков (возможно использование размеров отличных от 1.44 Мб). Это может понадобиться при отсутствии под рукой другого загрузочного носителя, или для удобства эксплуатации в определенных условиях. Способы как минимум раз были успешно испробованы в реальной ситуации, а если вам известны другие, то присылайте свои варианты администратору сайта. Если вы знаете, как упростить существующие способы, то присылайте свои варианты авторам способов или опубликуйте их на форуме.

Способ 1: Thinstation и RIS сервер || Способ 2: PXELINUX и TFTPD32 сервер


Способ 1: Thinstation и RIS сервер

Представляю статью о загрузке по сети, которую написал участник конференции OSZone vserd.

Предисловие

Возникла у меня такая ситуация. Принесли компьютер, еле живой, Asus S200, та еще штучка как оказалось впоследствии. Диск был разбит по грамотному (два раздела), и на втором был дистрибутив Windows, спасибо предыдущему настройщику, облегчил задачку.

Итак, имеем компьютер без флоппа и CDROM. Есть сетевая карта SIS900. В BIOS есть возможность загрузиться с HDD, USB Floppy, USB Flash, USB CDROM и по сети.

На момент начала мучений с ним была только флешка, но грузиться с нее он отказался. Достать USB СD или Floppy не удалось. Оставалась только сетевая загрузка. Кстати, как оказалось впоследствии, что реально помог бы только USB флоп. USB СD не опознался.

Читая доки MS и форумы по автоустановке, натыкался на сокращение RIS и упоминание того, что можно загрузиться с сетевой карты и установить ось. Вот и решил проверить. Поставил RIS, создал образ, настроил DHCP и ... получил огромный облом. Система действительно загружалась, проходила текстовую часть установки и вываливалась в BSOD с кодом 0x000000BB. Согласно толкованиям, найденным на просторах Интернета, для исправления  нужно всего ничего, заменить драйвера сетевой карты в дистрибутиве или заменить сетевую карту. Скачал новую версию драйверов, прочитал KB315279 и ссылки по ней, сделал все как описано, и танцы с бубном окончились продолжительным BSOD-ом с тем же кодом.

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

Что понадобится

Приступаем

Шаг 1

Скачиваем и распаковываем утилиту преобразования. Для ясности, в D:\BootDisk\. 

Шаг 2

Скачиваем и устанавливаем Perl.

Шаг 3

 Создаем образ дискеты или используем готовый образ.

Шаг 4

Ожидаем завершения работы батника. Проверяем, что размер dos.bin больше размера image.dos примерно на 4 кб.

Шаг 5

Распаковываем thinstation. Из архива нам нужен файл TFtpdRoot\thinstation.nbi.zpxe. Копируем его в D:\BootDisk\ с именем dos.bin.zpxe. Это загрузчик PXE. 

Шаг 6 

Настраиваем DHCP (если настроен, то переходим к шагу 7). У меня Win 2000 Server так что буду описывать для него.

Если DHCP не установлен, тогда его сначала нужно установить. (Панель управления> - Установка удаление программ - Добавление и удаление компонент Windows, затем выделить Сетевые службы, Состав и поставить галочку на DHCP).

Настраиваем DHCP. Панель управления - Администрирование, запускаем оснастку DCHP. Выбираем сервер DHCP который мы хотим настраивать. Затем из контекстного меню выбираем Создать область. В появившемся мастере вводим имя области и комментарий. Давайте осмысленные имена, чтобы и через пару-тройку лет с этим мог разобраться другой админ или вы сами. Затем вводим начальный и конечный адрес который хотим раздавать через DHCP. Максимальная емкость зависит от числа одновременно устанавливаемых машин. Если в диапазон адресов попал статический адрес, можете его ввести на следующей странице в список исключаемых. Дальше по вашему усмотрению. После создания области в секции Параметры области, нужно настроить параметры 066 IP сервера и 067 Имя файла для загрузки. В параметр 067 вписываем имя dos.bin.zpxe.

Шаг 7

Устанавливаем и конфигурируем RIS

Панель управления - Установка удаление программ - Добавление и удаление компонент Windows, ставим галочку на Служба удаленной загрузки. После завершения установки идем в Администрирование - Службы и запускаем службу Упрощенный FTP-демон.

Шаг 8

Копируем в C:\tftpdroot файлы dos.bin.zpxe и dos.bin

Шаг 9

Устанавливаем на компе загрузку с сетевого адаптера по PXE и пробуем загрузиться.
Если все нормально, то на компьютере, который загружается, будет идти поиск DHCP сервера, затем загрузчик покажет что присвоен IP адрес, и пошла загрузка с образа.

Общие примечания

Для редактирования/создания образа дискеты можно пользоваться WinImage, плугином к Total Commander Virtual Disk или другими утилитами. Если у вас один компьютер, и нет серверной платформы, вы можете использовать одну из виртуальных машин (например, VMWare), установить на ней сервер и настроить на взаимодействие с другим компом. Судя по отзывам на форумах, это вполне реально.

Также в сети можно найти DOS стек TCP/IP. Или настроить NetBios/NetBEUI. В таком случае вы можете загрузить дистрибутив с шары.

Использованные источники

  1. Zetter/tPA. Citrix Metaframe XP - Создание тонкого клиента. Расписано как настроить DHCP и TFTP в картинках
  2. How to create Network Bootable Images under Windows. Название говорит само за себя. Описывается, как можно создать образ сетевого загрузчика. Текст на английском языке.
  3. How to create Network Bootable Images under Windows. Краткое руководство к действию по предыдущему источнику. Текст на русском языке.
  4. Александр Дейтер, Автоматическая сетевая установка Windows (или другие страницы, ссылки на которые находятся через поиск непринужденно). Описывается процесс настройки автоматизации установки Windows на базе Unix систем. Дала старт к дальнейшим поискам.
  5. KB315279: How to add a third-party OEM network adapter to a RIS installation. Статья Базы Знаний Microsoft.
  6. www.google.ru - обобщенный решатель возникших вопросов.
  7. Форумы: Ru-Board, IXBT, OSZone. Eсли подумать и поискать, то форумы сходу снимают до 90% возникших вопросов. Остальные можно попробовать задать на них.


Способ 2: PXELINUX и TFTPD32 сервер

Представляю статью об альтернативном варианте загрузке по сети, которую написал участник конференции OSZone Power User.

Предисловие

Прочитал статью с описанием способа RIS и решил поделится своим методом. Дело в том что по работе мне приходится часто кидать образы на компьютеры в школах, к которым у детишек отношение весьма не доброе, а потому большинство CD-ROM сломано, а с дисководом никогда не угадаешь заранее, считает дискетку или нет. Поэтому загрузка образов дискет (и не только) через PXE мне очень близка.

Начнем с плюсов моего метода

Есть и минусы

Что понадобится?

Совсем немного времени и трафика на скачивание нескольких небольших программ, а так же немного времени на настройку (при наличии знаний по сетям). Помимо этого:

  1. Компьютер с Windows и сетевой картой (линейку 9х не проверял, но и с ней не должно быть проблем, а под NT семейством и подавно). Как соединять два компа и настраивать сетку описывать не буду - и так много написано. Априори считается, что вы можете соединить между собой два и более компа по сетке.
  2. Компьютер, который будет загружаться по сети с наличием сетевой карты с поддержкой загрузки по сети (PXE)
  3. tftpd32 (вводим в Google и тыкаем на первую ссылку)
  4. pxelinux - часть пакета syslinux - (гуглим по "syslinux" или берем zip-архив тут)
  5. Программа для создания образа дискет. Например, WinImage или что-то подобное.
  6. рюмочка коньяка для храбрости :)

Поехали!

  1. Распаковываем tftpd32.exe, скажем, в С:\TFTP
  2. Распаковываем файл pxelinux.0 (из архива syslinux'а), memdisk (из sysylinux.zip/memdisk) а так же (опционально) memtest (sysylinux.zip/memtest) в C:\TFTP. Memtest для работы не нужен. Это просто известный тест памяти, который в нашем случае также можно загрузить по сети без дисковода и т.п.
  3. Tуда же (C:\TFTP) кладем образ любимой загрузочной дискетки (можно и не только дискетки – но об этом ниже). Например, dos.imz (для экономии места и/или ускорения загрузки можно даже сжатый (winimage) образ класть – imz, a можно и не сжатый ima). Образов может быть сколько угодно.
  4. Проверяем, что у нас в сети нету DHCP серверов. Например, если включен ICS (шара интернета), то его выключить на время экспериментов.

Конфигурируем tftpd32.exe

Запустили, нажали Settings, в "страшном" окне указываем Base Dirrectory – C:\TFTP. Потом выставляем галочки как на картинке:

Tfpd

Жмем на ОК, еще раз ОК, и перезапускаем tftpd32.

Далее настраиваем наш DHCP сервер:

Tfpd

  1. Выбираем сетевую карточку, к которой подключен пациент
  2. Ставим начало адресов, которые получит первый клиент (этот адрес и количество клиентов не должно пересекаться с вашим IP)
  3. Количество адресов (минимум 1)
  4. Имя загрузчика (pxelinux.0)
  5. Маска сети (мат-часть по сетям)
  6. Сохраняемся....

Далее на всякий случай перезапускаем tftpd32. Почти закончили :)

Конфигурируем загрузку

Создаем текстовый файл C:\TFTP\PXELINUX.CFG\default и редактируем его, скажем, так:

default local
prompt 1
label local
    localboot 1
label dos
    kernel \memdisk
    append initrd=\dos.imz
label pqpm8
    kernel \memdisk
    append initrd=\pqpm8.imz
label mem
    kernel \memtest

Подробную информацию можно найти в pxelinux.doc из syslinux'a.

Ну и наконец, устанавливаем на компе загрузку с сетевого адаптера по PXE.

Что получаем?

Компьютер грузится по сетке, подключается к вашему компьютеру, скачивает загрузчик и ждет вашего ввода команды. Ну а там смотря что ввели:

Ну и далее только от фантазии зависит :) Можно, например, известные утилиты от Paragon тоже так грузить, но это уже сложнее (надо выковыривать из загрузочных дисков ядра и образы линукса), можно тот же thinstation terminal client и т.д.

Послесловие

В статье делается упор на tftpd32, так как он бесплатен, не требует установки, и включает в себя 2 сервера в 1 (DHCP и TFTP), а также запускается под Windows любой версии. Но сам принцип - загрузка и запуск бинарника pxelinux (с последующей загрузкой нашего образа) - не привязан к tftpd32, а требует наличия в сети DHCP сервера с двумя дополнительными параметрами - 067 (имя загружаемого бинарника - pxelinux.0) и 066 (IP адрес TFTP сервера который нам и выдает искомый бинарник), а также собственно TFTP сервер, на который ссылается DHCP. Какими системами, сервисами или железками это реализовано нам совершенно неважно, потому можно использовать любой находящийся в сети сервер (Linux, Windows, Novell). Ну а если его нет, то tftpd32, запущенный на любой машине. Главное - это добраться по сети до PXELINUX.


Ссылка: http://www.oszone.net/3530/