Ubuntu → Установка Ubuntu по сети (DHCP, PXE, boot-menu) / На примере Ubuntu 14.04


Настройка PXE роли на SCCM сервере для сетевой установки Windows

Функционал PXE (Preboot Execution Environment) в современных компьютерах позволяет выполнить сетевую установку операционной системы без применения каких-либо носителей. В SCCM его настройка происходит в окне свойств роли точки распространения (в контекстном меню вам нужно выбрать пункт Properties) и установить флажки:

  • Enable PXE support for client;
  • Allow this distribution point to respond to incoming PXE request;
  • Enable unknown computer support;
  • Require a password when computers use PXE.

Также желательно выбрать из выпадающего списка Allow user device affinity with automatic approval.

После включения этих настроек на сервере будет установлена роль Windows Deployment Services, интегрированная с SCCM.

Содержание

  • 1 Загрузка PXE-кода
  • 2 Запуск загрузчика ОС
  • 3 Загрузка операционной системы
  • 4 Литература
  • 5 Справочная информация

Статья о Загрузке компьютера по сети

Загрузка компьютера по сети это программно-аппаратный механизм обеспечивающий загрузку операционной среды

по сети без использования локальных носителей.
Сетевая загрузка
основывается на запуске среды предзагрузочного выполнения (
PXE
).

Обычно загрузка состоит из нескольких этапов: вначале запускается PXE-код, например с ПЗУ сетевой карты; далее им загружается с сервера сети загрузчик операционных сред

; загрузчик обеспечивает формирование меню, загрузку и передачу управления исполняемому файлу ядра операционной среды; и наконец ядром формируется файловая система и осуществляется собственно старт операционной системы.

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

подключения к
серверу терминалов
, установщикам операционных сред осуществить установку по сети или в общем случае сформировать меню с
PXE инструментами
.

Создание настроенного эталонного образа Windows 10

Следующий этап – подготовка эталонного образа с Windows 10, который будет устанавливаться на другие компьютеры. Проще всего взять типовой компьютер, установить на него Windows 10. Установите последние обновления безопасности, отключите ненужные службы, удалите встроенные приложения, установите драйвера. Настройте Windows 10 в соответствии со своими требованиями. Это компьютер не нужно вводить в домен AD.

Запуск загрузчика ОС

Загрузчик ОС это программа формирующая меню и обеспечивающая загрузку ядра операционной среды и передачу управления ему. Запуск загрузчика операционных системы это вторая стадия загрузки компьютера по сети

.

В качестве загрузчика ОС могут выступать отдельные (специальные) загрузчики или специальные версии известных загрузчиков такие как:

  • специальная PXE версия загрузчика Grub2grub2pxe
  • специальная PXE версия загрузчика Syslinuxpxelinux
  • специальные PXE-загрузчики iPXE
    /
    gPXE

Загрузчик ОС осуществляет формирование меню, обеспечивает выбор и загрузку ядра операционной системы и передачу управления ему. Пример реализации такого PXE-меню приведён в статье PXE инструменты

.

Создаем загрузочный образ для захвата эталонного образа Windows 10

По умолчанию SCCM содержит образы Windows PE (среда предустановки Windows, это загрузочные файлы Boot image x86.wim и Boot image x64.wim), которые необходимы для настройки операционной системы во время “захвата”.

Сначала нужно добавить образ Boot image x64.wim в вашу точку распространения SCCM. Для этого зайдите в Software Library-> Operation System-> Boot Images, в контекстном меню выберите пункт Distribute Content, затем точку распространения и ОК. Цветовой окрас состояния сменится с серого на жёлтый, а по окончанию – на зелёный.

Теперь нужно создать иметь загрузочные файлы для “захвата” эталонной операционной системы по сети. Для их создания перейдите в Software Library-> Operation System -> Task Sequences и в контекстном меню выберите Create Task Sequence Media. В появившемся окне предлагается 4 варианта создания образа:

  • Stand-alone media — создание автономного образа для установки ОС (локальная установка, без использования сетевой загрузки);
  • Bootable media – создание загрузочного образа, для распространения которого используя инфраструктура центра конфигураций;
  • Capture media – создание загрузочного образа для захвата эталонного образа компьютера;
  • Prestaged media – создание предварительного образа для нового жёсткого диска, который включает образ операционной системы. Используется для старых карт, не поддерживающих PXE загрузку.

Выберите пункт Capture media, следуйте подсказкам мастера установки. Укажите место сохранения iso-файла, выберите Boot image x64.wim и точку распространения, Next->Next->Close. Процесс длится около 1 минуты.

Далее созданный полученный образ для захвата ОС нужно подключить и запустить на подготовленном ПК (файл LaunchMedia.cmd). Укажите место сохранения полученного образа Windows 10.

Весь процесс захвата длится примерно 40 минут. По окончании получаете эталонный wim-образ размером примерно 4.5 Гб, который нужно скопировать на сервер SCCM. Далее вам необходимо его добавить в точку распространения. Для этого заходите в Software Library -> Operation Systems -> Operation System Images, в контекстном меню выберите пункт Add Operation System Images, в мастере настроек укажите UNC путь к месту хранения созданного wim-файла с эталонным образом.

В контекстном меню выберите Distribute Content для копирования образа на вашу SCCM Distribution Point.

Установка Windows 7 по сети при помощи Microsoft Windows AIK

Не так давно столкнулся с ситуацией, которая в принципе не вызывает особых проблем у системных администраторов. Появилась необходимость обновления ОС на многочисленных компьютерах организации, что в свою очередь все же вызвало ряд некоторых проблем, решения которых приходилось собирать по частям, а так же допиливать большую часть всего процесса самому о чем собственно я и хочу вам рассказать. Данными проблемами стали ограничения в наличии одного привода DVD-ROM, одного дня свободного времени, а так же порядка двадцати компьютеров на которые необходимо было установить Windows 7 со всем набором необходимых драйверов, программ etc. При поиске информации в Google по данному вопросу не нашлось ничего что работало бы без косяков или работало вообще. Но начнем по порядку.

Подготовка образа операционной системы

Для простоты подготовки боевой ОС под основу была взята Oracle VirtualBox последней версии, а так же Windows 7 x64 Профессиональная. Первое что необходимо сделать — установить и настроить Windows 7 на виртуальной машине. Для этого в процессе добавления VM создаем два виртуальных жестких диска. Один для установки и настройки на нем Windows 7, второй для последующего сохранения на него образа настроенной системы. Так же необходимо выполнить установку дополнения гостевой ОС Virtualbox — Virtual Machine Additions и создать общую папку для дальнейшего копирования созданного образа на физическую машину. После установки на VM всей начинки, переходим к этапу подготовки системы с помощью утилиты sysprep
, находящуюся в корне системы нашей VM: %windir%\system32\sysprep\sysprep.exe Для подготовки системы к созданию настроенного образа необходимо задать утилите параметры:

  1. Переход в окно приветствия системы (OOBE) — этот режим будет активирован при следующем запуске системы. Запускает компьютер в режиме экрана приветствия.
  2. Установить галочку «Подготовка к использованию» — подготавливает установку Windows перед созданием образа. Идентификатор безопасности (SID) обнуляется, точки восстановления системы сбрасываются, журналы событий удаляются.
  3. Параметры завершения работы «Завершение работы» — по окончанию работы утилиты система завершит свою работу.

Не следует запускать ОС до сохранения образа системы, так как во время следующего запуска компьютера начинает работать специализированный этап настройки. Создается новый идентификатор безопасности (SID) и сбрасываются часы активации Windows.

Утилита удаляет в том числе и установленные драйверы. Чтобы сохранить их, необходимо выполнять sysprep

из командной строки с параметром:
/unattend: указывается путь к файлу ответов В файле ответов необходимо указать параметр PersistAllDeviceInstalls (начиная с Windows 8 также есть параметр DoNotCleanUpNonPresentDevices): true После выполнения очистки система автоматически выключится. Приступаем к следующему этапу.

Установка и настройка Windows AIK + PE

Скачиваем и устанавливаем пакет автоматической установки Windows (AIK) для Windows 7. После запуска setup.exe выбираем пункт «Установка Windows AIK». Особых проблем при установке возникнуть не должно.

Создание и настройка образа Windows PE

Windows PE
— среда предустановки использующаяся для подготовки к установке OC. С помощью Windows PE мы будем захватывать системный том в wim-образ с помощью утилиты
imagex
и их сохранять его на другой раздел жесткого диска. В данном случае рассматривается создание диска с 64-разрядной версией Windows PE. Если вы создаете диск с 32-разрядной версией Windows PE, вам необходимо будет заменить во всех командах архитектуру (amd64 на х86).

В меню Пуск запустите Все программы > Microsoft Windows AIK > Командная строка средств развертывания (Deployment Tools Command Prompt)

— все последующие команды будут вводиться в это окно командной строки. Требуется запуск от имени администратора. Копируем файлы образа Windows PE
copype.cmd amd64 d:\winpe_image Для изменения скопированного образа Windows PE его необходимо подключить командой dism /Mount-Wim /WimFile:d:\winpe_image\winpe.wim /index:1 /MountDir:d:\winpe_image\mount Теперь подключив образ, мы можем устанавливать в него пакеты и добавлять собственные файлы. Добавим в наш образ утилиту imagex
. xcopy «%ProgramFiles%\Windows AIK\Tools\amd64\imagex.exe» d:\winpe_image\iso\ Так же по желанию можно сразу подготовить список исключений — файлов и папок, которые не будут включаться в сохраняемый образ. Создайте в любом текстовом редакторе файл Wimscript.ini и укажите в нем файлы и папки, которые вы хотите исключить из образа. Файл Wimscript.ini размещается в одной папке с imegex. По умолчанию
imagex
использует следующие исключения: [ExclusionList] \$ntfs.log \hiberfil.sys \pagefile.sys «\System Volume Information» \RECYCLER \Windows\CSC [CompressionExclusionList] *.mp3 *.zip *.cab \WINDOWS\inf\*.pnf Теперь необходимо сохранить образ командой: dism /unmount-Wim /MountDir:d:\winpe_image\mount /Commit Вся подготовительная работа велась с файлом winpe.wim, а для загрузочного диска Windows PE используется файл boot.wim, расположенный в папке winpe_x86\ISO\sources. Поэтому необходимо заменить файл boot.wim файлом winpe.wim, выполнив при этом переименование. xcopy /y d:\winpe_image\winpe.wim d:\winpe_image\ISO\sources\boot.wim Для создания образа выполняем команду: oscdimg -n -bd:\winpe_image\etfsboot.com d:\winpe_image\ISO d:\winpe_image\winpe_image.iso

Создание образа Windows 7

Необходимо сохранить образ нашей ОС с помощью утилиты imagex
. Грузимся в VM с образа winpe_image.iso который мы создали ранее. После удачной загрузки пред нами открывается окно командной строки, в ней мы как раз и будем работать. Захват и сохранение образа производится одной командой F:\imagex.exe /capture E: D:\install.wim «Windows 7 x64» /compress maximum
/capture E:
— захват раздела E:
D:\install.wim
— местоположение и имя сохраняемого WIM-файла.
«Windows 7 x64»
— имя образа. Имя должно быть заключено в кавычки.
/compress maximum
— тип сжатия файлов в образе(необязательно). Для параметра
/compress
допустимы значения
maximum
(максимальное сжатие),
fast
(быстрое сжатие) и
none
(без сжатия). Если параметр не указан, используется быстрое сжатие. Максимальное сжатие позволяет уменьшить размер образа, но захват занимает больше времени, чем при быстром сжатии. Скорость распаковки образа практически не зависит от типа сжатия. Остается подождать 20-30 минут и образ будет готов.

После сохранения образа на втором диске виртуальной машины, для дальнейшей работы его нужно перенести на физическую ОС. Запускаем виртуальную машину снова и завершаем установку Windows, прерванную на этапе OOBE. Если вы уже установили Virtual Machine Additions то теперь необходимо скопировать файл из виртуальной машины на физическую с помощью общей папки (shared folder), которую можно указать в настройках виртуальной машины.

Настройка загрузочного образа Windows 7

На данном этапе снова запускаем «Командную строку средств развертывания» и копируем файлы образа Windows PE: copype.cmd amd64 d:\winpe Монтируем образ imagex /mountrw winpe.wim 1 mount Windows PE смонтирован и в папке d:\winpe Вы можете найти файл winpe.wim.

Настройка автозапуска установки Windows.

Чтобы не создавать вручную виртуальный диск и не запускать установку вручную, можно отредактировать файлик startnet.cmd и startnet2.cmd. Находятся они d:\winpe\mount\windows\system32.
startnet.cmd

wpeinit %windir%\system32\startnet2.cmd startnet2.cmd chcp 1251 netsh interface ip set address name=»Подключение по локальной сети» source=dhcp chcp 866 pause net use z: \\192.168.0.1\win7 /user:install install cd /d Z:\sources setup.exe Команда net use производит подключение к компьютеру с IP адресом 192.168.0.1 (наш компьютер-сервер) к расшаренному каталогу c именем win7 на правах пользователя install c таким же паролем. Создать нужного нам пользователя можно такой командой в cmd net user install install /add /passwordchg:no Выполняем следующие инструкции:

  • На компьютере-сервере создаем корневой каталог для загрузки (у меня это d:\win7\), а в нем папку boot.
  • Расшариваем папку win7, то есть даем общий доступ к ней всем пользователям.
  • Копируем всю папку sources с установочного диска Windows 7 в d:\win7.
  • Заменяем файл install.wim в каталоге d:\win7\sources на файл, который скопировали ранее с виртуальной машины (готовый образ Windows 7)

Теперь необходимо скопировать дополнительные файлы для установки Windows 7. Cмонтируем образ WinPE: imagex /mountrw winpe.wim 1 mount Копируем: xcopy d:\winpe\mount\windows\boot\pxe\pxeboot.n12 d:\win7 xcopy d:\winpe\mount\windows\boot\pxe\bootmgr.exe d:\win7 xcopy d:\winpe\winpe.wim d:\win7\boot xcopy d:\winpe\iso\boot\boot.sdi d:\win7\boot Размонтируем образ командой: imagex.exe /unmount d:\winpe\mount
Далее необходимо создать файл BCD (boot configuration data) в каталоге d:\win7\boot. Для упрощения этого процесса воспользуемся файлом createbcd.cmd. Создаем файл d:\winpe\createbcd.cmd и вписываем в него:

bcdedit -createstore %1\BCD bcdedit -store %1\BCD -create {ramdiskoptions} /d «Ramdisk options» bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdidevice boot bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi for /F «tokens=2 delims={}» %%i in (‘bcdedit -store %1\BCD -create /d «MyWinPE Boot Image» /application osloader’) do set guid={%%i} bcdedit -store %1\BCD -set %guid% systemroot \Windows bcdedit -store %1\BCD -set %guid% detecthal Yes bcdedit -store %1\BCD -set %guid% winpe Yes bcdedit -store %1\BCD -set %guid% osdevice ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions} bcdedit -store %1\BCD -set %guid% device ramdisk=[boot]\Boot\winpe.wim,{ramdiskoptions} bcdedit -store %1\BCD -create {bootmgr} /d «Windows BootManager» bcdedit -store %1\BCD -set {bootmgr} timeout 30 bcdedit -store %1\BCD -set {bootmgr} displayorder %guid% Запускаем командой с правами администратора: createbcd.cmd d:\win7\boot Если у вас возникнут проблемы с драйверами, то их можно добавить так же в «Командной строке средств развертывания»: Монтирование образа для добавления драйверов dism /mount-wim /wimfile:winpe.wim /index:1 /mountdir:mount Для интеграции драйверов в уже смонтированный образ используется команда dism /image:mount /add-driver /driver:<�������������������������������� ����е того как вся работа с образом закончена его необходимо размонтировать dism /unmount-wim /mountdir:mount /commit

Настройка сервера TFTP и DHCP

Для создания этих серверов необходимо скачать программу TFTPD32. Задачей DHCP сервера является предоставить информацию удаленному компьютеру о свободном IP адресе, маски сети, а также имя загружаемого файла и адрес TFTP сервера, где этот файл находиться. Задача TFTP сервера является обеспечение передачи необходимых для загрузки файлов удаленному компьютеру.
Запускаем программу и выбираем сначала папку d:\win7, а немножко ниже — IP сетевой карты. В моем случае компьютер имеет IP 192.168.0.1. Заходим в настройки (кнопка Settings посредине внизу) и постепенно заполняем вкладки:

  • Вкладка GLOBAL — cтавим галочки только напротив TFTP Server, DHCP Server и Enable IPv6.
  • Вкладка TFTP — выбираем папку d:\win7.
  • TFTP Security — Standart.
  • TFTP configuration — оставляем как есть.
  • Advanced TFTP Options — должны стоять галочки напротив: Option negotiation, Show Process bar и Translate Unix file names.
  • Вкладка DHCP
  • IP pool starting address указывает, с какого IP адреса начать выдачу адресов. В моем примере выдача IP адресов начнется с 192.168.0.2.
  • Size of pool указывает количество IP адресов, которые будут динамически выделяться. Я установил значение в 30.
  • Boot File сообщает удаленному компьютеру имя файла, который необходимо использовать в качестве загрузчика. Устанавливаем значение в pxeboot.n12.
  • Mask, указывает маску сети. В нашем случае это 255.255.255.0. Остальные значения параметров оставляем по умолчанию.
  • Ping address before assignation — снять галочку (если у Вас связь компьютер-компьютер без свичей и роутеров).

Теперь нужно включить в BIOS загрузку с сетевой карты и загрузиться с нее. После этого будет получен IP-адрес через DHCP и выполниться pxeboot.n12 — который запустит Windows PE c файла winpe.wim. Сразу после загрузки Windows PE будет автоматически смонтирован каталог win7 и с него запуститься установка. Далее установка проходит точно также как и с диска.

Создаем последовательность задач (Task Sequence) для сетевой установки Windows

Последовательность задач SCCM (task sequence) обеспечивает пошаговое выполнение команд и действий по установке ОС, ПО, драйверов, обновлений. Для её создания зайдите в Software Library -> Operation System -> Task Sequences и в контекстном меню выберите Create Task Sequence. В появившемся окне мастер предлагает несколько вариантов:

  • Install an existing image package –создание очереди задач для имеющегося wim образа;
  • Build and capture a reference operating system image –захват эталонного образа;
  • Create a new custom task sequence – создание нового пустого задания (настройка выполняется вручную). Отсутствует очередь задач по умолчанию.

Так как эталонный образ wim образ у вас уже есть, выберите первый пункт. Далее мастер предлагает поэтапно произвести большое количество настроек, но можете указать только минимально необходимые параметры:

  1. Укажите название задачи и выберите загрузочный PXE образ Boot image x64.wim;
  2. Выберите созданный ранее эталонный образ Windows 10;
  3. Установите пароль локального администратора (можно автоматически сменить пароль после добавления компьютера в домен с помощью LAPS);
  4. Настройте параметры автоматического присоединения в домен AD, выбрав домен и OU, в которую нужно поместить новый компьютер;
  5. Выберите пользователя, под которым будет осуществляться добавление в домен;
  6. На шаге State Migration убрать все флажки (Capture user settings and files, Capture network settings, Capture Microsoft Windows settings).

Последовательность задач создана, но она требует от вас корректировки и проверки. Перейдите в режим редактирования Task Sequence, выбрав в контекстном меню пункт Edit.

В дереве справа указан список действий, которые автоматически будут выполнены с компьютером при установке Windows 10 по сети. На 2 и 3 шаге указываются параметры разбиения дисков на разделы. На шаге 2 вы можете удалить все разделы жёсткого диска, созданные по умолчанию, если вы их не используете для восстановления Windows. Далее создаёте новый раздел, называете “C:”, выбираете тип Primary, устанавливаете фиксированный размер 50 Гб (или другой объём), выбрав опцию Use specific size. Выберите что диск нужно отформатировать в файловой системе NTFS (флажок Quick format).

Далее создаёте второй диск, называете “D”, выбираете тип Primary. Чтобы он занял все оставшееся неразмеченное пространство выберите опцию Use a percentage of remaining free space, выберите значение 100, файловую систему NTFS и флажок Quick format.

Таким образом у вас будет создан диск С: с фиксированным размером, а всё оставшееся место уйдёт диску D: (если объём жёсткого диска большой, то можно разбить его на большее количество разделов), которые будут отформатированы автоматически.

3й шаг в нашем примере удаляется, т.к. у нас компьютеры с BIOS. Для компьютеров с UEFI – нужно настраивать дисковые разделы именно в 3 пункте.

На следующем шаге – Apply Operating System – нужно выбрать раздел для установки операционной системы. Проверяете наличие эталонного образа, а внизу окна выбираете установку Windows на:

  • Specific disk and partition — конкретный номер диска и номер раздела;
  • Specific logical drive letter – указанный логический диск;
  • Logical drive letter stored in a variable —

Например, будет второй пункт и диск С: .

Остальные шаги проверяете на отсутствие ошибок. На шаге Apply Windows Settings нужно указать лицензионный ключ (можно указать ключ KMS активации), пароль администратора и часовой пояс. Корректировка доменных (сетевых) настроек происходит в Apply Network Settings, а Apply Device Drivers позволяет добавить драйвера в установку.

Далее новое задание нужно опубликовать. Для этого в контекстном меню выберите пункт Deploy, на первом шаге мастера выбираете коллекцию устройств All Unknown Computers, на 2м шаге параметру Purpose присваиваете значение Available (Available – доступно для выбора, Required – принудительная установка), в параметре Make available to the following выберите Configuration manager clients, media and PXE, остальные шаги можно оставить по умолчанию.

В SCCM коллекцию All Unknown Computers попадают все компьютеры, о которых в SCCM нет никакой информации. Такими ПК могут быть новые или не подключенные к домену.

На этом основные действия по подготовке эталонного образа и настройке SCCM завершены.

Непосредственно установка.

Итак, поехали. Первым делом, жизненно необходимо скачать набор для автоустановки выбранной вами винды – набор AIK. Кстати, здесь не требуется выполнять проверку на подлинность винды, да и самой программе это как-то параллельно. После этого, мы должны сделать выбор – какую операционку лучше всего поставить? Опуская «ювелирные» подробности, отметим, что процесс первоначальной настройки серверов и, собственно, вашей машины – единый для всех версий винды. Различаться будет лишь процесс установки, о котором уже спето немало песен.

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

Нам потребуется немного поработать с виртуальным образом 7-ки, поэтому найдите соответствующую программку, которая может быстро монтировать ISO-образы. Можно было бы использовать Daemon Tools, о которой до сих пор слагают легенды и поют песни. Однако для наших целей придется использовать Windows® (AIK). Смонтируйте образ 7-ки в сей программе, после чего необходимо запустить сам процесс установки. Кстати, основное рабочее окно AIK выглядит следующим образом.

Откройте меню «Пуск». В нем потребуется обнаружить раздел Microsoft Windows AIK, а рядом с ним – «Командная строка» или что-то типа этого. В общем, вы должны выбрать это меню, после чего на дисплее появится консоль.

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

copype.cmdx86 x:\winpe

Затем нажимаем ENTER и вводим следующую строку:

imagex /mountrw winpe.wim 1 mount.

Буквой X здесь обозначено имя любого локального диска, на вашем компе.

Смонтированный образ системы теперь лежит в каталоге X:\winpe\mont. Сей образ носит название Winpe.win.

Установка Windows по сети на следующем этапе потребует от вас отключить механизм ручного подключения сетевого диска и запуск приложения собственными пальцами. Короче, решить эту задачу можно после маленькой корректировки командного файлика startnet.cmd. Если вы не умеете пользоваться поиском в проводнике, то ищите сей файл в папке x:winpe\mont\windows\system32. Откройте этот файлик и изучите его «внутренности», они должны выглядеть так:

А теперь переведем все это на русский язык. Компьютер, с которого начнут загружаться системные файлы, будет иметь следующий адрес- 192.168.1.1. Если вы обнаружили там другой адрес, то впишите это значение. Затем, подключите к рабочей машине другой комп, куда будет устанавливаться Windows по сети. Нам потребуется заранее создать пользователя для использования данной системы с именем install и паролем install. Используем команду:

Net user install /add/passwordchg:no

Установка Windows по сети продолжается, теперь необходимо размонтировать системы, вводом команды:

Imagex.exe /unmount/commit mount

Далее хватаем мышку, после чего создаем папку, из которой будут копироваться файлы дистрибутива по сети. Не будем «париться» с названием, возьмем имя x:\upload. Внутри сетевой папки нужно вставить еще один каталог под названием boot. Именно здесь будут лежать загрузочные файлы для инсталляции через сеть.

Теперь берем и копируем в созданный каталог папку sources с диска, на котором записана Windows 7. После этого мы снова переходим к консоли и заполняем папку boot, попутно обрабатывая файлы сетевой загрузки. Они должны быть доступными для выполнения. Вводим в консоли следующее:

1) imagex.exe /mount x:\winpe\winpe.wim 1 x:\winpe\mount. 2) xcopy /ey x:\winpe\mount\windows\boot\pxe x:\upload 3) xcopy /iy x:\winpe\mount\windows\boot\fonts x:\upload\boot\fonts 4) copy /y x:\winpe\ISO\boot\boot.sdi x:\upload\boot 5) imagex.exe /unmount d:\winpe\mount

Далее копируем образ winpe.win в папку x:\upload\boot. Можно использовать команду:

copy /yd:\winpe\winpe.wind:seven\boot.

Доступ к папке с образом должен быть открыт для всех пользователей. Теперь мы создаем хранилище для загрузочных параметров, в помощь прилагается скрипт createbcd.cmd, который должен лежать в папке x:\winpe\. Содержимое сей скрипта должно выглядеть следующим образом:

На этом установка Windows по сети еще не окончена, сделано только полдела. В качестве продолжения вводим команду:

Createbcd.cmdx:\upload\boot

После этого, настраиваем работу программы tftpd32. Подробная инструкция представлена на следующих рисунках:

Добавление драйверов в загрузочный образ Windows

Рассмотренных выше действий будет достаточно для автоматической установки Windows 10 на новые современные миниатюрные системные блоки или моноблоки. В случае с классическими системниками и внешними сетевыми картами загрузка по сети может не заработать. В этом случае необходимо в загрузочный образ добавить драйвера для используемых моделей сетевых адаперов.

Для добавления драйвера в базу сайта SCCM перейдите в Software Library -> Operation Systems -> Drivers и в контекстном меню выберите Import Driver. Далее мастер поможет заполнить необходимые поля. Нужно UNC путь к каталогу с драйвером и установить для параметра Specify the option for duplicate drivers значение Do not import the driver.

Затем нужно зайти в свойства загрузочного образа Boot image x64.wim и на вкладке Drivers добавить драйвера.

Подготовка PXElinux

Далее ищем самый свежий архив на сайте www.kernel.org. Скачиваем на компьютер и распаковываем в отдельный каталог. Нам необходимо несколько файлов из этого архива. Сначала я думал сделать свой архив, чтобы люди не выискивали нужное из архива, но потом передумал, ведь через несколько месяцев или лет выйдет новая версия, а моя безнадёжно устареет. После копирования файлов нужно будет создать каталог pxelinux.cfg

и в нём два пустых файла:
default
и
graphics.conf
. В результате получится вот такая структура.

  • /pxelinux.cfg/
  • /pxelinux.cfg/default
  • /pxelinux.cfg/graphics.conf
  • /ldlinux.c32
  • /libcom32.c32
  • /libutil.c32
  • /pxelinux.0
  • /vesamenu.c32

Создаём главное меню с выбором действия. Меню состоит всего из двух пунктов. Первый отвечает за загрузку операционной системы с первого раздела жесткого диска. Второй же отвечает за загрузку установщика операционных систем который мы подготовим чуть позже. Загрузка с локального диска срабатывает через десять секунд бездействия. Это сделано для компьютеров у которых забыли убрать загрузку по сети и за ними работают пользователи.

Файл default

:
DEFAULT vesamenu.c32 PROMPT 0 MENU INCLUDE pxelinux.cfg/graphics.conf TIMEOUT 100 MENU TITLE WWW.ORCINUS.RU PXE Boot menu LABEL bootlocal menu label Boot Local HDD menu default localboot 0x80 LABEL wininstall64 menu label Установка MS Windows OS (x64) kernel pxeboot.0
Второй файл содержит информацию о настройке графического режима. Так сложилось исторически из-за того, что у меня на «боевом» сервере используется разветвлённое меню загрузчика и это вполне оправдано. В маленьких проектах нет необходимости во вложенных меню, но если вы следили за моими статьями, то читали статью о PXE загрузке компьютеров. Возможно для вас подобный подход станет необходимым и каждодневным инструментом.

Файл graphics.conf

:
MENU MARGIN 10 MENU ROWS 16 MENU TABMSGROW 21 MENU TIMEOUTROW 26 MENU COLOR BORDER 30;44 #00000000 #00000000 none MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 none MENU COLOR TITLE 0 #ffffffff #00000000 none MENU COLOR SEL 30;47 #40000000 #20ffffff MENU BACKGROUND background.png NOESCAPE 0 ALLOWOPTIONS 0
На этом основа проекта уже создана. PXE грузится, можно даже сделать меню, скопировать пару утилит и пользоваться благами удалённой загрузки. Но наша цель — это установка операционных систем Windows по сети. И тут кроется очень интересная система подводных камней. В PXElinux можно подключить образ диска и загрузиться с него. Например, я таким образом загружаю диски восстановления и LiveCD с антивирусными программами. Но у протокола TFTP есть огромная проблема с передачей больших файлов. Дополнительно всё усугубляется тем, что перед запуском образа весь файл образа копируется в оперативную память. Ради эксперимента я запустил на нескольких компьютерах запуск установки Windows 10 используя стандартный метод. На одном компьютере загрузка продлилась около трёх часов, а на остальных происходил сбой приблизительно через час. И это только копирование образа в память. Так же на компьютере должно быть установлено памяти больше чем занимает образ. Если вы попробуете загрузить образ размером пять гигабайт, то памяти необходимо около шести. А в офисных компьютерах редко встретишь больше четырёх гигабайт. Естественно, что это совершенно не рабочий вариант.

Настройка PXE на компьютерах

На компьютерах, которые вы хотите деплоить по сети нужно включить в BIOS поддержку сетевой загрузки. У разных производителей материнских плат такие настройки будут находится в разных местах и называться по-разному. Скорее всего в названии параметра сетевой загрузки должно быть что-то вроде PXE Boot, Network Boot, Network Card.

Например, активация PXE в UEFI моделях HP Pro 3520 и HP Pro 6300 происходит в разделе Security -> Network Boot установкой параметра Enable.

Теперь для старта всё готово. При начальной загрузке ПК происходит определение его параметров (POST). Затем DHCP сервер назначает IP-адрес сетевой карте. Для начала сетевой установки ОС в течение 5 секунд нужно нажать клавишу F12 (означает PXE-подключение), после чего SCCM копирует на ПК загрузочные файлы (в моделях HP нужно нажимать на F9, возможно дополнительно ещё выбрать пункт Network Controller для загрузки по сети).

Далее появляется окно для выбора задачи, после чего начинается поэтапное развёртывание операционной системы, то есть выполнение тех действий, которые указаны в вашем Task Sequence. Ход установки отслеживается при помощи индикатора. Примерно за 20 минут ваш эталонный образ Windows 10 будет установлен на новый ПК и компьютер введен в домен. Если одновременно запустить сетевую установка Windows с SCCM на 10-20 компьютерах, время установки может немного увеличиться.

По окончанию установки ОС компьютеру по умолчанию присваивается имя MININT-<7символов>, например, MININT-5EFG9DR. Это можно увидеть в консоли SCCM в разделе Assets and Compliance -> Devices. Вы можете изменить имя компьютера на более запоминающееся, например, BUH-OLGA. Для этого нужно зайти в Свойства компьютера -> Изменить параметры -> Изменить, указать новое имя компьютера и перезагрузить ПК. Вскоре изменения отобразятся как в DNS, так и в SCCM.

Персональный блог Толика Панкова

Преамбула Я тут много писал о том, как запускать различные дистрибутивы по сети, однако, не написал, как, собственно, настроить PXE-сервер. Исправляю досадное упущение. Сервер поднимался на Slackware 14.2, на других линуксах должно быть примерно так же, за исключением того, что некоторый софт придется поставить. В Slackware все, кроме TFTP, было уже «из коробки», оставалось только настроить.

Структура каталогов

PXE-сервер занимает со всеми дистрибутивами довольно много места, у меня был довольно большой раздел /home, вот в нем я и создал подкаталог pxe, в котором создал два подкаталога scripts, для хранения скриптов, дополнительных утилит и бэкапов конфигов, и tftp — будущий корень TFTP-сервера, где завел отдельные подкаталоги для дистрибутивов (distrib) модулей сетевого загрузчика (modules) и загрузочного меню (pxelinux.cfg). В подкаталоге distrib для каждого дистрибутива по возможности создавался отдельный подкаталог. Пример дерева каталогов на PasteBin

TFTP

Ставим TFTP-сервер, я поставил такой же, как в статье, на которой основывался, настраивая сервер [1], atftp, а именно atftp-0.7.1. Поставил через sbopkg. На всякий случай готовый пакет

Поставили, теперь создадим файл /etc/tftpd.rules и запишем в него одну строку:

rg \\ /

Небольшое пояснение

: Сетевой загрузчик, о котором будет сказано далее, обращается к TFTP-серверу на удаленной машине, чтобы подгрузить основные файлы — ядра Linux-дистрибутивов, собственные модули, файлы инициализационных RAM-дисков (initrd[.gz]), файлы образов ISO, дискет или жестких дисков. Файл /etc/tftpd.rules и правило rg \\ / нужно, чтобы TFTP-сервер распознал файлы, запрошенные Windows-загрузчиками (т.к. в Windows в качестве разделителя пути используется \, а в Linux /).

Команда запуска TFTP-сервера:

in.tftpd -s /home/pxe/tftp —secure -l -v -r blksize -m /etc/tftpd.rules —blocksize 1456 Без параметра -r blksize у меня TFTP глючил (о чем есть примечание в [1]), —blocksize 1456 несколько ускорил загрузку. Параметр -s путь устанавливает корневой каталог TFTP-сервера (там будут лежать сетевой загрузчик, дополнительные модули и сами дистрибутивы, поэтому потребуется достаточно места). -v — заставляет сервер писать логи. Остальные взял из [1]

Просмотр логов:

TFTP пишет логи в /var/log/messages и некоторые сообщения в /var/log/syslog. Соответственно команды: grep tftp /var/log/messages и grep tftp /var/log/syslog

Команды остановки сервера:

pkill in.tftpd sleep 5

Samba

Сам сервер был доступен «из коробки» Для виндовых дистрибутивов надо поднять Samba. Производим основные настройки в файле /etc/samba/smb.conf

[global] workgroup = WORKGROUP netbios name = PXE server string = Local PXE interfaces = 10.10.0.120 map to guest = bad user security = USER unix extensions = no wide links = yes follow symlinks = yes log file = /var/log/samba/log.%m max log size = 50 dns proxy = No load printers = no show add printer wizard = no printcap name = /dev/NULL disable spoolss = Yes [printers] comment = All Printers path = /var/spool/samba printable = Yes browseable = No

workgroup — рабочая группа (поменяйте на свою) netbios name — имя компьютера server string — описание (видно в «Сетевом окружении» из Windows) interfaces — сетевой интерфейс, который будет прослушивать Samba-сервер. Можно выставить имена сетевых устройств (например, eth0) или задать IP Делаем доступ к каталогам, открытым в Samba анонимным (без логина и пароля): map to guest = bad user security = USER

Следующие 3 строки нужны, чтоб Samba стал поддерживать символические ссылки. У меня, например, дистрибутивы Windows 7 и 10 фактически лежат в каталоге FTP-сервера, а в каталоге дистрибутивов созданы символически ссылки, расшаренные в Samba: unix extensions = no wide links = yes follow symlinks = yes

log file — куда писать лог max log size — и его максимальный размер

По умолчанию отключаем DNS-proxy и доступ к принтерам: dns proxy = No load printers = no show add printer wizard = no printcap name = /dev/NULL disable spoolss = Yes

Секцию [printers] оставляем по умолчанию (все равно все настройки принтеров вырублены в [global], да и принтеров у меня на этом сервере не было).

Для запуска Samba в Slackware достаточно дать права на исполнение файлу /etc/rc.d/rc.samba и дать команду на запуск: chmod 744 /etc/rc.d/rc.samba /etc/rc.d/rc.samba start

Остановка: /etc/rc.d/rc.samba stopЕсли не надо, чтоб сервер Samba стартовал при загрузке ОС, отбираем права на исполнение: chmod 644 /etc/rc.d/rc.samba

Шары расписаны отдельно для конкретных дистрибутивов в соответствующих заметках, полный пример конфига на PasteBin

NFS

NFS нужен для запуска на удаленной машине некоторых дистрибутивов Linux. Смотрите подробности в соответствующих разделах, посвященных данным дистрибутивам.

В Slackware он так же шел «из коробки», а в конфиге нужно было прописать только конкретные каталоги, открытые для доступа по NFS.

Для запуска NFS нужно поставить права на исполнение следующим файлам:

/etc/rc.d/rc.nfsd /etc/rc.d/rc.rpc

chmod 744 /etc/rc.d/rc.nfsd chmod 744 /etc/rc.d/rc.rpc

и запустить NFS-сервер: /etc/rc.d/rc.nfsd start

Остановка NFS-сервера: /etc/rc.d/rc.nfsd stop

Если не хотите, чтоб NFS автоматически поднимался при загрузке ОС, отберите права на исполнение: chmod 644 /etc/rc.d/rc.nfsd chmod 644 /etc/rc.d/rc.rpc

Полный пример конфига NFS

(изменения вносятся в файл /etc/exports)
DHCP
Загрузка по сети устроена так, что BIOS (или EFI) целевой машины передает управление специальной микропрограмме-загрузчику, встроенному в микросхему сетевой карты. Тот пытается получить IP по DHCP, а потом подгрузить с машины, выдавшей IP, основной сетевой загрузчик. В некоторых случаях, если в сети уже есть другой DHCP это может вызвать глюки при загрузке (подробнее см. [1], там описаны конфигурации для сервера, если в сети, например, присутствует маршрутизатор CISCO, раздающий IP по DHCP). Итак, DHCP надо настроить. У меня с установкой соответствующего софта опять же, проблем не было, DHCP-сервер шел вместе с ОС, оставалось только настроить. Копируем старый конфиг куда-нибудь, у меня DHCP до этого был не настроен, потому конфиг был пустой

Составляем конфиг для PXE

Для корректной работы сервера, он должен быть сохранен под именем /etc/dhcpd.conf.

Если не нужно, чтобы DHCP-сервер стартовал постоянно, а, например, только на время работы PXE, то делаем так: Старт DHCP-сервера:

echo «Copy DHCP daemon PXE config…» #pxe config must be in current dir. CURDIR=`pwd` cp «$CURDIR/dhcpd.conf» /etc/dhcpd.conf echo «Starting DHCP daemon…» dhcpd sleep 5

Остановка DHCP-сервера:

echo «Stopping DHCP daemon…» pkill dhcpd sleep 5

echo «Restore DHCP daemon original config file…» #original config must be in current dir. CURDIR=`pwd` cp «$CURDIR/dhcpd.conf.orig» /etc/dhcpd.conf

Полезные скрипты

Объединим все команды для запуска PXE-сервера в один скрипт start-pxe:

#!/bin/bash

echo «Starting TFTP server…» in.tftpd -s /home/pxe/tftp —secure -l -v -r blksize -m /etc/tftpd.rules —blocksize 1456 sleep 5

echo «Copy DHCP daemon PXE config…» #pxe config must be in current dir. CURDIR=`pwd` cp «$CURDIR/dhcpd.conf» /etc/dhcpd.conf echo «Starting DHCP daemon…» dhcpd sleep 5

#winxp samba echo «Starting samba server» chmod 744 /etc/rc.d/rc.samba /etc/rc.d/rc.samba start sleep 5

#NFS for live linux echo «Starting NFS…» chmod 744 /etc/rc.d/rc.nfsd chmod 744 /etc/rc.d/rc.rpc /etc/rc.d/rc.nfsd start sleep 5

echo «Complete!»

И для остановки (stop-pxe):

#!/bin/bash

echo «Stopping TFTP server…» pkill in.tftpd sleep 5

echo «Stopping DHCP daemon…» pkill dhcpd sleep 5

echo «Restore DHCP daemon original config file…» #original config must be in current dir. CURDIR=`pwd` cp «$CURDIR/dhcpd.conf.orig» /etc/dhcpd.conf

echo «Stopping samba server» /etc/rc.d/rc.samba stop chmod 644 /etc/rc.d/rc.samba sleep 5

#stop NFS echo «Stopping NFS…» ip netns exec provns /etc/rc.d/rc.nfsd stop chmod 644 /etc/rc.d/rc.nfsd chmod 644 /etc/rc.d/rc.rpc sleep 5

echo «Complete!»

start-pxe

и
stop-pxe
на PasteBin.
Сетевой загрузчик SYSLINUX
На самом деле, загрузчик SYSLINUX — это целый комплекс загрузчиков, на все случаи жизни, здесь есть и сетевой — PXELINUX, и загрузчик для ISO-образов ISOLINUX и просто загрузчик ОС с жесткого диска. Пока нам потребуется только сетевой. SYSLINUX представляет собой операционную систему в миниатюре, загрузчик с помощью специальных команд, прописываемых в загрузочном меню, может выполнять специальные функции, сохраняемые в исполняемых файлах особого формата — модулях загрузчика. Обычно они имеют расширение *.c32, и плюс некоторые специальные файлы, например модуль memdisk, загружающий в память ISO-, Floppy- или HDD-образы.

Получение загрузчика

: Проще всего его получить с официального сайта, скачав специальным скриптом. Скрипт разберет полученный архив на части, отдельно найдет в скачанном архиве модули *.32, memdisk и сетевой загрузчик pxelinux.0.

#!/bin/bash

SYSLINUXNAME=»syslinux-4.02″ SYSLINUXADDR=»https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/$SYSLINUXNAME.tar.gz» #на Хабре использовали эту, пока оставим WORKDIR=»/tmp» SERVERDIR=»/home/pxe/tftp»

cd $WORKDIR wget $SYSLINUXADDR tar -xf «$SYSLINUXNAME.tar.gz» cd «$SYSLINUXNAME/» find ./ -name «memdisk» -type f|xargs -I {} cp ‘{}’ $SERVERDIR find ./ -name «pxelinux.0″|xargs -I {} cp ‘{}’ $SERVERDIR find ./ -name «*.c32″|xargs -I {} cp ‘{}’ $SERVERDIR

Скрипт на PasteBin

В оригинальной статье [1], была использована версия 4.02, если подумаете использовать какую-то другую, достаточно поменять данные в строке SYSLINUXNAME и/или SYSLINUXADDR

Далее перенесем все файлы *.c32 и memdisk в подкаталог modules (чтоб не мозолили глаза), а сетевой загрузчик pxelinux.0 оставим в корневом каталоге TFTP-сервера.

Тестовое меню

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

Меню по умолчанию описывается в файле default, находящемся в подкаталоге pxelinux.cfg PXE-сервера, там же находятся и дополнительные меню, вызываемые из основного.

Пример тестового меню на PasteBin

Сначала мы подгружаем специальный модуль пользовательского интерфейса modules/menu.c32, который отвечает за загрузку текстового интерфейса меню (подходит для любых компьютеров, даже самых слабых) ui modules/menu.c32

PROMPT 0 — отключение специального приглашения командной строки.

menu title ChaosServer PXE boot menu — заголовок меню.

Далее идут описания конкретных пунктов меню:

LABEL bootlocal menu label Boot from first HDD kernel modules/chain.c32 append hd0 0 timeout 11120 LABEL reboot menu label Reboot kernel modules/reboot.c32

параметр timeout включает отсчет времени до загрузки определенного пункта меню 1 единица после параметра timeout составляет 0.1 с

Описание некоторых модулей SYSLINUX

chain.c32 — переключает на следующий загрузчик (grldr, ntldr или просто на загрузчик, установленный на разделе HDD) reboot.c32 — перезагрузка компьютера menu.c32 — при использовании в меню, может загружать дополнительные меню (подменю), или производить переход назад/между меню. Пример использования: Загрузка меню с утилитами Acronis:

LABEL acronis menu label Acronis utilities kernel modules/menu.c32 append pxelinux.cfg/acr

Возврат в основное меню:

LABEL back menu label Back to main menu kernel modules/menu.c32 append pxelinux.cfg/default

memdisk — специальный модуль, выполненный как псевоядро Линукс, может загружать образы ISO, HDD или дискет в оперативную память и передавать им дальнейшую загрузку. Пример использования:

LABEL acronis2011 menu label Acronis True Image 2011 kernel modules/memdisk initrd distrib/acr/acronis2011/loader.iso append iso raw Основное меню

На PasteBin

Дополнительные утилиты и скрипты

— createiso — скрипт для создания ISO-образов — mknetboot.sh (скрипт для Puppy Slacko и подготовки к PXE-запуску этого дистрибутива) — syslinux-install.bash — скрипт для скачивания SYSLINUX

Осталось наполнить наш PXE-сервер

конкретными дистрибутивами Windows, Linux и другими

(
копия
)
Источники
1. Загрузочный сервер — как загрузочная флешка, только сервер и по сети
Копия в PDFКопия в DOC
Скачать

atftp 0.7.1 (готовый пакет для Skackware)


Конфиги

Меню

Скрипты

Дополнительные утилиты

Модули PXELINUX, загрузчик, структура каталогов

Установка приложений на новый компьютер с помощью SCCM

Следующие этап установка на новый компьютер необходимых приложений. Программы можно устанавливать в виде пакета (Package) или как приложение (Application). Приложения – программы, имеющие установочные файлы с расширениями msi, appx, xap, ipa, apk и прочее. У Application возможностей больше, плюс пользователи тоже могут принимать участие в работе. Package – это специальный контейнер (обёртка), который может включать в себя несколько файлов (дистрибутивов). Используются exe-, vbs-, cmd-, cab-файлы и другие. Он проще в настройках.

Мы не будем подробно описывать особенности развертываний программ в SCCM, т.к. эта получится отдельная большая статья. Для ознакомления вы можете посмотреть пример развертывания Office 2020 с помощью SCCM.

После создания пакетов установки программ, вы можете добавить из в последовательность задачи развертывания Windows 10 (task sequence)/

Здесь создаёте группу Software Install, в меню Add -> Software -> Install Package добавьте созданные пакеты программ.

Загрузка PXE-кода

PXE-код это программа формирующая среду предзагрузочного выполнения. Обычно PXE-код стартует с ПЗУ (постоянное запоминающее устройство) сетевой карты. Однако PXE-среда с помощью PXE загрузчика

может быть запущена и с любого локального носителя. Запуск PXE-кода это первый этап
загрузки компьютера по сети
.
Замечание: Сетевых карт — например таких как 3COM 3C905C-TX-M
со встроенным BootROM в настоящий момент в свободной продаже (практически) нет. Возможно это связано с обилием материнских плат со встроенными сетевыми картами и наличием в них уже прошитого PXE-кода. Замечание: PXE загрузчик может быть размещён на любом физическом носителе: на флоппи-дискете, CD/DVD диске, USB флешке, жёстком диске. Следует иметь ввиду, что BIOS материнской карты должен поддерживать передачу управления загрузки на выбранный носитель с PXE-загрузчиком.

В общем случае после выполнения PXE кода осуществляется скачивание загрузчика операционных сред и передача управления ему. Но некоторые проекты PXE-загрузчиков, например такие как iPXE/gPXE предоставляют возможность осуществлять загрузку ядра операционной среды минуя стадию скачивания загрузчика операционных сред.

Замечание: Стандартная PXE-прошивка обеспечивает загрузку из сети с
сервера TFTP
. Но некоторые проекты PXE-загрузчиков. например iPXE, умеют подключаться и загружать меню и операционные системы и с
HTTP сервера
.

Таким образом для получения загрузчика и ядра операционной среды используются протоколы TCP/IP, UDP, DHCP/BOOTP и TFTP/HTTP, и должны быть настроены серверы DHCP и TFTP/HTTP.

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]