Skip to main content

IT Geek: Як завантажити мережевий (PXE) диск відновлення WinPE з PXElinux v5 і Wimboot

IT Geek: Як завантажити мережевий (PXE) диск відновлення WinPE з PXElinux v5 і Wimboot

Geoffrey Carr

Ви коли-небудь хотіли, щоб ви могли запустити консоль відновлення Windows за тією процедурою обслуговування або програмою, яку ви хочете використовувати, не пам'ятаючи, де ви забули CD? HTG пояснює, як завантажити WinPE з PXE.

Фотографія: Альфред Ерміда через Compfight cc

Середнє середовище попереднього виконання Windows (WinPE) - це версія вікон, яку більшість людей знають як таку, що вийшла з встановленого компакт-диска. Протягом багатьох років цілі проекти були створені, щоб дати змогу мати певне середовище Windows Live, як-от багато дистрибутивів Linux. У цьому посібнику ми матимемо Windows PE з завантажувального компакт-диску з PXE, щоб ми могли використовувати його для запуску утиліти Dell BIOS. Вас заохочують продовжувати розвідку цієї бездонної ями гейк доброти ...

Огляд

Ми показали вам, що таке PXE, і як ви легко можете встановити для нього сервер (і багато іншого) з FOG, сьогодні ми додамо ще одне розширення до FOG. Зазвичай сьогоднішня процедура буде:

  1. Оновити PXElinux до v5.01 або вище, якщо він ще не встановлений.
  2. Додайте модуль wimboot.
  3. Скопіюйте зображення WIM та підтримувані файли з компакт-диска встановлення Windows.
  4. Додайте пункт меню.
  5. Використовуйте завантажений WinPE, щоб отримати працюючу консоль відновлення Windows.

Ми будемо робити це вище, тому що перехід "звичайного" засобу автоматичного встановлення Windows (WAIK) спонукає вас, у кращому випадку, встановити його на вашому комп'ютері та пройти через не такий простий процес для маніпулювання файлом WIM та його підтримкою файли у формі WDS / RIS. Хоча альтернативи Linux існують, як і проект UDA (це сервер PXE, який я використовував перед тим, як FOG вийшов), таким чином ви просто заміняєте деякі файли на сервері PXE один раз (які ви, напевно, в кінцевому підсумку буде), і скопіюйте незмінений файл WIM та файли підтримки безпосередньо з компакт-диска Windows на сервер PXE.

Єдина річ, яку слід зазначити, полягає в тому, що, хоча це буде схоже на те, що ви можете запустити процедуру встановлення Windows таким способом, ви насправді не зможете це завершити, і зробити це можливо не входить в сферу застосування цього посібника.

Давай розтріскуватися :)

Оновити PXElinux до V5.01

На момент написання даної версії Syslinux в репозиторії Ubuntu ще 4.05. Я гадаю, це тому, що команда Syslinux вирішила похитнути речі з V5-гілкою і змінила, як працюють їх модулі COM32 (тепер вони базуються на ELF), і змінили "core", щоб вимагати бібліотеки (ldlinux.c32) длянічого крім "чистого черевика". Це робить дуже можливим потрапляння на поломку для будь-кого, хто звик до "старого шляху". Не хвилюйтеся, ми завантажуватимемо необхідні файли вручну і зробимо це, щоб установка FOG не втрачала збитки.

Ми будемо використовувати версію 5.01, оскільки вона є найновішою стабільний випуск від відділення V5 на момент написання даного матеріалу, і це той, на якому команда Syslinux працювала разом з командою wimboot для виконання цієї спеціальної процедури.

Примітка: Ще одна причина того, що остання версія ще не є частиною репозиторію Ubuntu (IMHO), полягає в тому, що хоча б на Citrix-Xen, гості HVM не можуть завантажувати щось за межі меню PXE. Інші гіпервізори, такі як VMware, Hyper-V і VirtualBox, а також фізичні машини, чудово підходять до нової версії.

Якщо зазначена вище інформація не вплине на вас, продовжуйте.

Отримайте версію 5.01 PXElinux безпосередньо з Kernel.org та витягніть її на сервері FOG за допомогою:

wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2 tar xvhf syslinux-5.01.tar.bz2

Створіть каталог, у якому будуть зберігати потрібні бібліотеки:

mkdir -p /tftpboot/howtogeek/libs

Скопіюйте потрібні бібліотечні файли до цього каталогу, щоб вони були доступні для клієнтів під час виконання:

cp -av syslinux-5.01/com32/lib/libcom32.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/libutil/libutil.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/modules/linux.c32 /tftpboot/howtogeek/libs/

Додайте "шлях" до цього каталогу до вже існуючого файлу конфігурації "за умовчанням", редагуючи його або видаючи наступне:

echo 'PATH howtogeek/libs' >> /tftpboot/pxelinux.cfg/default

Скопіюйте потрібний ldlinux.c32 до кореневого каталогу TFTP-сервера, видаючи:

cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/

Оновіть графічний движок (vesamenu.c32), щоб відповідати цій новій версії:

cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/

Вітаємо, ваш PXE-сервер зараз оновлений до версії 5.0 і все, що вже працювало (якщо на вас не впливає "нотатка" з початку цього сегмента), слід продовжувати це робити.

WIMboot

Цей завантажувач є частиною проекту iPXE, і він описує це так:

wimboot завантажувач для Windows Imaging Format (.wim) файли. Це дає змогу завантажити середовище Windows PE (WinPE) з RAM-диска, не витрачаючи пам'яті, яка використовується для зображення RAM-диска.

Завантажте останню версію на своєму сайті:

wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip

Встановіть розпакувати на своєму сервері FOG, якщо він відсутній:

aptitude install unzip

Розпакуйте пакет wimboot:

unzip wimboot-latest.zip

Скопіюйте модуль wimboot до каталогу "libs", який ми створили у попередньому сегменті:

cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/

Це все. Завантажувач wimboot готовий до запуску.

Файли CD Windows

Створіть новий каталог на сервері FOG для зберігання файлів, які ми будемо копіювати:

mkdir -p /tftpboot/howtogeek/WinPE/

Помістіть оригінальний компакт-диск із встановленням Windows 7 на свій дисковод CDROM та скопіюйте файли, перелічені нижче, у цю директорію:

ootmgr

ootcd

ootoot.sdi

sourcesoot.wim

Так, це так просто і вам не потрібно зберігати структуру каталогу на компакт-диску, щоб це працювати.

Примітка. Щоб мати оновлення Dell BIOS, я виявив, що необхідно використовувати 32-розрядну версію Windows.

Додайте пункт меню

Створіть запис меню PXE шляхом редагування меню "Utils":

sudo vim /tftpboot/howtogeek/menus/utils.cfg

Додайте до нього наступне:

label WinPE com32 linux.c32 howtogeek/libs/wimboot APPEND wimboot initrdfile=/howtogeek/WinPE/bootmgr,/howtogeek/WinPE/bcd,/howtogeek/WinPE/boot.sdi,/howtogeek/WinPE/boot.wim

Вітаємо, у вас тепер є WindowsPE на вашому сервері PXE. :)

Примітка. Це може виглядати як висіння у файлі "wim", але це не так. Фактично, передача 140Мб файлу клієнту над TFTP, що триває довше, ніж звичайно малі файли, які передаються таким чином.

Ось знімок екрана, щоб довести, що це сталося.

VM вище, запущений за допомогою VMware-плеєра, встановлено Ubuntu на його HD, а PXE завантажили у WinPE.

Консоль відновлення Windows

Знову ж таки, як згадувалося в огляді, хоча, схоже, що ви можете запустити процедуру встановлення Windows таким чином, ви насправді не можете завершити її, і зробити це можливо не входить в сферу застосування цього посібника.

З цією метою, щоб навести один приклад того, чому це було б корисно, ми будемо використовувати це середовище для виконання оновлення Dell BIOS.

Отримайте оновлення, яке потрібно виконати на веб-сайті компанії Dell, і поставте його на диск-на-ключ. Покладіть диск на ключ і PXE завантажте клієнта.

Щоб досягти консолі відновлення, у головному вікні, як на знімку екрана вище, натисніть «Далі».

Натисніть "Ремонт вашого комп'ютера".

Виберіть «Використовувати інструменти для відновлення» та натисніть «Далі».

Натисніть "Командний рядок".

Після того, як у командному рядку вам доведеться з'ясувати, яке "буква диска" WinPE вирішила позначити на вашому диску-на-ключі. Для цього система повинна перерахувати всі поточні призначені букви, видаючи:

wmic logicaldisk get name

Тепер, виключивши букви A: та X: і, можливо, навіть C: (хоча це і не дається), цикліть через букви диска та шукайте диск-на-ключ, видаючи:

Driveletter: dir

Коли ви знайдете правильний диск, виконайте файл, і ви побачите щось на зразок нижче:

Вітаємо, ви всі налаштували на оновлення :)


Я знаю кунг-фу ...

Link
Plus
Send
Send
Pin