È possibile eseguire l'avvio da un ISO sulla rete e come?


31

Ho una macchina con un ISO di avvio memorizzato su di essa e ho un'altra macchina vuota, su cui voglio installare l'ISO. Sono entrambi sulla stessa LAN (collegata allo stesso switch). Come farei per avviare il computer vuoto dall'ISO memorizzato sul mio computer principale?


se hai i tutorial tutorial @ George, forse potresti condividerli qui i link ... perché ho il caso simile per installare un ISO di Windows 8 in un computer vuoto a cui non è collegato DVDRom invece di una connessione LAN. : D
gumuruh,

Risposte:


11

Penso che tu voglia un mezzo per l'avvio di pxe da immagini ISO. Ho cercato un po 'e ho trovato questo articolo . Credo che il metodo dovrebbe funzionare per qualsiasi immagine ISO avviabile che potresti avere. Questo è un altro articolo simile .

Infine, sembra che questo articolo discute come eseguire questa operazione da un server PXE (Pre-boot eXecution Environment) eseguito da Windows.


@datatoo - prego, è stato un po 'egoistico - me lo sono chiesto prima di me stesso.
James T Snell,

@Uno dei grandi vantaggi nel rispondere alle domande è il processo di ricerca. Tendi a imparare cose, e questo va bene.
KCotreau,

Queste tecniche funzionano per qualsiasi ISO avviabile? Cioè un ISO di Windows? O funzionano solo per le distribuzioni di Linux?
AaronLS

@AaronLS - Non lo so, ma mi aspetto che funzioni per tutti i sistemi operativi di interfaccia BIOS. Sono meno sicuro di quelli EFI, ma potrei immaginare che quelli EFI generalmente funzionano ancora meglio per queste cose. Spero che qualcuno ci provi davvero e commenti!
James T Snell,

4

Sì, è molto possibile. Il tipo di sistema che puoi avviare dipenderà da come funziona il sistema stesso.

Di solito, troverai che sistemi molto semplici (come DOS o Win98) e sistemi molto complessi (come le moderne distribuzioni Linux) sono facilmente avviabili sulla rete.

Il modo per ottenere ciò sui due tipi di sistemi è molto diverso.

Vediamo in entrambi i modi in modo più dettagliato. Suppongo che tu abbia già una configurazione del server di avvio PXE ; se non lo fai, vai avanti e fallo, è abbastanza facile.

Sto anche ipotizzando una dnsmasqconfigurazione su un server Linux con il tftproot in /var/lib/tftpboot, ma dovresti essere in grado di adattare le istruzioni a qualsiasi altra configurazione.

Per sistemi semplici

Per i sistemi semplici, devi semplicemente caricare l'immagine (ISO) nella RAM e indurre il sistema a credere che sia un'unità reale. Questo viene fatto con un piccolo aiuto dal BIOS e un modulo software chiamato memdisk .

Il sistema che desideri caricare sulla rete è freedos:

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT freedos

LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso

È praticamente tutto. Le prime righe sono menu boilerplate; i bit importanti sono le ultime quattro righe: carica memdisk con la ISO data.

Per sistemi complessi

I sistemi moderni con elementi fantasiosi come una buona gestione della memoria e il corretto rilevamento dell'hardware praticamente ignorano tutto ciò che il BIOS ha da dire.

Questo rende memdiskpraticamente inutile l' approccio usato sopra, perché se hai caricato l'ISO in quel modo, una volta che il kernel è stato letto dall'ISO e caricato in memoria (questo viene fatto dal bootloader nell'ISO; i bootloader prestano attenzione al BIOS) , i dati ISO sarebbero spariti.

Cosa fai allora? Bene, in realtà non carichi l'ISO dalla rete, ma invece dici al sistema che può accedere ai file richiesti da lì.

Per i sistemi Linux, estrarre i contenuti ISO da qualche parte nel programma tftproot e caricare direttamente il kernel e initrd, quindi lasciarlo a loro per trovare il filesystem di root e montarlo.

Ecco un esempio usando l'incredibile System Rescue CD . In realtà ho estratto l'intero ISO sulla radice del server TFTP, perché si adatta perfettamente alla mia struttura di directory, quindi i kernel sono in/syslinux .

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

PROMPT 0
TIMEOUT 0

MENU DEFAULT sysrescd64

LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz

La parte più importante qui è la APPENDlinea. Vedi ilnetboot= alla fine? Ecco come il sistema operativo sa dove si trova il suo filesystem di root. La sintassi è <protocol>://<server>:<path>.

Avevo impostato comodamente un nome DNS pxe per il mio server. Se non lo hai, utilizzeresti un indirizzo IP per il server.

Inoltre, sysresccd è uno dei più semplici perché utilizza un'immagine di squashfs per il suo filesystem di root, che può essere facilmente scaricato e caricato nella RAM con qualsiasi metodo. Qui uso nbd; Puoi anche usare tftp, nfs e http .

Per altre distro, come Ubuntu, penso tu possa usare solo nfs.

Per i sistemi Windows è un po 'più complesso da fare . Lo schema è:

  • Avere un'installazione di Windows 7 in una cartella condivisa sul server
  • Avere un ambiente Windows PE completo sul server nella radice TFTP
  • Chiedi al computer client di caricare WinPE sulla rete e premi F12per ottenere un prompt dei comandi
  • Mappare la cartella condivisa con l'installazione di Windows 7 su una lettera di unità
  • Avviare l'installazione dalla cartella mappata

Non l'ho mai provato e sembra che non funzioni per alcune persone. Per le versioni NT precedenti a Vista penso che non sia nemmeno possibile. Per Windows pre-NT (95, 98, ME, ecc.) Puoi usare l'approccio memdisk, ma l'avvio di questi è dannoso per la tua salute :-p


3

I ultimo Deployment Appliance offre ciò che si richiede. La loro homepage descrive la sua funzionalità; è riformattato qui per comodità:


Cos'è Ultimate Deployment Appliance?

  • Installazioni del sistema operativo non presidiate (Windows, Linux, ESX, Solaris) tramite la configurazione della rete in pochi minuti!
  • Pubblica i tuoi strumenti preferiti di ripristino / manutenzione del sistema in rete!
  • Avvio PXE, Servizi di installazione remota, Kickstart, Jumpstart, Autoyast in una scatola!

Quando lo useresti?

  • Quando si tenta di installare un sistema che non ha un'unità CD-ROM, ma ha una scheda di rete (al giorno d'oggi laptop ultrasottili e simili non hanno un'unità ottica)
  • Quando è necessario installare un sistema operativo su diversi componenti hardware.
  • Quando devi installare sistemi e vuoi che le cose diventino automatizzate e riproducibili.
  • Quando vai a casa dei tuoi amici per riparare il suo computer, vuoi essere preparato. Invece di rimuovere tutte quelle cose indesiderate potresti anche ricominciare da capo. Porta il tuo sistema (laptop?), Collegalo al sistema incasinato con un cavo incrociato e inizia a reinstallare il sistema da zero completamente incustodito. Dirigiti verso il frigo ...
  • Quando è necessario eseguire la manutenzione del sistema senza la necessità di trasportare una pila di CD live.
  • Quando vuoi farlo senza pagare molti soldi per prodotti commerciali.

Come funziona?

  • Installazione automatica L'appliance monta un file ISO con una distribuzione del sistema operativo preferito e importa i file di avvio necessari (di rete). Crea un file di configurazione predefinito per l'installazione automatizzata e inizia a ospitare i file di distribuzione del sistema operativo per l'avvio di rete.
  • Pubblicazione degli strumenti di sistema I Live CD e altri strumenti vengono importati interamente nell'appliance Ultimate Deployment e pubblicati per l'avvio in rete tramite PXE.

UDA ha un canale YouTube , dove puoi trovare un video su di loro che installa Windows 7 come esempio dall'installazione all'interno di UDA a Windows completamente installato.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.