Czy możliwe jest uruchomienie z ISO przez sieć i jak?

31

Mam na nim maszynę z bootowalnym ISO i mam inną pustą maszynę, na której chcę zainstalować ISO. Oba są w tej samej sieci LAN (podłączonej do tego samego przełącznika). Jak miałbym zacząć ładować czystą maszynę z ISO zapisanego na moim głównym komputerze?

George Kontridze
źródło
jeśli masz kroki instruktażowe @George, być może mógłbyś udostępnić je tutaj linki ... bo mam podobny przypadek instalacji ISO systemu Windows 8 na pustym komputerze, do którego nie jest podłączony dysk DVDRom, a jedynie połączenie LAN. : D
gumuruh

Odpowiedzi:

11

Myślę, że potrzebujesz sposobu uruchamiania systemu pxe z obrazów ISO. Szukałem trochę i znalazłem ten artykuł . Uważam, że ta metoda powinna działać dla każdego rozruchowego obrazu ISO. To kolejny podobny artykuł .

Wreszcie wydaje się, że w tym artykule opisano, jak to zrobić z serwera PXE (Pre-boot eXecution Environment) uruchamianego z systemu Windows.

James T. Snell
źródło
@datatoo - nie ma za co, to było trochę samolubne - zastanawiałem się nad tym przed sobą.
James T Snell
@ Jedną z wielkich zalet odpowiedzi na pytania jest proces badawczy. Zwykle uczysz się różnych rzeczy i to dobrze.
KCotreau
Czy te techniki działają w przypadku rozruchowego ISO? Czyli ISO systemu Windows? A może działają tylko w przypadku dystrybucji linuksa?
AaronLS,
@AaronLS - nie wiem, ale spodziewam się, że zadziała dla wszystkich systemów operacyjnych z interfejsem BIOS. Nie jestem pewien co do EFI, ale mogę sobie wyobrazić, że EFI ogólnie działają jeszcze lepiej w tym przypadku. Mam nadzieję, że ktoś faktycznie spróbuje tego i komentuje!
James T Snell,
4

Tak, to bardzo możliwe. Typ systemu, który można uruchomić, zależy od tego, jak działa ten system.

Zazwyczaj przekonasz się, że bardzo proste systemy (takie jak DOS lub Win98) i bardzo złożone systemy (takie jak współczesne dystrybucje Linuksa) można łatwo uruchomić przez sieć.

Sposób osiągnięcia tego na dwóch typach systemów jest bardzo różny.

Zobaczmy obie strony bardziej szczegółowo. Zakładam, że masz już konfigurację serwera rozruchowego PXE ; jeśli tego nie zrobisz, zrób to, to całkiem proste.

Zakładam również dnsmasqkonfigurację na serwerze Linux z włączonym tftproot /var/lib/tftpboot, ale powinieneś być w stanie dostosować instrukcje do dowolnej innej konfiguracji.

Dla prostych systemów

W przypadku prostych systemów wystarczy załadować obraz (ISO) do pamięci RAM i oszukać system, że jest to rzeczywista jednostka. Odbywa się to z niewielką pomocą BIOS-u i modułu oprogramowania o nazwie memdisk .

System, który chcesz załadować przez sieć, to 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

To właściwie tyle. Pierwsze kilka wierszy to płyta menu; ważnymi bitami są ostatnie cztery linie: załaduj pamięć z danym ISO.

Do złożonych systemów

Nowoczesne systemy z fantazyjnymi funkcjami, takimi jak dobre zarządzanie pamięcią i odpowiednie wykrywanie sprzętu, ignorują wszystko, co ma do powiedzenia BIOS.

To sprawia, że memdiskpowyższe podejście jest prawie bezużyteczne, ponieważ jeśli załadowałeś ISO w ten sposób, po odczytaniu jądra z ISO i załadowaniu do pamięci (robi to bootloader w ISO; bootloadery zwracają uwagę na BIOS) , dane ISO zniknęłyby.

Co wtedy robisz Cóż, tak naprawdę nie ładujesz ISO z sieci, ale zamiast tego mów systemowi, że może uzyskać dostęp do wymaganych plików z tego miejsca.

W przypadku systemów Linux rozpakuj zawartość ISO gdzieś w tftproot i załaduj jądro i initrd bezpośrednio, a następnie pozostaw to im, aby znaleźć główny system plików i zamontować go.

Oto przykład użycia niesamowitej płyty CD Rescue System . Właściwie wyodrębniłem cały ISO do katalogu głównego serwera TFTP, ponieważ jest on zgodny z moją strukturą katalogów, więc jądra są włączone /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

Najważniejszy jest tutaj APPENDwiersz. Widzisz netboot=na końcu? W ten sposób system operacyjny wie, gdzie jest jego główny system plików. Składnia jest następująca <protocol>://<server>:<path>.

Dogodnie ustawiłem nazwę DNS pxedla mojego serwera. Jeśli go nie masz, użyłbyś adresu IP dla serwera.

Ponadto sysresccd jest jednym z najłatwiejszych, ponieważ wykorzystuje obraz squashfs dla swojego głównego systemu plików, który można łatwo pobrać i załadować do pamięci RAM dowolną metodą. Tutaj używam nbd; możesz także użyć tftp, nfs i http .

W przypadku innych dystrybucji, takich jak Ubuntu, myślę, że możesz używać tylko NFS.

W przypadku systemów Windows jest to nieco bardziej skomplikowane . Zarys jest następujący:

  • Zainstaluj system Windows 7 w folderze udostępnionym na serwerze
  • Posiadaj pełne środowisko Windows PE na serwerze w swoim katalogu głównym TFTP
  • Poproś komputer kliencki, aby załadował WinPE przez sieć i naciśnij, F12aby uzyskać wiersz polecenia
  • Zamapuj folder współdzielony z instalacją systemu Windows 7 na literę dysku
  • Rozpocznij instalację z zmapowanego folderu

Nigdy tego nie próbowałem i wydaje się, że u niektórych osób to nie działa. Dla wersji NT starszych niż Vista myślę, że to nawet nie jest możliwe. W systemach Windows starszych niż Windows (95, 98, ME itp.) Możesz użyć metody memdisk, ale uruchomienie ich jest szkodliwe dla zdrowia :-p

GnP
źródło
3

W Ostateczny Wdrożenie Appliance oferuje to, czego potrzebują. Ich strona główna opisuje jej funkcjonalność; dla wygody sformatowano go tutaj:


Co to jest Ultimate Deployment Appliance?

  • Nienadzorowane instalacje systemu operacyjnego (Windows, Linux, ESX, Solaris) w konfiguracji sieci w kilka minut!
  • Opublikuj swoje ulubione narzędzia do odzyskiwania / konserwacji systemu przez sieć!
  • Uruchamianie PXE, usługi instalacji zdalnej, Kickstart, Jumpstart, Autoyast w pudełku!

Kiedy tego użyjesz?

  • Kiedy próbujesz zainstalować system, który nie ma napędu CD-ROM, ale ma kartę sieciową (obecnie ultracienkie laptopy i takie nie mają napędu optycznego)
  • Gdy musisz zainstalować system operacyjny na różnych elementach sprzętu.
  • Kiedy musisz zainstalować systemy i chcesz, aby wszystko poszło zautomatyzowane i odtwarzalne.
  • Kiedy idziesz do domu znajomych, aby naprawić jego / jej komputer, chcesz być przygotowany. Zamiast usuwać wszystkie niechciane rzeczy, możesz równie dobrze zacząć od nowa. Przynieś własny system (laptop?), Podłącz go do popsutego systemu za pomocą kabla krzyżowego i zacznij ponownie instalować system od zera całkowicie bez nadzoru. Skieruj się do lodówki ...
  • Gdy musisz przeprowadzić konserwację systemu bez konieczności noszenia stosu płyt CD na żywo.
  • Gdy chcesz to zrobić, nie płacąc dużo pieniędzy za produkty komercyjne.

Jak to działa?

  • Instalacja nienadzorowana Urządzenie montuje plik ISO z dystrybucją ulubionego systemu operacyjnego i importuje niezbędne (sieciowe) pliki rozruchowe. Tworzy domyślny plik konfiguracyjny dla instalacji automatycznej i rozpoczyna hosting plików dystrybucyjnych systemu operacyjnego do rozruchu sieciowego.
  • Publikowanie narzędzi systemowych Live CD i inne narzędzia są importowane całkowicie do urządzenia Ultimate Deployment i są publikowane w celu rozruchu przez sieć za pośrednictwem PXE.

UDA ma kanał YouTube , na którym można znaleźć film z nich instalujący system Windows 7 jako przykład od konfiguracji w ramach UDA do systemu Windows całkowicie zainstalowanego.

JavaRocky
źródło