Сервер для загрузки windows по сети

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

Посетителей: 133439 | Просмотров: 219442 (сегодня 8) Шрифт:

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

Способ 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-ом с тем же кодом.

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

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

  • Утилита для создания загрузочных сетевых образов из обычных. Загружаем
  • Perl. Загружаем. (эта версия сработала у меня, другие пробуйте сами, я в Perl не игрок)
  • Блокнот из стандартной поставки Windows или любой другой ASCII редактор
  • Thinstation. Сайт, файл (8.86 Мб) (вполне возможно, что файл и другой подойдет)
  • Установочный диск с Windows 2000 Server
  • Прямые руки, желание научиться 🙂

Приступаем

Шаг 1

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

Шаг 2

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

Шаг 3

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

  • Если нет образа загрузочной дискеты в виде файла, тогда вставляем загрузочную дискету с MS-DOS и выполняем команду D:\BootDisk\MKIMAGE.BAT DOS . Поддерживаются стандартные 1.44 Mb приводы.
  • Если образ уже есть, тогда модифицируем файл создания загрузочного образа.
    1. Открываем блокнот и копируем/записываем следующий код

@echo off
cd mknbi-1.4.1-win
perl.exe mknbi.pl —nosquash —format=nbi —target=dos ..\image.dos >..\dos.bin
rem Если хочется универсальности, тогда комментируем верхнюю строчку (дописываем REM)
rem и раскомментируем нижнюю (удаляем REM) (запуск MKIMAGE2 имя_образа_с_расширением)
rem perl.exe mknbi.pl —nosquash —format=nbi —target=dos ..\%1 >..\dos.bin
cd..
:end

Шаг 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. В таком случае вы можете загрузить дистрибутив с шары.

Универсальный сервер сетевой загрузки и установки. Начало.

Данная статья посвящена описанию настройки сервера сетевой загрузки и установки с его помощью разнообразных ОС.

Введение

Каждому системному администратору, даже не большой локальной сети, приходиться устанавливать или обновлять разнообразные операционные системы. Довольно часто конфигурация оборудования настолько разнообразна, что ни о какой установке ОС с заранее подготовленного образа установленной и настроенной системы, речи быть не может. Для компаний занимающихся разработками клиент-серверного программного обеспечения работа с СУБД Sybase SQL Anywhere [14], Oracle Database [13] и т.д. список ОС для тестирования серверной части продукта может быть очень большим. Работы по созданию кроссплатформенных приложений тоже требуют наличия разнообразных платформ. В этот список могут входить как все версии серверных и десктопных ОС от Microsoft, так и целый зоопарк популярных операционных систем семейства Unix. Так же время от времени возникает необходимость решения таких «насущных» задач как восстановление систем, загрузчиков, удаление вирусов и т.д. и т.п. Для этого администратору удобно иметь под рукой как минимум два live-дистрибутива (Windows и Unix). Из всего выше сказанного следует, что администратору необходимы носители на которых располагаются все эти ОС, а это достаточно большое количество дисков. Тем более, что в разнообразные системы желательно интегрировать последние сервис-паки и обновления, которые выходят достаточно часто. Это приводит к тому, что носители периодически необходимо перезаписывать, что неэффективно с точки зрения затрат времени.
Следует также отметить, что, из соображений безопасности и по причине экономии при комплектовании рабочих станций не всегда устанавливается DVD привод, а многие системы инсталлируются с DVD дисков. В такой ситуации облегчить жизнь системному администратору поможет сервер сетевой загрузки и установки операционных систем. В интернете существует огромное количество статей и сайтов посвященных этой теме. Но во многих случаях описание процесса установки уже не соответствует новым реалиям, так как написаны достаточно давно. После недавнего внедрения системы сетевой установки на новом сервере, возникло желание поделиться этим опытом.

Сетевая установка

Существует два стандартных варианта решения этой задачи. Для установки операционных систем семейства Windows существуют всем известные WDS (Windows Deployment Services) и SMS (Microsoft System Management Server). У Unix-подобных систем с давних пор была возможность установки разнообразными методами, в том числе и по сети. Нет сомнения, что для развертывания и установки Windows систем WDS удобен и выполняет свои обязанности, но для инсталляции операционных систем семейства Unix он не очень подходит.

Как известно, основным компонентом сервера сетевой установки является TFTP сервер. Его расположение (IP — адрес) указывается при помощи параметров DHCP. Если DHCP-сервер в вашей сети один, то перенаправлять сетевой загрузчик то на один TFTP сервер, то на другой для загрузки не получится. Поэтому нельзя объявить сразу два источника установки – такой сервер должен быть один. Существует решение для установки Linux систем с помощью Windows WDS — проект WDSLINUX [1]. Его основной минус заключается в том, что не все дистрибутивы поддерживают подключение по smb и http протоколу к серверу установки (для примера ]]> http://www.openfiler.com) ]]> . Обычно такие дистрибутивы требуют подключения по nfs. Мне хотелось получить универсальную схему для установки разных версий Microsoft Windows и Linux, а так же сетевую загрузку разнообразных «спасательных» систем.

Для начала немного теории. Принцип сетевой установки очень прост. При включении компьютера управление передается ПЗУ сетевой карты. Обычно используется среда PXE (Pre-Execution Environment). После распаковки в оперативную память, она активирует сетевую карту и начинает посылать широковещательный запрос в сеть для нахождения сервера DHCP. При ответе DHCP, PXE запрашивает у него IP адрес, который необходимо присвоить сетевой карте, маску сети, IP адрес сервера TFTP, имя файла для загрузки и т.д. Далее, если ответы на вопросы получены при помощи встроенного TFTP-клиента, PXE обращается к указанному серверу с запросом на получение указанного в параметрах файла. Если файл найден и получен то управление передается на него. Всеми последующими действиями будет руководить именно он.

Широкое распространение получил проект Питера Анвина (Peter Anvin) под названием — Syslinux [2]. Он имеет простые конфигурационные файлы и включен в поставку многих Linux дистрибутивов. На официальном сайте дается такое определение этому пакету: «SYSLINUX является загрузчиком для операционных системы Linux, который работает на MS-DOS/Windows FAT файловых системах. Он предназначен для простой загрузки и установки Linux. А также для создания спасательных и других специальных загрузочных конфигураций». В этот пакет входит PXELINUX, который является производной от SYSLINUX и используется для загрузки Linux с сетевого сервера. PXELINUX соответствует Intel PXE (Pre-Execution Environment) спецификации. Основой PXELINUX является файл «pxelinux.0» — это и есть загрузчик. Этот файл располагается в корне TFTP сервера. Его конфигурационные файлы размещаются в папке «/tftpboot/pxelinux.cfg/». После запуска на клиентской машине «pxelinux.0» скачивает с сервера и отображает файл «message». Это простой текстовый файл, в котором описаны доступные варианты загрузки. Затем он скачивает свой конфигурационный файл («/tftpboot/pxelinux.cfg/default») и переходит в режим ожидания ввода имени предоставленных конфигураций. Имя раздела пишется после метки label. В ответ на ввод имени варианта установки «pxelinux.0» начинает выполнять действия описанные в нем. Для создания простого текстового меню файл «/tftpboot/pxelinux.cfg/default» может выглядеть так:

default pe
label xpinstall # Установка Windows XP
kernel startrom.0
label win7 # Установка Windows 7
kernel sources/pxeboot.0

label pe # Запуск Live-CD WindowsPE
pxe keep
kernel pe.0
append initrd=winpe.wim ramdisk_size=262144
label suse112 # Установка openSuSe11.2
kernel suse/suse112x32/linux
append initrd=suse/suse112x32/initrd ramdisk_size=65536 install=nfs://192.168.1.7/ srv/tftpboot/suse/suse112x32/CD1/

Так же возможно создание графического меню выбора операционных систем (рис.1-3).

Рисунок 2 Меню «спасательных» систем и утилит

Рисунок 3 Меню установки ОС

PXE — грузим всё! Осваиваем мультизагрузку по локальной сети

Содержание статьи

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

Итак, сегодня мы научимся: устанавливать Windows и Linux по сети, грузить небольшие ISO-образы, полезный софт (всяких там Касперских, Акронис, WinPE, мемтесты), разворачивать тонкие клиенты и рулить ими. Чтобы, например, бухгалтер, работающая с 1С по RDP, не прибила тебя за то, что у нее слетела винда, а отчет нужно было подготовить еще вчера. Или скупой начальник, который не хочет обновлять свой комп, восхитился твоим профессионализмом, когда увидит, как на стареньких компах летает Windows 8. В достижении наших коварных целей нам поможет сервер, предоставляющий загрузку по сети (PXE).

Xakep #201. Как стать киборгом

У любого системного администратора в заначке есть универсальный USB-диск для экстренной реанимации компьютера. Согласись, было бы куда лучше иметь ту же функциональность, используя одну лишь сетевую карту. Нельзя при этом не отметить возможность одновременной работы с несколькими узлами сразу. Итак, исходя из наших потребностей у нас есть два пути решения: использовать PXE или LTSP.

LTSP нам не очень подходит: он призван грузить по сети ОС, установленную на самом сервере, что позволяет использовать приложения сервера LTSP. Это не совсем то, что нам нужно. PXE — инструмент для загрузки компьютера по сети без использования локальных носителей данных, так же как и LTSP. PXE позволяет организовать мультизагрузочное меню загрузки, аналогичное универсальному «USB-реаниматору».

Главное меню загрузки PXE, графический режим

Что будем реализовывать?

Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS.
Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.

  1. Тонкие клиенты на базе Thinstation Linux.
  2. Раздел Linux.
    1. Установка Ubuntu 14.04 x86.
    2. Установка Ubuntu 14.04 x64.
    3. Установка Ubuntu 12.04 x86.
    4. Установка Ubuntu 12.04 x64.
    5. Загрузка SliTaz Live CD.
  3. Раздел Windows.
    1. Установка Windows 2012.
    2. Установка Windows 7.
  4. Acronis.
    1. Windows PE с пакетом полезного ПО.
    2. Acronis True Image.
      1. Legacy BIOS.
      2. UEFI.
    3. Acronis Disk Director.
      1. Legacy BIOS.
      2. UEFI.
  5. Касперский Rescue v 10.
  6. ERD Commander от 5 до 8 через ISO-образ.
  7. Memtest.

Собираем все в кучу и взлетаем

В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:

Параметр -y означает, что на все вопросы отвечаем согласием. Настройка TFTP сводится к правке пары строк в соответствующем месте:

Обрати внимание, параметр TFTP_DIRECTORY=»/var/lib/tftpboot» указывает место расположения корневого каталога TFTP-сервера. После сохранения перезапускаем удобным для себя способом:

Далее настроим DHCP-сервер. Приведу простую конфигурацию файла /etc/dhcp/dhcpd.conf:

Данная конфигурация говорит о том, что DHCP-сервер работает в локальной сети 192.168.0.0/24. Клиенту присваиваются адреса из диапазона 192.168.0.150–192.168.0.200, им будут присвоены параметры шлюза — 192.168.0.1, DNS-сервера — 192.168.0.2 и 192.168.0.5. Класс pxeclients, а именно параметр filename — это имя файла загрузчика, расположенного в корневой папке TFTP-сервера, в нашем случае /var/lib/tftpboot/pxelinux.0, на сервере с адресом 192.168.0.10.

Syslinux. Ставим загрузчик

В качестве загрузчика будем использовать Syslinux. Последнюю версию можно взять здесь. Распаковываем и кладем в /var/lib/tftpboot следующие файлы: ldlinux.c32, libcom32.c32, pxelinux.0 и lpxelinux.0 и каталог boot, в который складываем chain.c32, ldlinux.c32, libcom32.c32, libcom32.elf, libutil.c32, linux.c32, memdisk, menu.c32, vesamenu.c32 (menu.c32 — только текстовое меню, vesamenu.c32 позволяет украсить меню, например добавив фон). Файл меню загрузки по умолчанию должен находиться в /var/lib/tftpboot/pxelinux.cfg/default и иметь вид

На этом этапе загрузчик должен работать и иметь единственный пункт меню «Загрузка с первого жесткого диска». Далее необходимо создать подменю. Чтобы не путаться и не городить огромные файлы, рекомендую вынести подпункты в отдельные файлы меню, например так:

Все, что относится к разделу меню Install/Boot Linux, вынесем в отдельный файл /var/lib/tftpboot/linux. Аналогично выносятся другие пункты меню. Остальные параметры загрузки рассмотрим при добавлении каждого пункта/продукта.

Раздел Linux. Готовим на примере Ubuntu 14.04

Первым пунктом ставим возврат в предыдущий раздел меню. Далее будет установка Ubuntu 14.04 i386 и amd64. Скачиваем образ Ubuntu 14.04 mini.iso, распаковываем, находим прямо в корне два файла: linux и initrd.gz. Напомню, что корневой каталог сервера для загрузки — это каталог TFTP-сервера /var/lib/tftpboot . Исходя из этого, располагаем файлы внутри tftpboot. В случае с установкой Ubuntu, например, в images/linux/ubuntu14/i386 для x86 и в /images/ubuntu14/amd64 для x64 архитектур соответственно. Заметь, пути указаны относительно каталога FTFP-сервера. Здесь можно задавать параметры для установки, для автоматизации процесса установки. Например, задать параметр установки в качестве окружения рабочего стола при установке Debian KDE: append desktop=kde . Следующим шагом запустим маленький SliTaz. Грузить ISO-образы будем через memdisk. Из листинга сверху видно раздел slitaz, memdisk у нас расположен в каталоге boot, сам образ — в каталоге images. Параметры аналогичны тем, что используются в мультизагрузочных дисках.

Тонкие клиенты / Thinstation Linux

Следующим шагом научим запускать тонкие клиенты. Образ Thinstation Linux можно скачать готовый в виде сборки, можно взять конструктор для сборки и собрать самостоятельно. Можно качнуть с GitHub. Будь готов, что в последнем случае для подготовки образа потребуется около 3 Гбайт свободного места и времени в районе часа. Подготовка образа из Git хорошо описана в статье на сайте quaded.com. Я взял сборку с сайта nixts.org. В образе, который мы используем, много «ненужных» файлов, потому что там сразу и загрузчик, и дефолтные конфиги. Берем ядро и образ файловой системы (initrd и vmlinuz), которые складываем, например, в /var/lib/tftpboot/images/thinstation/ . Файлы конфигураций ( thinstation.conf.network , thinstation.hosts , thinstation.conf-user ) располагаем в корневом каталоге TFTP-сервера! Thinstation позволяет при загрузке учитывать MAC-адреса, IP-адреса, определять имя и группировать клиентов, в зависимости от параметров регулировать загрузку, например уводить на разные RDP- или VNC-серверы, сессии. Это позволяет, например, наклепать кучу виртуалок с десктопными операционными системами и посадить каждого клиента на отдельную виртуалку. Для каждого клиента можно также отдельно задавать настройки доступа к локальным устройствам: принтерам, флешкам, дискам, приводам и так далее. В общем, каждый ограничен только своей фантазией, благо вариантов использования с описанием настроек в сети навалом.

Acronis

Продукты Acronis загружаются аналогично инсталляторам Linux-систем. Скачал в Сети первый попавшийся образ Acronis, исключительно в научных целях. Распаковал. Нас интересуют только два каталога: ADD12 и ATI2015. Внутри каждого каталога видим по два файла с одинаковым именем и разным расширением. Это сделано для загрузки на 32-битных и x64-системах. Если открыть файл menu.lst того же образа, можно посмотреть, что чему соответствует. Для удобства складываем True Image и Disk Director аналогичным образом. Создаем папку acronis в рабочем каталоге ( /var/lib/tftpboot ). В него копируем ADD12 и ATI2015 со всем содержимым. Для удобства продукты Acronis выносим в отдельный раздел меню, так же как и раздел Linux. В pxelinux.cfg/default добавляем:

Файл acronis приводим к такому виду:

Windows PE

Windows-образы грузить несколько сложнее. В реализации загрузки практически любого WinPE-образа с любым содержимым внутри нам поможет загрузчик WIMBoot. WIMBoot — это системный загрузчик WIM-образов по сети. Довольно хорошо о самом продукте рассказывается на сайте, там же есть ссылка на скачивание. На сайте Microsoft есть инструкция по созданию WIM-образов. Образ, с которым я работал, был щедро вручен мне нашим системным администратором с продуктами Акронис. Назывался он Acronis_WinPE_Sergei_Strelec_25.11.2013.iso . Распаковав его, увидел в папке source заветный образ acronis.wim . Для WIM-образов для большего порядка использую отдельный каталог wim. Чтобы не путаться, внутри сделал еще один каталог winpe. В него копируем acronis.wim . Еще нам потребуются два файла из каталога BOOT этого же образа: BCD, BOOT.SDI и файл BOOTMGR из корня образа. На этом образ можно закрыть, удалить, больше он не пригодится. Переходим к подготовке загрузчиков (WIMBoot и syslinux). Распаковываем куда-нибудь архив wimboot-latest.zip . Копируем загрузчик WIMBoot на сервер TFTP, для удобства в каталог boot. Поскольку образ содержит Windows PE и различное программное обеспечение, в том числе и Acronis, то отнести можно в любой раздел меню. Я расположил его в главном меню. Итак, в файл pxelinux.cfg/default вносим изменения:

Заключение

На этом всё. В следующей статье мы научимся подготавливать и добавлять Windows-образы, сетевой установке в ручном и автоматическом режимах. Добавим Kaspersky Rescue v10, ERD Commander, именуемый MSDaRT. Разберемся, как запускать диагностические утилиты на примере memtest, а также покажем, как украсить меню загрузки.

Александр «Plus» Рак

Участник сообщества OmskLUG. Инженер отдела электронного взаимодействия МКУ «Информационно-технического управления».

Читайте также:  Xbox accessories app windows
Оцените статью