Root Identification Heuristics

Från Wiki.linux.se
Version från den 5 september 2024 kl. 05.57 av Admin (diskussion | bidrag)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

6.2 Heuristik för identifiering av rotpartition

Om målets operativsystem använder Linux-kärnan försöker `grub-mkconfig` identifiera rotsystemet via en heuristisk algoritm. Denna algoritm väljer identifieringsmetod för rotsystemet genom att överväga tre faktorer. Den första är om ett `initrd` för målets operativsystem också är närvarande. Den andra är variabeln `GRUB_DISABLE_LINUX_UUID`, och om den är satt till `true` förhindrar det att `grub-mkconfig` identifierar rotsystemet via dess UUID. Den tredje är `GRUB_DISABLE_LINUX_PARTUUID`, och om den är satt till `true` förhindrar det att `grub-mkconfig` identifierar rotsystemet via UUID för den omgivande partitionen. Om variablerna tilldelas något annat värde betraktas detta som motsvarande `false`. Variablerna anses också vara satta till `false` om de inte är inställda.

När Linux-kärnan startar delegerar den uppgiften att montera rotsystemet till `initrd`. De flesta `initrd`-bilder avgör vilket rotsystem som ska användas genom att kontrollera Linux-kärnans kommandorad efter nyckeln `root` och använder dess värde som identifieringsmetod för rotsystemet. För att förbättra startens tillförlitlighet tillåter de flesta `initrd`-bilder också att rotsystemet identifieras via dess UUID. På grund av detta beteende kommer kommandot `grub-mkconfig` att sätta `root` till `root=UUID=...` för att tillhandahålla rotsystemets UUID till `initrd`.

Om ingen `initrd` upptäcks eller om `GRUB_DISABLE_LINUX_UUID` är inställd på `true`, kommer `grub-mkconfig` att identifiera rotsystemet genom att sätta kärnkommandoradsvariabeln `root` till `root=PARTUUID=...`, såvida inte `GRUB_DISABLE_LINUX_PARTUUID` också är satt till `true`. Om `GRUB_DISABLE_LINUX_PARTUUID` också är inställd på `true`, kommer `grub-mkconfig` att identifiera rotsystemet via dess Linux-enhetsnamn.

Följande tabell sammanfattar beteendet hos kommandot `grub-mkconfig`:

Sammanfattningstabell för identifiering av rotsystem
Initrd upptäckt GRUB_DISABLE_LINUX_PARTUUID inställt på GRUB_DISABLE_LINUX_UUID inställt på Linux rotidentifieringsmetod
false false false part UUID
false false true part UUID
false true false enhetsnamn
false true true enhetsnamn
true false false fs UUID
true false true part UUID
true true false fs UUID
true true true enhetsnamn

Kom ihåg att `GRUB_DISABLE_LINUX_PARTUUID` och `GRUB_DISABLE_LINUX_UUID` också anses vara inställda på `true` och `false`, respektive, när de inte är satta.


Sidslut

Orginalhemsidan på Engelska :https://www.gnu.org/software/grub/manual/grub/html_node/Root-Identifcation-Heuristics.html#Root-Identifcation-Heuristics

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.