Root Identification Heuristics
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`:
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
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.