reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Bootování po síti s PXE linuxem

radek.kovacik (96)|25.8.2016 12:25
Mám dotaz na zdejší znalce linuxových příkazů, zda jde v PXE linuxu (který vznikl úpravou SYSLINUXu) udělat to, že bych si při bootování z TFTP serveru namountoval ISO soubor jako CD nebo pevný disk a z něj pak spustil např. bootloader Windows.

Jedná se mi o to, že v tuto chvíli to mám tak, že se k jednotlivým ISO souborům připojuji pomocí příkazu KERNEL memdisk a parametrů APPEND a INITRD. To (pokud jsem to správně pochopil) vytvoří ramdisk a celé ISO se do něj natáhne a pak se spustí. Mě napadlo, zda to nejde udělat tak, že by se ISO nenatahovalo, ale pouze připojovalo pomocí nějakého mount příkazu. Důvod je ten, že např. instalačka Windows 7 má 2,9 GB a Windows 10 3,7 GB a že by se ten síťový boot tímto dal celý urychlit.

Protože o Linuxu pouze vím, že existuje, ptám se na to vás.
zsdx (2098)|29.8.2016 18:03
Rekl bych, ze uz z principu fungovani (T)FTP protokolu to nelze takto resit.
Obejit to lze bootem PE a instalaci ze sitove slozky.
radek.kovacik (96)|31.8.2016 15:55
Sice ještě úplně přesně nevím, k čemu je to Win PE vlastně dobrý, ale pokud se jedná pouze o obejití protokolu TFTP, neexistuje nějaká jednodušší možnost? Například spuštění nějakého prostředí DOSu a tam pak zadání příkazu NET na přimountování a SETUP ke spuštění samotné instalace Windows?

Vzhledem k tomu, že jsem v této problematice nováček, nevím, co bych měl případně na internetu hledat...:confused:
zsdx (2098)|31.8.2016 16:29
Na to prave je PE (Windows Preinstallation Environment) - 'male Windowsy' (nebo vetsi DOS) okolo 200MB)), ze kterych se pripojis na sit a spustis instalaci. Setup uz davno nejde spustit v DOSu.
Druha moznost je boot klonovaciho nastroje a ze site na disk vybalit image systemu (patricne upravenou sysprep-em).
radek.kovacik (96)|31.8.2016 21:02
Já jsem si vždycky myslel, že když se ta instalace startuje klasicky při bootu z DVD, tak tam přece žádný WinPE není a musí si to samo připravit "živnou půdu". Proto jsem logicky předpokládal, že když nabootuju přes síť, že to bude úplně to samé, jako z DVD.

Teď jsem na zkoušku stáhnul z jednoho fóra na internetu WinPE pro 10, ale i když jsem příkazy pro PXElinux zadal dle návodu, nepodařilo se to zavést a spustit. Netuším, v čem může být problém. To fórum je navíc v němčině a ani Google překladač to úplně nezvládá přeložit.
Jednodušší live CD se mi spouští pěkně (např. Hirens boot CD nebo Ultimate boot CD), ale některé složitější (např. Kaspersky Rescue CD nebo WinPE) vyhazují chyby a netuším, kde hledat příčinu.
zsdx (2098)|31.8.2016 21:42
Zkus toto (ci origo), ale opravdu je duvod to tam hrnout po siti misto lokalniho bootu z instalacniho media?
radek.kovacik (96)|1.9.2016 19:10
Díky za odkazy, ale já už jsem pročetl kdeco a nemůžu se hnout z místa. Jak má vlastně vypadat to prostředí WinPE? Mi se podařilo dostat do příkazového řádku, který byl spuštěný v okně na grafickém pozadí, ale nevím, co to ode mě dále očekává.

Co se týká tvojí otázky, tak důvod byl ten, že jsem chtěl mít všechno pěkně na jednom místě na serveru a když kterýkoli z počítačů klekne, tak že můžu nahodit alternativní prostředí pomocí bootu po síti bez shánění nějaké volné klíčenky nebo DVD a vytváření bootovatelného média. Vize hezká, ale realizace těžká...:notsure
Ventero (1280)|2.9.2016 10:09
[QUOTE=radek.kovacik;584256]Já jsem si vždycky myslel, že když se ta instalace startuje klasicky při bootu z DVD, tak tam přece žádný WinPE není a musí si to samo připravit "živnou půdu"...[/QUOTE]

Ale to je defacto totéž:

Preinstall Environment = předinstalační prostředí, tedy vlastně taková rozšířená živná půda. Akorát při klasické instalaci se natáhne do ramdisku obsah dat ze souboru "boot.wim", což je ta nejzákladnější živná půda - předinstalační prostředí, kde se potom připojuje soubor "install.wim" a z něho pak probíhá kopírování souborů a dále pak k samotné instalaci.

Což poté vedlo k tomu, že se na toto udělala jakási nadstavba - rozšíření, aby použití bylo širší s více možnostmi. A tak vznikl Windows PE. Doporučuji ti si stáhnout nějaký hotový i s GUI, který má většinou max. 200MB - to do RAM natáhneš v klidu - a z něho pak spustíš Setup ze síťové složky, kde budeš mít rozbalené ISO.

http://craftcom.net/00_forum/forum/index.php/board,10.0.html

Jak z Grub2 (nejspíš používá tvůj Linux) nabootovat PE si dohledej a co se týče síťových složek to snad taky půjde dohledat ještě snadněji :-)
radek.kovacik (96)|2.9.2016 14:05
Ventero:
Vřelé díky za odkaz na ten web. Já jsem jako šílený hledal po celým netu hotové WinPE pro Windows 7 SP1 a nikde se mi nic nepodařilo najít a na craftcomu se to volně válí...:mistake

Jinak, díky za nastínění činnosti WinPE, ten popis mi alespoň pomohl pochopit, že nejsem úplně mimo. V tuto chvíli to mám nastavené s využitím PXElinuxu a příslušných programů z jeho distribuce (klasicky MEMDISK) na zavedení celého ISO do RAM disku:
[CODE]
KERNEL memdisk
APPEND iso raw
INITRD Soubory_ISO/Windows_10/WinPE_10x64.iso
[/CODE]
V souvislosti s tím WIM souborem jsem si při hledání na netu všiml, že existuje program wimboot, který slouží právě pro zavedení těchto souborů. Tak mě ještě napadá, jestli by to nebyla výhodnější a hlavně jednodušší cesta (s méně problémy) než klasické zavádění celého obrazu v ISO.
Ventero (1280)|2.9.2016 16:40
Jojo - díky mistru Norminovi.

Nějakou dobu již laburuji se zaváděním systémů. Nejlepší a nejjednodušší v tomto směru je Grub4Dos, jenže ten nemá podporu EFI - projekt zřejmě opuštěn a na mé dotazy k vývojářům nikdo nereagoval. Přitom by to bylo minimum doupravit. V IT bohužel platí to co v celém spektru odvětví - výborné a téměř dokonalé věci se ruší a upadají v zapomění, a nadvláda stupidity protlačuje věci méně či hůře funkční, složitější a tím méně efektivní. A tak je číslo 1 na trhu GRUB2, který je složitější a neumí tolik co G4D.

Jednodušší a výhodnější cesta nevím - princip bude tentýž, jen ušetříš několik mega RAMdisku

Každopádně Když ISO WPE rozbalíš a vypreparuješ z něho wim soubor, který přejmenuješ třeba na bootPE.wim a uložíš do odpovídající složky ke svým Windows, tak ho můžeš natáhnout přidáním položky do BCD svých Windows. Toto je na Craftcomu popsané a zbytek odvodíš prozkoumáním struktury připravených řešení odtamtud.

Jinak ohledně průseru zvaném EFI (Dnes už se ví, že je na pytel a to hlavní, kvůli čemu tato koncepce vznikla se nevyplnilo - naopak je z celým svým secureboot zranitelnější - navrhuji zrušit,ale to už se, viz výše, nestane) a polofunkčností Grub2 nejspíš také budu muset řešit řetězení na G4D pomocí principu syslinux, takže si pak budu žádat o rady tebe :)
radek.kovacik (96)|3.9.2016 14:06
Narychlo jsem si prošel ten web craftcomu a několik dalších (anglických) webů a pokud to tedy správně chápu, musím pro dosažení startu s následnou instalací Windows mít:

a) Cizí (stažený) WinPE, kde pak budu muset ručně zadat celou cestu s odkazem na server, na kterém mám uloženy instalační soubory Windows (mohl by být i ISO, který by se namountoval nebo by to muselo být rozbalené?) a spustit setup

nebo

b) Svůj vlastní WinPE, který by mohl být spuštěný automaticky, ale musel bych jej vytvořit pomocí WAIK a případného pomocného programu např. WinBuilderu.

Nebo existuje ještě další možnost?
Co je BCD?


P.S. Pokud se mi to podaří někdy celé rozjet tak, aby to bylo funkční, klidně Ti to poskytnu. Bylo by to rychlejší než rady o Syslinuxu...:D
Ventero (1280)|3.9.2016 15:47
Tak to je asi jedno - tady myslím, že není třeba dělat něco co je udělané a to dost slušně. PEčka z Craftcomu jsou udělaná tak, že tam můžeš nouzově použít spoustu užitečných aplikací (typu portable) včetně internetového prohlížeče. Takže proč ho nepoužít.

Takže ty prostě z nějakého Grubu či Syslinuxu nabootuješ PEčko (ať už z ISO nebo ze složky - tam je to složité,když složky nejsou v rootu, ale také ne nemožné), které můžeš mít na tom samém disku nebo třeba na USBflash a které má do 200MB, takže máš-li 2GB RAM, tak úplně v pohodě. Pak v něm připojíš vzdálenou síťovou složku (myslím, že bude v tomto případě třeba připojit coby síťovou jednotku - disk, kvůli cestám) s rozbalenými soubory instalačky a spustíš setup.exe. Takhle by to snad mohlo fungovat. Přesněji by jsi jistě dohledal v knowledge base Microsoftu nebo dostal rady na mikrosoftím fóru.

Na to si nejspíš můžeš udělat skript, takže to pošéfuješ jedním dvouklikem. Šel by do PE implementovat i logonskript, ale to už je vyšší dívčí a prakticky bych se do toho pouštět nechtěl a druhak ne vždy by jsi musel chtít spustit instalaci, protože ta hotová řešení mají daleko širší využití, jak jsem psal.

O principu mountování toho moc nevím. Nejspíš by to šlo, ale je to další úkon na víc. Musel by jsi ho někde nějak vhodně mountnout a to pak připojovat, jako vzdálenou jednotku. Ale nevím, jestli to jde a jak se to dělá.

BCD je konfigurační rozhraní pro zavaděč bootmgr. Ale vzhledem k tomu, že tvůj výchozí zavaděč nebude Windows, tak to bylo spíš jen tak pro zajímavost a pro vysvětlení práce s ~.wim soubory. Každopádně to co je navíc v tom ISO oproti tomu wim souboru (to je ta stať), je pár MB a vůbec by se nejspíš nevyplatilo pachtit se ještě s nějakým dalším řešením přímého mountnutí wim souboru. Pokud není tvůj výchozí zavaděč právě bootmgr.
radek.kovacik (96)|4.9.2016 11:38
Předpokládám, že tím logonskriptem máš na mysli něco jako autoexec.bat v DOSu nebo autorun.inf na CD. Pokud ano, tak přesně něco takového jsem myslel taky - prostě že se to automaticky spustí bez manuálního zásahu uživatele. Myslíš, že je to složitý zapracovat do PE? (v tuto chvíli spíše čistě teoretický dotaz, prakticky budu rád, když to vůbec rozjedu :))

Teď ještě jeden dotaz - je nutno mít na spuštění instalace Windows 7 WinPE 3.1 (tedy ze sedmiček) a na spuštění instalace Windows 10 WinPE 10 nebo je to jedno, z jakého PE se ta instalace spustí? Někde ve fóru jsem zahlídl informaci o tom, že WinPE 10 je schopný spouštět i předchozí systémy, tedy osmičky i sedmičky, ale nevím, co je na tom pravdy. A jak je to s architekturou - pro 64 bitový Windows musí 64 bitový PE nebo je to libovolně zaměnitelný?

Mimochodem, normin na craftcomu má hodně "neúplných" věcí, tedy nejsou to hotové ISO ale pouze WIM soubory a nepodařilo se mi najít ten návod, jak se to má vložit a zkompletovat do hotového ISO souboru.
Ventero (1280)|4.9.2016 16:06
Vemu to v obráceném pořadí:

Ano to jsou hotové wim soubory. Zbytek totiž zůstává stejný - nečetl jsi pozorně. Takže komplet pro USB by měl být tady:
https://ulozto.cz/!2TqmaC8J/w7pe-usb-1-7z
a komplet ISO zde:
http://uloz.to/xhiU6t2G/winpe-7cz-8-iso
No a pak už jen měníš wim soubory podle toho, jakou chceš verzi. Zachováš název a umístění - prostě modulárka.

Co se týče spouštění různých verzí, tak setup.exe je standardní spustitelný soubor. Je to stejné, jako když upgraduješ - takže utilita je logicky spustitelná i ve starších verzí. jediný problém by mohl nastat v případě opačném - s polodementní politikou MS bych se nedivil, kdyby při spuštění setup.exe W7 instalátoru v prostředí W10 neproběhlo něco ve smyslu, že máš již novější verzi. Ale myslím, že v tomhle případě to tak nebude. Však to zkus. Hoď někam desítky, nebo někde kde jsou, a zkus vložit DVD W7 a spustit. Pak tu instalaci případně zrušíš. A poreferuj :)

Ano - bylo by to celkem pracnější zakomponovat logonscript a jak jsem již psal, tak mi to přijde i zbytečné: Jednak by jsi z toho PE udělal jednoúčelovou záležitost a je otázka chvíle najít ~.bat soubor a spustit. To už je jednodušší čistě ten soubor mít připraven na ploše, aby jsi ho nemusel lokalizovat. Toho docílíš tím, že pomocí spec. nástroje "DISM" ~.wim soubor mountneš a doplníš to tam a odmountneš.

Ale to bych fakt nechal, až bude jistá hlavní funkčnost.
radek.kovacik (96)|4.9.2016 20:35
[QUOTE=Ventero;584358]a komplet ISO zde:
http://uloz.to/xhiU6t2G/winpe-7cz-8-iso[/QUOTE]
Blbý je jenom to, že na tom ulozto.cz to někdo smazal... Takových nefunkčních linků je na craftcomu poměrně hodně.

[QUOTE]Toho docílíš tím, že pomocí spec. nástroje "DISM" ~.wim soubor mountneš a doplníš to tam a odmountneš.
[/QUOTE]
Je to tento postup?

[QUOTE]s polodementní politikou MS bych se nedivil, kdyby při spuštění setup.exe W7 instalátoru v prostředí W10 neproběhlo něco ve smyslu, že máš již novější verzi.[/QUOTE]
Nebo by mi to napsalo, že to nenainstaluje horší systém, když nejlepší už mám...:D
Ventero (1280)|4.9.2016 21:05
To je divny - nedavno jsem to stahoval. Muzu to kdyztak upnout. Nebo pouzij verzi pro usb a pomoci jakehokoliv slusneho progr. na vypalovani pridej bootsector z jakehokoliv DVD Windows7 a vyse.

Necetl jsem to cely na tom technetu MS, ale postup bude vlastne stejny, jako v pripade zmeny toho obrazku pozadi.
radek.kovacik (96)|13.9.2016 13:00
Takže teď se podělím o pár poznatků s nasazením a konfigurací PXElinuxu při zavádění různých systémů po síti:

Co se týká zavádění instalačních souborů Windows (které jsem tu řešil v předchozích příspěvcích), jako nejlepší řešení pro tento případ se mi jevilo použití nástroje wimboot, přičemž pěkný popis, jak na to, je zde. Abych to shrnul, na TFTP serveru mám rozbalené instalační DVD Windows a v konfiguračním souboru default mám toto:
[CODE]
LABEL Windows7
MENU LABEL Instalace systemu Windows 7
TEXT HELP
Spusti instalaci ceske edice systemu Windows 7 Ultimate SP1 64 bitu.
ENDTEXT
COM32 linux.c32
APPEND wimboot initrdfile=Images/Instalacni_disk_Windows_7/Images/Instalacni_disk_Windows_7/boot/bcd,Images/Instalacni_disk_Windows_7/boot/boot.sdi,Images/Instalacni_disk_Windows_7/sources/boot.wim
[/CODE]
Samozřejmě tam musí být nakopírovaný samotný soubor wimboot, který zajišťuje tuto funkcionalitu. Jeho umístění není důležité, jen je potřeba k němu patřičně nastavit cestu při spuštění příkazem COM32.
Výše uvedené může být bráno jako odpověď na můj dotaz z prvního příspěvku, zda lze instalaci Windows zavést nějak jinak, než MEMDISKem. Takže ano, lze, a jde to i bez použití speciálního WinPE. Jak kolega Ventero správně poznamenal, proč vytvářet něco, co už je vytvořený...;)

Ostatní věci (různá Live CD a WinPE) pak zavádím klasickým způsobem, jak jsem již uváděl v předchozím příspěvku.

[HR][/HR]
Důležité upozornění:

V této souvislosti bych si dovolil upozornit "zaryté windowsáky", kteří s Linuxem nemají žádnou zkušenost (tak jako já před nedávnem), že Linux je citlivý na velikost písmen v názvech souborů a v cestě a navíc ještě se cesta udává s normálním lomítkem, nikoliv se zpětným, jako je to ve Windows. Současně je třeba upozornit, že zde popisovaný PXElinux nemá rád ani české a jiné speciální znaky, takže je nejlepší držet se staré DOSové konvence s tím, že je možno používat delší názvy souborů, než tomu bylo původně v DOSu (tam bylo omezení 8.3).