LINUX.ORG.RU
решено ФорумAdmin

Загрузка с ISO через PXE без полного скачивания образа

 , ,


2

2

PXE умеет загружать memdisk. Memdisk умеет загружать ISO‑образ, предварительно скачав его в RAM полностью. Если ISO‑образ большой, то загрузка затягивается надолго. Подскажите, как можно через PXE загрузить машину с удалённого ISO‑образа без его полного скачивания? Скачивается образ Acronis Snap Deploy, так что там неизвестно, какие параметры передавать как linux и initrd (если брать этот вариант), да и хотелось бы универсального решения, которое смогло бы смонтировать произвольный образ. GRUB2, как я понял, не умеет монтировать NFS‑ресурсы (или другие, поддерживающие частичную скачку).

то чего ты хочешь, скорее всего невозможно. Загружать ISO без полной загрузки в память умеет grub4dos, скорее всего отображает в память, потому что если файл запишется на диск не одним куском, работать не будет. Сеть он не умеет.

Если это акронис, там скорее всего ядро и рамдиск. Их можно грузить обычным способом.

FFSinit ★★
()
Ответ на: комментарий от FFSinit

Загружать ISO без полной загрузки в память умеет grub4dos

работающий кусок для grub2 и нет полной загрузки

menuentry "ubuntu-16.04.3-desktop-amd64, linux-4.10" {
	set root='(hd0,msdos3)'
	set ISO='/boot-images/ubuntu-16.04.3-desktop-amd64.iso'
	loopback loop $ISO
	linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$ISO
	initrd (loop)/casper/initrd.lz
}
anonymous
()
Ответ на: комментарий от Radjah

iPXE можно использовать. Он умеет по http грузить, что сильно быстрее tftp. Можно еще попробовать iSCSI.

iPXE можно завернуть в ISO‑образ? Есть ли хотя бы примерные ориентиры, на сколько процентов уменьшится время загрузки трёхсотметрового образа?

Northsoft ★★
() автор топика
Ответ на: комментарий от constin

грузишь для загрузки только ядро, остальное маунтишь по айскази или nfs

Из образа Acronis Snap Deploy у меня не получалось вытащить ядро и initrd. А Вы пробовали?

Northsoft ★★
() автор топика
Последнее исправление: Northsoft (всего исправлений: 1)
Ответ на: комментарий от FFSinit

Если это акронис, там скорее всего ядро и рамдиск. Их можно грузить обычным способом.

Содержимое ISO‑образа Acronis Snap Deploy — два файла размером меньше мегабайта. И они ни разу не похожи на ядро и initrd.

Northsoft ★★
() автор топика
Ответ на: комментарий от anonymous

работающий кусок для grub2 и нет полной загрузки

menuentry "ubuntu-16.04.3-desktop-amd64, linux-4.10" {
	set root='(hd0,msdos3)'
	set ISO='/boot-images/ubuntu-16.04.3-desktop-amd64.iso'
	loopback loop $ISO
	linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$ISO
	initrd (loop)/casper/initrd.lz
}

GRUB2 сумеет в этом куске смонтировать NFS‑ресурс? Он сможет этот ISO‑образ взять по HTTP без полного скачивания, обращаясь только к используемым кускам трёхсотметрового образа?

Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

1) В директории «boot-images» третьего основного раздела mbr диска лежит файл «ubuntu-16.04.3-desktop-amd64.iso».
2) Если этот раздел форматирован в ntfs (ext), то где-то перед строкой «loopback loop $ISO» должно быть «insmod ntfs» («insmod ext2»)
3) Это работает с конкретной убунтовой исошкой, и не работает с исошкой tails, или debian, или acronis.
4) Про сеть тут ничего нет.

anonymous
()
Ответ на: комментарий от Northsoft

TFTP syslinux https://youtu.be/SeUIsMsDIXY

HTTP ipxe https://youtu.be/VmZrPeTXzuI

Конфиг ipxe/iscsi-disk1.ipxe такой у меня:

#!ipxe
dhcp
set keep-san 1
sanboot --no-describe -k http://192.168.1.30/tftp/Hirens.BootCD.15.2.iso

Пункт меню:

LABEL ISCSI
MENU LABEL ISCSI test
KERNEL ipxe/ipxe.lkrn
INITRD ipxe/iscsi-disk1.ipxe

Вроде даже конструктор есть, но можно сорсы скачать и самому собрать.

Radjah ★★★★★
()
2 ноября 2018 г.
Ответ на: Спасибо! от Northsoft

Привет! по какому мануалу настраивал iSCSI для загрузки iso?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.