Грузим ВСЁ по сети в DualBoot. Часть 4: Загружаем Strelec WinPE

Грузим ВСЁ по сети в DualBoot. Часть 4: Загружаем Strelec WinPE

В предыдущей части мы закончили на том, что добавили поддержку UEFI к нашей сетевой загрузке, в результате меню грузится одинаково и в Legacy и в UEFI. Теперь пора загрузить что-то полезное.

Часть 1: Теория и анализ предложений
Часть 2: Первые грабли в процессе загрузки MemTest86+
Часть 3: Добавляем поддержку UEFI
Часть 4: Загружаем Strelec WinPE
Часть 5: Загружаем полноценный дистрибутив Linux Ubuntu
Часть 6: Загружаем Windows Installer и ставим ОС
Часть 7: Устанавливаем Windows на iSCSI диск по сети
Часть 8: Жонглируем пунктами iPXE меню
Часть 9: Обслуживание сервера и обновление образов

Настройка TGTd

Так как протокол TFTP медленный, а memdisk требует оперативной памяти по размеру образа, Strelec WinPE будем загружать с виртуального диска по протоколу iSCSI сразу из iPXE. Протокол iSCSI, в отличии от SMB/NFS, предоставляет блочный доступ к диску, как будто вы подключаете физический диск.

iSCSI Target’ом (то есть iSCSI сервером) будет у нас служба tgtd, отличающаяся достаточно простой настройкой и бесперебойной работой.

apt install tgt -y
cat > /etc/tgt/targets.conf << EOF

# указываем имя виртуального диска (LUN'a) и путь до него
<target iqn.2020-12.pxe:strelec>
    backing-store /pxe/images/strelec.img
</target>

EOF

Подготовка образа

Последующие операции в целом можно выполнить используя fdisk, parted, mount и прочие Linux’овые утилиты, но для наглядности и понятности происходящего это проще сделать с Windows. В общем, займемся созданием виртуального диска с образом Strelec WinPE объемом 5Гб и перезапускаем tgt.

mkdir /pxe/images
touch /pxe/images/strelec.img
truncate -s 5G /pxe/images/strelec.img
service tgt restart

Теперь на компьютере с Windows идем в Панель управления => Администрирование => Инициатор iSCSI. Если запускаете впервые, будет предложено его включить, включаем. Вводим IP-адрес сервера загрузок и успешно входим, в диспетчере дисков появляется новый диск.

Подключение iSCSI диска
Диск успешно подключен

Выставляем таблицу разделов MBR, форматируем в файловую систему FAT32. Далее ищем последнюю сборку на официальном сайте, скачиваем ISO, открываем любым доступным образом и копируем файлы из ISO в корень нового диска. В данном случае образ весит чуть больше 4Гб, у нас остается немного места для хранения временных файлов и про запас на случай обновления сборок.

Копирование файлов на iSCSI диск

Теперь осталось прописать загрузочную запись и пометить раздел активным, чтобы он смог с него загрузиться. Для этого воспользуемся программой BOOTICE.

  1. Открываем, выбираем наш диск из списка
  2. Process MBR => Windows NT 5.x / 6.x => Install => NT 6.x
  3. Process PBR => BOOTMGR boot record => Install
  4. Parts Manage => Activate

Готово, теперь можно отключать iSCSI диск. Сначала делаем диск “вне сети” через диспетчер дисков, потом прерываем сессию в iSCSI инициаторе. В Windows есть какой-то странный глюк, когда при попытке прервать сессию система жалуется, что диск занят и ни в какую не хочет его отдавать.
В таком случае можно остановить tgt командой service tgt stop, дождаться пока система поймет, что он недоступен и только после этого его можно будет удалить. Потом включить обратно tgt командой service tgt start.

Доделываем меню iPXE

Добавляем пункт меню и блок загрузки в файл /pxe/ipxe/menu.ipxe

....
item strelec Boot Strelec WinPE
....
:strelec
sanboot iscsi:${srvip}:::1:iqn.2020-12.pxe:strelec

Для загрузки с iSCSI в iPXE используется команда sanboot, сочетающая в себе адрес сервера и имя LUN’а, с которого хотим загрузиться.

Полностью конфиг меню iPXE у нас выглядит примерно так:

#!ipxe
set menu-timeout 0

set srvip ${net0/next-server}

:start
menu iPXE boot menu
item  memtest          Run Memtest86+-5.01
item  strelec          Boot Strelec WinPE

choose --default memtest selected
goto ${selected}

:memtest
initrd tftp://${srvip}/utilites/mt531b.iso
chain tftp://${srvip}/utilites/memdisk iso raw

:strelec
sanboot iscsi:${srvip}:::1:iqn.2020-12.pxe:strelec

Готово. Пробуем загрузить в Legacy и в UEFI режимах, убеждаемся что все работает, выбирая второй пункт меню iPXE.

Загрузка Strelec WinPE по сети в режиме Legacy
Загрузка Strelec WinPE по сети в режиме UEFI

Грузим ВСЁ по сети в DualBoot. Часть 4: Загружаем Strelec WinPE: 8 комментариев

  1. У меня проблема при попытке загрузиться с образа Strelec. При использовании
    sanboot iscsi:${srvip}:::1:iqn.2020-12.pxe:strelec
    Вылетает ошибка – 1c0d6202
    https://ipxe.org/err-orig/1c0d6202

    Подскажите в чем может быть проблема?

  2. Пробовал последний на данный момент образ от 2022.01.04 грузить(в легаси) и через
    sanboot –no-describe -k http://X.X.X.X/iso/strelec10.iso
    и через
    sanboot iscsi:X.X.X.X:::1:2022-01-04.pxe:strelec
    В результате что со скачанным iso что с записанным isci img с помощью bootice результат одинаков, WinPE загружается но с ошибками связанными с тем что в системе где обычно на диск С смонтирована флешка(ну по сути сам образ) оказывается пусто и никаких устройств система не видит и по итогу из всего образа доступна только сама WinPE на Ram диске X

    1. тоже самое на 3х разных пк пробовал в legasy и в efi, на hyper-v при чем грузит всё отлично, без ошибок.

      1. потому что статья не полная, не учитывает отдельное монтирование т.н. program pack из комплекта strelec winpe
        (при загрузке через pxe все что грузится в память это wim образ Винды, и так как загрузка происходит из сети – то для этого образа после инициализации в памяти все остальные диски с сервера как и сам ISOшник – попросту не существуют, так как этот wim запускается в памяти клиентского ПК)

  3. Установил все по Вашему мануалу в efiх64 все прекрасно, и на ноутбуках и в vm Proxmox, однако в Легаси работать отказывается -No more network devices. Если бы Вы смогли настроить dnsmasq в режиме прокси моему счастью не было бы предела
    Спасибо Вам большое, за ваш труд

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

Добавить комментарий для Ромыч Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *