Jotkut verkossa löydetyt esimerkit sanovat, että update-grub on suoritettava grub-installin jälkeen. Toiset kääntävät järjestyksen. Mikä on oikein?
Jos minulla on kaksi Linux-asennusta (yksi sda: lla ja toinen sdb: llä), jos suoritan update-grub: n sda-asennuksessa, se sijoittaa sda-asennuksen käynnistyksen yläosaan valikossa. Jos suoritan update-grub -palvelun sdb-asennuksessa, se sijoittaa sdb-asennuksen valikon yläosaan.
Olettaen, että DEFAULT = 0, tämän pitäisi teoriassa antaa minun valita käyttöjärjestelmäni valitsemalla käynnistyslaite BIOSissa. Muuttaako ”grub-install / dev / sda” sda-käynnistysvalikon vastaamaan edellistä ”update-grub” -toimintoa riippumatta siitä, onko se suoritettu Linuxin SDA- tai SDB-versiosta?
Vastaus
 update-grub, ainakin Debianissa ja sen sukulaisissa, kuten Ubuntu, on pohjimmiltaan vain kääre grub-mkconfig. Joten se luo / päivittää / uudistaa GRUB  -määrityksen , ei varsinaista käynnistyslatainta. 
 Se, mitä grub-install todella tekee, riippuu siitä, mikä käyttämäsi GRUB-versio: perinteinen BIOS GRUB tai UEFI GRUB? 
 Perinteisellä BIOS-GRUB: lla grub-install kirjoittaa (uudelleenkäynnistää) pääkäynnistystietueeseen upotetun GRUB-osan ja koodaa siihen fyysisen levylohkon numerot mistä lukea seuraava GRUB-osa. Se määrittää myös, mistä osiosta todellinen GRUB-määritystiedosto (/boot/grub/grub.cfg) luetaan. Tärkeä tekijä tässä on /boot/grub/device.map -tiedosto, joka kertoo GRUB: lle, kuinka BIOSin (ja siten GRUB: n) laitteiden numerointi yhdistyy Linux-levykkeisiin. 
 Kanssa UEFI GRUB, GRUB-käynnistyslataimen pääosa sijaitsee tiedostona EFI-järjestelmäosiossa, tyypillisesti nimellä /boot/efi/EFI/<name of distribution>/grubx64.efi tai vastaava. Tämä käynnistyslataimen polun nimi tallennetaan järjestelmän NVRAM-muistiin (= paikka, johon BIOS-asetukset tallennetaan) UEFI-käynnistysmuuttujiin. GRUB: n pääosa voi olla täysin itsenäinen (ja sen on oltava, jos suojattu käynnistys on käytössä!) Tai se voi ladata lisätoimintoja GRUB-moduuleina, tyypillisesti hakemistosta /boot/grub Linux-jakelu, johon se kuuluu. 
 UEFI-käynnistysmuuttujat tunnistavat levyn, jota järjestelmän tulisi käyttää etsimään EFI-järjestelmäosiota ja sen sisällä olevaa käynnistyslataustiedostoa. Voit tarkastella näitä muuttujia itse käyttämällä efibootmgr -v -komento. grub-install -komento päivittää nämä muuttujat, ellet käytä vaihtoehtoa --no-nvram Määritä muuten. 
 Tämän seurauksena sekä perinteisellä BIOS: lla että UEFI: llä grub-install -sovelluksen suorittaminen voi päivittää käynnistyslataimen lukemaan aivan toisen GRUB-määritystiedoston kokonaan eri levy – vaikkakin prosessin yksityiskohdat ovat täysin erilaiset. 
 UEFI: n avulla voit itse muuttaa käynnistyslaitteen valintaa käyttöjärjestelmän sisällä joko efibootmgr tai grub-install. Mutta grub-install on massiivinen ylivoima sitä varten: jos molemmat asennuksesi ovat UEFI ja niillä on omat erilliset ESP-osionsa, niillä on omat UEFI-käynnistysmuuttujansa ja niiden välillä valinta voidaan tehdä helposti efibootmgr -kohdassa tai UEFI BIOS -asetuksissa. 
 Perinteisessä BIOSissa se on bittisempi: haluat varmistaa, että jokainen asennus /boot/grub/device.map tunnistaa kyseisen asennuksen levyn nimellä hd0 ja toisen nimellä hd1 . Käytä sitten grub-install -näppäintä kirjoittaaksesi käynnistyslataimen vain kunkin asennuksen omalle levylle; koskaan ”vastakkaiselle” levylle. Tällä tavoin molemmat levyt ovat täysin erillisiä ja käynnistettävissä, vaikka toinen levy olisi kokonaan poistettu. Voit lisätä jokaisen GRUB: n määritystiedostoihin valikkokohdan, jonka avulla voit käynnistää ”vastakkaisen” asennuksen, jos haluat. Tai voit vain käyttää BIOSia valitaksesi levyn, josta käynnistetään. 
 Asia, joka sinun on tiedettävä, että perinteisten BIOS: ien käynnistysjärjestysvalitsin toimii yleensä tekemällä levyn valituksi käynnistämään ”ensimmäinen” levy BIOS-toiminnoille, joten GRUB ”s hd0 viittaa aina” levylle, joka on tällä hetkellä valittu käynnistettäväksi BIOSissa ”. 
 Joten jos olet Käynnistetään tällä hetkellä osoitteesta /dev/sda (joten BIOS sanoo, että sda on hd0) ja haluat Tämän levyn GRUB-valikkokohta siirtyäksesi /dev/sdb ”käynnistysvalikkoon, käytät jotain seuraavista: 
menuentry "Switch to /dev/sdb" { # flip the disk mappings and reload configuration drivemap -s (hd0) (hd1) set root=<the identifier for sdb"s partition that contains grub.cfg> configfile /boot/grub/grub.cfg # or just /grub/grub.cfg is /boot is a separate partition } 
… ja vastaavasti myös / dev / sdb: n GRUB-määrityksissä.
Kommentit
. Se voi tosiasiallisesti suorittaa update-grub sinulle osana työtä – jos se ei ' t, voit sitten suorittaa sen itse jälkikäteen. 
grub-installasentaa GRUB: n binaariosat,update-grubtuottaa vain määritystiedoston. Jos sinun on asennettava GRUB kokonaan uudelleen, sanon ensin