Ahogyan az iPXE-s címlaposban is volt szó róla, a meglevő ISO image-ink hálózatról bootolása igen kényelmes tud lenni - többek között azért is, mert ez a hálózati bootolás legbutább esete : áttöltjük az ISO-t a kliensgépre, ott az megmarad a RAM-ban és onnan indul az ISO-ban levő oprendszer.
Ehhez általában a memdisk kernel használatos, aminek kb. ennyi is a feladata. Azonban a memdisk is tud pár hasznos dolgot, amivel mind PXE, mind iPXE esetén könnyebb megoldani egy nagyobb ISO bebootolását - nekem ez régebben mindig problémás volt, de most itt van két egyszerűbb megoldás is.
Nekem elsősorban a favorit all-in-one boot-CD, a Hiren's bootCD indításhoz kellett a dolog, így a bemutatásban is ez fog szerepelni. Gyakran kell alaplapokat, laptopokat tesztelnem otthon, amihez nem mindig van háttértár, vagy más ok miatt (pl. onnan kéne adatot menteni) nem érdemes arról elindítani a gépet. Van persze pendrive-on, meg CD-n is kiírva boot CD, de azzal mindig a hova tettem, nem olvassa, miért fagyott meg betöltés közben, nem bootol, stb. gondok vannak. Hálózatról meg gép bekapcs, elindul a PXE, onnan már menüből válogatom, hogy mit akarok indítani. S ha a Hiren's ISO-t hálóról bootolom, akkor az új verziókat elég csak letölteni a home szerveremre, ahonnan máris elérhető.
Viszont a Hiren's boot 150-200MB, így pl. nekem simán a memdisk kernellel nem akart betöltődni (meg ugye a szabvány TFTP szerverről átvihető fileméret is max. 32MB, bár ezt egyes implementációkban túl lehet lépni). Némi keresgéléssel azért lett erre is megoldás.
Ennyi bevezető után íme a sima PXE-hez való script (feltételezve, hogy működő PXE környezet már van, a PXE menühöz ezt kell hozzáadni) :label HIREN
menu label HIREN
menu default
LINUX memdisk
kernel memdisk raw
INITRD hiren.iso
APPEND iso rawinitrd=hiren.iso
(az ISO ugyanott van, ahol a PXE .cfg állomány, amibe ezt beleletesszük)
iPXE esetén, ha már elindult az iPXE (nekem itthon pl. PXE-ről lehet iPXE-t is indítani, így mindig azt használhatom, ami kényelmesebb, és egyikhez sem kell külön boot média, a következő scripttel lehet http szerverről nagyobb ISO-t bootolni :
#!ipxe
initrd http://szervercíme/hiren.iso
chain http://szervercíme/memdisk iso raw
és (miután már beállítottuk a hálózatot kézzel, vagy a dhcp
paranccsal az iPXE parancssorban) a chain http://szervercíme.com/hirenisoboot.txt
paranccsal be is bootolja az ISO-t.
Ezekkel a megoldásokkal leginkább a RAM mérete szab határt az ISO bootolásnak; a teljes ISO-nak, és az onnan induló operációs rendszernek bele kell férnie, és a bebootolt oprendszer nem feltétlenül fogja látni azt az ISO file-t, amiről ő maga indult.
Tehát a Hiren's boot Mini Windows XP-jén a HBCD Tools menüpont nem működik, mert a Windows leüli a teljes RAM-ot, így a letöltött ISO tartalma is törlődik onnan (Aztán lehet, hogy mégsem ezért, mert az az ISO pendrive-ről sem látja a Wintools-t...). Ugyanakkor ez nem gond, mert a hálózatot, meg a gépbe bedugdozott adathordozókat is látja, szóval egy hálózati megosztásról gond nélkül fut bármilyen szoftver. A Hiren's boot DOS-os része viszont csont nélkül fut, mivel az nem foglalja el a RAM-ot.
Normál Windows telepítő indítására viszont a fentiek miatt (kiakad a telepítő 0x00007b-vel, mert nem tudja olvasni a boot eszközt) nem jó ez a módszer, azt az iPXE cikkben leírtak szerint lehet megoldani. (Amúgy sem biztos, hogy a legjobb eljárás a teljes pár gigás telepítőt behúzni a RAM-ba).