Booting GRUB from the network

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Följande instruktioner fungerar inte för *-emu, i386-qemu, i386-coreboot, i386-multiboot, mips_loongson, mips-arc och mips_qemu_mips.

För att generera en nätverksstartbar katalog, kör:

grub-mknetdir --net-directory=/srv/tftp --subdir=/boot/grub -d /usr/lib/grub/<plattform>

Exempel för i386-pc:

grub-mknetdir --net-directory=/srv/tftp --subdir=/boot/grub -d /usr/lib/grub/i386-pc

Följ sedan instruktionerna som skrivs ut av grub-mknetdir för att konfigurera din DHCP-server. Filen grub.cfg placeras i samma katalog som sökvägen som ges av grub-mknetdir, härmed kallad FWPATH. GRUB kommer att söka efter sina konfigurationsfiler i ordning enligt följande regler där det tillagda värdet motsvarar ett värde på klientmaskinen.

  • '(FWPATH)'/grub.cfg-'(UUID OF MACHINE)'
  • '(FWPATH)'/grub.cfg-'(MAC ADDRESS OF NIC)'
  • '(FWPATH)'/grub.cfg-'(IPv4 OR IPv6 ADDRESS)'
  • '(FWPATH)'/grub.cfg

UUID är klientmaskinidentifierarens optionsdefinition som specificeras i RFC 4578. Klienten kommer endast att försöka hämta en UUID-konfigurationsfil om den har tillhandahållits av DHCP-servern.

Klienten kommer endast att försöka hämta en IPv6-adresskonfiguration en gång, men den kommer att försöka med IPv4 flera gånger. Det konkreta exemplet nedan visar vad som skulle hända under IPv4-fallet.

UUID: 7726a678-7fc0-4853-a4f6-c85ac36a120a
MAC: 52:54:00:ec:33:81
<IPv4: 10.0.0.130 (0A000082)
  • '(FWPATH)'/grub.cfg-7726a678-7fc0-4853-a4f6-c85ac36a120a
  • '(FWPATH)'/grub.cfg-52-54-00-ec-33-81
  • '(FWPATH)'/grub.cfg-0A000082
  • '(FWPATH)'/grub.cfg-0A00008
  • '(FWPATH)'/grub.cfg-0A0000
  • '(FWPATH)'/grub.cfg-0A000
  • '(FWPATH)'/grub.cfg-0A00
  • '(FWPATH)'/grub.cfg-0A0
  • '(FWPATH)'/grub.cfg-0A
  • '(FWPATH)'/grub.cfg-0
  • '(FWPATH)'/grub.cfg

Denna funktion är aktiverad som standard men kan inaktiveras genom att ställa in 'feature_net_search_cfg' till 'n'. Eftersom detta sker innan konfigurationsfilen läses av GRUB, måste detta alternativ inaktiveras i en inbäddad konfigurationsfil (se Inbäddad konfiguration).

Efter att GRUB har startat kommer filer på TFTP-servern att vara tillgängliga via enheten '(tftp)'.

Serverns IP-adress kan kontrolleras genom att ändra enhetsnamnet '(tftp)' till '(tftp,server-ip)'. Observera att detta bör ändras både i prefixet och i eventuella referenser till enhetsnamnet i konfigurationsfilen.

GRUB tillhandahåller flera miljövariabler som kan användas för att inspektera eller ändra beteendet hos PXE-enheten. I följande beskrivning är <interface> en platsinnehavare för namnet på nätverksgränssnittet (plattformsberoende):

  • 'net_<interface>_ip' - Nätverksgränssnittets IP-adress. Skrivskyddad.
  • 'net_<interface>_mac' - Nätverksgränssnittets MAC-adress. Skrivskyddad.
  • 'net_<interface>_clientid' - Klient-ID tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_clientuuid' - Klientens UUID tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_hostname' - Klientens värdnamn tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_domain' - Klientens domännamn tillhandahållit av DHCP. Skrivskyddad.
  • 'net_<interface>_rootpath' - Sökvägen till klientens rotdisk tillhandahållen av DHCP. Skrivskyddad.
  • 'net_<interface>_extensionspath' - Sökvägen till ytterligare DHCP-leverantörstillägg tillhandahållen av DHCP. Skrivskyddad.
  • 'net_<interface>_boot_file' - Startfilens namn tillhandahållet av DHCP. Skrivskyddad.
  • 'net_<interface>_dhcp_server_name' - Namnet på DHCP-servern ansvarig för dessa startparametrar. Skrivskyddad.
  • 'net_<interface>_next_server' - IP-adressen till nästa (vanligtvis TFTP) server tillhandahållen av DHCP. Skrivskyddad.
  • 'net_default_interface' - Ursprungligen inställt på namnet på nätverksgränssnittet som användes för att ladda GRUB. Lässkriv, även om inställning endast påverkar tolkningen av 'net_default_ip' och 'net_default_mac'
  • 'net_default_ip' - IP-adressen för standardgränssnittet. Skrivskyddad. Detta är alias för 'net_${net_default_interface}_ip'.
  • 'net_default_mac' - Standardgränssnittets MAC-adress. Skrivskyddad. Detta är alias för 'net_${net_default_interface}_mac'.
  • 'net_default_server' - Standardservern som används av nätverksenheterna (se Enhetssyntax). Lässkriv, även om inställning endast är användbar innan en nätverksenhet öppnas.

13 Filsystemsyntax och semantik

GRUB använder en speciell syntax för att specificera diskdrivenheter som kan nås av BIOS. På grund av BIOS-begränsningar kan GRUB inte skilja mellan IDE, ESDI, SCSI, eller andra. Du måste själv veta vilken BIOS-enhet som motsvarar vilken OS-enhet. Normalt sett blir detta tydligt om du ser filerna i en enhet eller använder kommandot search (se search).

Enhetsyntax

Hur man specifierar enheter.

Filnamnsyntax

Hur man specifierar filer.

Blocklistsyntax

Hur man specifierar blocklistor.


Sidslut

Orginalhemsidan på Engelska :https://www.gnu.org/software/grub/manual/grub/html_node/Network.html#Network

GNU GRUB Manual


Det här är en maskinöversättning av GNU-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Stockholm som har sponsrat Linux.se med webserver.