Вы находитесь на странице: 1из 24

Блог на lj.rossia.

org
Персональный блог Толика Панкова
Информация о IP-адресе

Стихи, рассказы, философия, IT, политика, панкизм, раздолбайство и Мобильная версия


болтовня.
Ограбленный Эдуардом Лимоновым судебный пристав оклеил свой сортир портретами высокопоставленного заокеанского покровителя майора
Евсюкова

Главная Блог Накодилось О блоге

Поиск

Запуск Mini Windows XP (WinPE) из Hiren’s Boot CD 15.2 по


Свежие записи
сети (PXE).
Аналог trim() в bash/linux shell
Модифицировал заметку про Posted on 05.02.2019 by tolik-punkoff
опасность использования eval в
bash
Linux dialog, прикручиваем
симпатичный progressbar к Преамбула
wget.
Linux. Определить в скрипте,
что программа не найдена. И Mini Windows XP, «очень полезный горшочек», однако с запуском по сети возникают
другие зарезервированные
коды завершения. определенные сложности. Если просто загрузить образ Hiren’s Boot CD с помощью
Linux dialog —menu.
Динамическое меню и прочие memdisk и запустить Mini Windows XP она свалится.
штуки

Популярные темы

csharp ip detect it
linux ljr
manuals php slackware VPN
windows ГОРФ
Карелия Кондопога акции
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
арт архивное блоггинг быдло
видео видеоарт дыбр
жизнь записки кота Шредингера
инфернальное музыка
мысли наблюдашки
панки перекрестки вселенной
пиздец политика про
говнюков разное рассказы

сеть
религия
смешное стихи
техническое фашизм фото
фразочки хаос
чудесное шиза

Все теги XP, что PE-версии, что инсталлятор, подружить с PXE проблематично. Мало того, что
надо поднимать сервер BINL, который выдаст винде нужные драйвера для сетевых
it ГОРФ политика сеть карт, так еще и задолбаешься настраивать загрузчик. Чего только не было — и штатный
смешное linux хаос ntdetect.com не подходил, и патченные в упор не видели файлов ответа (winnt.sif), в
мысли арт фразочки общем геморроя было масса.
музыка панки дыбр жизнь
Карелия фото csharp видео стихи Но интересно, что Mini Windows XP вообще-то драйвера для сети при загрузке не
windows чудесное ljr разное manuals
slackware пиздец акции религия php нужны, все файлы на момент запуска уже переданы на целевую машину, и проблема в
техническое шиза наблюдашки чем-то другом. Насколько я понял, в том, как memdisk маппит в память ISO-образ, а
архивное видеоарт
перекрестки вселенной про говнюков винда потом с этим делом конфликтует, скорее всего у нее не получается создать
фашизм записки кота Шредингера VPN
быдло инфернальное блоггинг рассказы виртуальный диск в памяти. А если попробовать грузить не образ ISO, а образ HDD с
ip detect Кондопога
РОО Свободная Карелия
виндой? Да! Таким макаром все вышло. Об этом и расскажу.
Семенов Сергей Сергеевич депутат
ГОРФнет работа pxe вебдезигн
экономика revolution now животные Необходимые инструменты
раритетная ВТ шествепутия wordpress
Белый Червь Петрозаводск менты

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
puppy rus байки dos вещества книги
комменты природа архиламеры Путина
— Собственно, ISO-образ Hiren’s Boot CD 15.2
исследования праздники NO_TAGS server — Minimal DOS Image
tcplay chaos software пеар nsis
paperdaemon антиклерикализм фильмы — Какой-нибудь дистрибутив Linux, в который можно установить виртуальную машину
христианство exvoice сны firefox анимэ
(анти)военное microsoft office sxgeosharp
QEMU. Мой пакет для Slackware здесь
flash syslinux webextension Лавкрафт — Утилита kpartx, из комплекта multipath-tools. Можно собрать/скачать самостоятельно.
админское анархисты анархия анти(утопия)
история путин ascii captcha dialog На всякий случай, пакет для Slackware
всякая хуйня киберпанк сходства
absolute linux actionscript 2.0 ftp generation‑p — Windows 7, если захочется провести более глубокую модификацию Mini Windows XP
rip sony vegas videoediting xp Питер друзья
открытый отчет поцреоты флудить здесь i2p
— Текстовый редактор, поддерживающий переносы строк DOS/Windows (CR+LF), для
inkscape tinyproxy Том Хаоса антидеанон редактирования конфигов и BAT-файлов DOS, Mini Windows XP и конфига загрузчика
бан брокацентр личное мистическое
стофактовосебе charp dooma.ru licension Grub4Dos (я делал это в винде).
rise_of_dolboёbs анархизм ворчание
долбоебы жирные наброски сообщество
Создание образа HDD с DOS
Друзья
1. Складываем все инструменты в отдельный каталог в Linux, и создаем в нем
«болванку», для образа HDD:
dd if=/dev/zero of=winpe-test.img bs=90M count=1

Если создавать только минимально работающий Mini Windows XP, то хватит и 60


мегабайт (bs=60M), впрочем, можете попробовать поэкспериментировать и еще
Другие ресурсы
уменьшить его.

2. Грузимся в QEMU, указывая в качестве загрузочного устройства образ Hiren’s Boot


CD, и приаттачиваем «болванку» образа HDD, как первый жесткий диск:
qemu-system-i386 -cdrom hbcd.iso -hda winpe-test.img -boot d

3. Выбираем в меню загрузки Start Hiren’s Boot CD, потом File Managers и Volkov
Commander
Полезная реклама
Загрузившись в VC вводим команду fdisk3. Эта команда запустит родной Fdisk от

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Microsoft’а.
У нас один жесткий диск, пока не форматированный и не размеченный, так что в
появившемся меню нажимаем 1 и ENTER (Create DOS Partition or DOS logical drive), в
следующем меню тоже выбираем 1 пункт (Create Primary DOS Partition), далее отвечаем
Y (да). Если все сделано верно, Fdisk предложит перезагрузиться, дабы новый раздел
стал доступен в DOS. Выходим из Fdisk и закрываем QEMU.

4. Грузимся в QEMU, но на этот раз указываем в качестве CD Minimal DOS Image:

qemu-system-i386 -cdrom dos.iso -hda winpe-test.img -boot d

Наш новый диск имеет букву D:, но недоступен, поскольку не отформатирован.

5. Форматируем его и делаем системным:

format D: /U /S

Подтверждаем операцию, по окончании вводим метку, например, WINPE.

6. Переходим на диск D (в меню Left—>Drive или Right—>Drive, QEMU перехватывает


Alt+F1/Alt+F2), копируем с диска C: файлы autoexec.bat, config.sys, himem.sys и
каталоги DOS и VC.

7. В оригинальном образе была опечатка в autoexec.bat, ее можно подправить,


заменив строчку DOS;VC на C:\DOS;C:\VC

Содержимое AUTOEXEC.BAT и CONFIG.SYS

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
8. Можно проверить образ, загрузившись с него в том же QEMU:
qemu-system-i386 -hda winpe-test.img -boot c

Должны появиться окошки Volkov Commander.

Монтирование (и размонтирование) образа диска

Для того, чтобы добавить на диск файлы WinPE, необходимо получить к нему доступ из
Linux:

0. Создаем точку монтирования


mkdir /mnt/dos

1. Вешаем образ на Loop-устройство:


losetup /dev/loop0 winpe-test.img
Обычно устройство loop0 свободно, но можно посмотреть свободное командой
losetup -f

2. Маппим разделы:
kpartx -av /dev/loop0

Утилита выдаст сообщение, содержащее название обнаруженного раздела (выделено


жирным):
add map loop0p1 (251:6): 0 183393 linear /dev/loop0 63

3. Монтируем раздел:
mount -t vfat /dev/mapper/loop0p1 /mnt/dos

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
После того, как нужные файлы скопированы, образ необходимо отключить.

1. Размонтируем раздел:
umount /mnt/dos

2. Удаляем информацию о разделе:


kpartx -dv /dev/loop0

3. Освобождаем loop-устройство:
losetup -d /dev/loop0

Чтобы было проще, можно написать два маленьких скрипта:

Подключение образа:

#!/bin/bash

IMAGE="winpe-test.img"

echo "Open WinPE"


losetup /dev/loop0 $IMAGE
MSG=`kpartx -av /dev/loop0`
DEV=`echo $MSG | awk '{print $3}'`
echo $DEV
sleep 5
mount -t vfat /dev/mapper/$DEV /mnt/dos
echo "Complete"
sleep 2

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
На PasteBin

Примечание: паузы нужны, иначе монтирование может случиться раньше, чем блочное
устройство (раздел), появится в /dev/mapper и ничего не примонтируется.

Отключение образа:
#!/bin/bash

echo "Close WinPE..."

umount /mnt/dos
kpartx -dv /dev/loop0
losetup -d /dev/loop0

echo "Complete!"

На PasteBin

Минимально работающий Mini Windows XP

Для создания минимально работающего Mini Windows XP, потребуется взять из образа
Hiren’s Boot CD все файлы из \HBCD\XP, и положить их в каталог /HBCD/XP в образе
жесткого диска.
Также необходимо настроить загрузчик Grub4Dos:
1. В образе Hiren’s Boot CD находим файл GRUB.EXE и копируем его в корень нашего
диска.
2. Создаем конфиг MENU.LST также в корне диска. Я просто подправил оригинальный
конфиг из Hiren’s Boot CD, удалив оттуда все лишнее. Содержимое конфига на
PasteBin

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Скачать GRUB.EXE, MENU.LST, AUTOEXEC.BAT, CONFIG.SYS с Mega.Nz

Внимание! Править MENU.LST, AUTOEXEC.BAT, CONFIG.SYS надо редактором, который


умеет в DOS/Windows переносы строк (например, Notepad++)

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

2. Запускаем GRUB.EXE:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
3. Выбираем соответствующий пункт меню, ждем…

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ФАНФАРЫ!

На самом деле, Mini Windows XP получился сильно урезанным, без программ из Hiren’s
Boot CD, без толковой поддержки сети и прочих полезностей, что ж, будем улучшать

Добавляем важный софт.

Ну он не так, чтоб уж прямо критически важный, но Mini Windows XP подгружает


некоторые программы, например, программу настройки сети, автомонтирования дисков,
архиватор из \HBCD\Programs, \HBCD\Programs\Files \HBCD\Dos, я посмотрел в код
файлов автозагрузки, и все самое важное выделил.

1. В /HBCD/Programs/Files нашего образа, добавим следующие файлы из


\HBCD\Programs\Files ISO-образа:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
7Zip.7z
AutoMountDrives.7z
DLL.7z
IrfanView.7z
Notepad.7z
TeraCopy.7z
XpFiles.7z

2. В /HBCD/Dos (из \HBCD\Dos):


BiosBoot.7z
MBRUtil.7z
PCI32.7z
SavePart.7z

3. В /HBCD файл HBCDMenu.exe

4. В /HBCD/Programs пока можно скопировать все файлы, которые не *.cmd (из


\HBCD\Programs ISO-образа), CMD-файлы, кроме одного (AutoMountDrives.cmd),
придется подправлять, так что AutoMountDrives.cmd можно скопировать.

Лирическое отступление, или про то, как залезть во внутренности Mini Windows
XP

Все потроха сего дистрибутива лежат в архиве формата WIM, в Windows 7 имеется
стандартная утилита для работы с ним.
Копируем из образа HBCD файл XP.wim куда-нибудь в удобный каталог, и смотрим его
содержимое (команды выполнять от администратора):

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
dism /Get-WimInfo /WimFile:XP.wim

Cистема DISM
Версия: 6.1.7600.16385

Сведения об образе : XP.wim

Индекс: 1
Имя : XP
Описание : <не определено>
Размер (байт): 113 236 979

Операция успешно завершена.

Образ можно подмонтировать в какой-нибудь каталог:


mkdir %TMP%\wim
dism /Mount-Wim /WimFile:XP.wim /name:XP /MountDir:%TMP%\wim

Теперь в каталоге %TMP%\wim — содержимое образа, меня оттуда интересуют два


файла:
Startup.cmd, который Mini Windows XP запускает при старте, и prep, который в
процессе загрузки переименовывается в Startup2.cmd и выполняется. Оттуда и из
XpCustomize.cmd и были вытащены все нужные имена файлов.

Закрыть образ без сохранения изменений:

dism /Unmount-Wim /MountDir:%TMP%\wim /discard

С сохранением:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
dism /Unmount-Wim /MountDir:%TMP%\wim /commit

openwim.bat closewim.bat savewim.bat

Источник Копия

Настройка шары на сервере

Итак, что же все-таки делать с остальным софтом? Ну у нас же PXE, а значит есть
сервер с Samba. В следующем выпуске я таки начну сначала, и расскажу, как настроить
PXE на Linux-машине, и Samba в т.ч. Пока ограничусь секцией конфига smb.conf для
этой конкретной шары:

[hbcdshare]
path=/home/pxe/tftp/distrib/windows/winpe
public=yes
browsable=yes
read only=yes
guest ok=yes

В каталог /home/pxe/tftp/distrib/windows/winpe копируем каталог Files из ISO-


образа HBCD, вместе со всем содержимым. Естественно, для шары вы можете указать
любой удобный вам путь.

Подключение шары в Mini Windows XP

1. Правим файл /HBCD/XP/XpCustomize.cmd в нашем образе диска, меняем строку


REM start PENetwork на start PENetwork
Эта команда запустит утилиту настройки сети (нужные драйвера уже есть в комплекте в

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
архиве XpDrvLAN.7z и Mini Windows XP их подгружает, если вы не забыли положить в
/HBCD/Programs файлы 7z.exe и 7z.dll)

2. Шара не поднимется, пока не будет настроена сеть, поэтому надо «притормозить»


выполнение командного файла (обычно хватает полминуты). Для этого добавим в
каталог /HBCD/XP утилиту sleep.exe (приложу ее в архиве ниже)

3. Пропишем следующие команды для паузы и поднятия шары. Шара будет


подключена, как сетевой диск, например, с буквой W:

REM Add network share with programms


CD \HBCD\XP
sleep 30
Echo Add Files Share...

NET USE W: \\10.10.0.120\hbcdshare

sleep 10

Файл XpCustomize.cmd целиком


Исходник утилиты sleep

Если все сделано правильно, то после загрузки Mini Windows XP мы увидим сетевой
диск в «Моем компьютере»:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
А если зайдем внутрь, то файлы:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Исправляем CMD-файлы для запуска софта

1. Извлекаем из ISO-образа все CMD-файлы из \HBCD\Programs в отдельный каталог.


Во всех них, где есть (кроме файла AutoMountDrives.cmd) нужно заменить строчку
Files\имя_файла на W:\Files\имя_файла (W: — сетевой диск, куда подключена шара)
2. Специально для этого дела я написал за 15 минут на коленке утилиту на C# —
HBCDCmdFix

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Пользоваться просто — выбираете каталог с *.cmd файлами и нажимаете Fix.
Программа делает резервные копии в *.bak файлы перед изменением.

3. Кладем измененные файлы в /HBCD/Programs, отмонтируем образ нашего HDD,


загружаемся с него и пробуем запустить какую-нибудь программу (из меню в системном
трее). Если все сделано правильно, то программа запустится

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Наводим красивости

Все готово, осталось только навести красоту в загрузочных меню.

Делаем в CONFIG.SYS загрузочное меню DOS (оставим возможность выйти в DOS или
перезагрузить компьютер):

Измененный CONFIG.SYS и AUTOEXEC.BAT

Почитать про создание загрузочного меню в MS DOS Копия

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Измененный MENU.LST Grub4Dos (добавлена возможность перезагрузиться или
выключить компьютер).

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
А симпатичную надпись в DOS’овом меню, я сделал, подправив в HEX-редакторе
IO.SYS. Но как — догадайся мол сама

Готово!

Осталось только сжать готовые образы gzip‘ом и прописать в меню PXE-сервера:

gzip winpecut.img
gzip winpe.img

LABEL winxppe
menu label Windows XP PE
kernel modules/memdisk
initrd distrib/windows/winpe/winpe.img.gz
append harddisk

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
LABEL winxppecut
menu label Windows XP PE Very Small
kernel modules/memdisk
initrd distrib/windows/winpecut/winpecut.img.gz
append harddisk

Видео загрузки Mini XP по сети

Запуск Mini Windows XP (Windows XP …


Watch later Share

Скачать

—Minimal DOS Image


Пакеты:
—QEMU

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
—muktipath-tools
—Скрипты, утилиты, примеры конфигов из статьи

Образы

—Тестовый (минимальный) образ Mini Windows XP


—Полный образ Mini Windows XP

This entry was posted in Блог and tagged it, linux, pxe, windows. Bookmark the permalink.

4 Responses to Запуск Mini Windows XP (WinPE) из Hiren’s


Boot CD 15.2 по сети (PXE).
Pingback: Установка Windows XP из Mini Windows XP по сети (PXE). Без геморроя с
загрузчиками и драйверами. | Персональный блог Толика Панкова

Pingback: Hiren’s Boot CD 15.2 и загрузка его по сети (PXE) | Персональный блог Толика
Панкова

Pingback: Заодно нашел кучу утилит для подбора паролей в Windows. | Персональный блог
Толика Панкова

Pingback: Делаем аварийный загрузочный образ WinPE на базе Windows 7. (с возможностью


установки Win7/8/10) | Персональный блог Толика Панкова

Добавить комментарий
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Ваш e-mail не будет опубликован. Обязательные поля помечены *

Комментарий

Имя *

E-mail *

Сайт

Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих
комментариев.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Введите код с картинки (CAPTCHA)*

Отправить комментарий

Proudly powered by WordPress | Theme: Beach by Gibbo.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Вам также может понравиться