Грузим ВСЁ по сети в 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-адрес сервера загрузок и успешно входим, в диспетчере дисков появляется новый диск.
Выставляем таблицу разделов MBR, форматируем в файловую систему FAT32. Далее ищем последнюю сборку на официальном сайте, скачиваем ISO, открываем любым доступным образом и копируем файлы из ISO в корень нового диска. В данном случае образ весит чуть больше 4Гб, у нас остается немного места для хранения временных файлов и про запас на случай обновления сборок.
Теперь осталось прописать загрузочную запись и пометить раздел активным, чтобы он смог с него загрузиться. Для этого воспользуемся программой BOOTICE.
- Открываем, выбираем наш диск из списка
- Process MBR => Windows NT 5.x / 6.x => Install => NT 6.x
- Process PBR => BOOTMGR boot record => Install
- 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.
Грузим ВСЁ по сети в DualBoot. Часть 4: Загружаем Strelec WinPE: 7 комментариев
У меня проблема при попытке загрузиться с образа Strelec. При использовании
sanboot iscsi:${srvip}:::1:iqn.2020-12.pxe:strelec
Вылетает ошибка – 1c0d6202
https://ipxe.org/err-orig/1c0d6202
Подскажите в чем может быть проблема?
судя по описанию ошибки, проверьте конфиг tgt, не запрашивает ли он авторизацию
Пробовал последний на данный момент образ от 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
точно так-же и у меня. только iscsi сервером выступает synology.
тоже самое на 3х разных пк пробовал в legasy и в efi, на hyper-v при чем грузит всё отлично, без ошибок.
Установил все по Вашему мануалу в efiх64 все прекрасно, и на ноутбуках и в vm Proxmox, однако в Легаси работать отказывается -No more network devices. Если бы Вы смогли настроить dnsmasq в режиме прокси моему счастью не было бы предела
Спасибо Вам большое, за ваш труд
не грузится стрелец айскази в уефи после меню, несколько раз делал и ничего не загрузилось. легаси работает нормально.