Käytän GRUB 2.00 -ohjelmaa Gentoo Linux -järjestelmässä.

Käännän omat ytimet manuaalisesti ja asennan ne sitten /boot ja make install. Minulla on tällä hetkellä seuraavat ytimet ryhmässä /boot:

# ls -1 /boot/vmlinuz* /boot/vmlinuz-3.7.4-gentoo-5 /boot/vmlinuz-3.7.4-gentoo-first /boot/vmlinuz-3.7.4-gentoo-fourth /boot/vmlinuz-3.7.4-gentoo-third 

Suoritettaessa grub2-mkconfig saadaan seuraava tulos:

# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.7.4-gentoo-third Found linux image: /boot/vmlinuz-3.7.4-gentoo-fourth Found linux image: /boot/vmlinuz-3.7.4-gentoo-first Found linux image: /boot/vmlinuz-3.7.4-gentoo-5 done 

Jos luin nyt tuloksena olevan /boot/grub2/grub.cfg -tiedoston, huomaan, että seuraavat merkinnät on luotu:

  • Pääoletusmerkintä, joka alkaa vmlinuz-3.7.4-gentoo-third
  • Alivalikko, jossa on kaikki muut merkinnät (mukaan lukien palautustiedot) samassa järjestyksessä kuin grub2-mkconfig komento

Ongelmana on, että käynnistyshetkellä haluan ladata oletuksena ytimen viidennen version (vmlinuz-3.7.4-gentoo-5), ei kolmas (vmlinuz-3.7.4-gentoo-third). En myöskään halua käyttää alivalikkoa valitaksesi oikean ytimen ladattavaksi.

Kuinka voin muuttaa tätä käyttäytymistä? Kuinka voin kertoa GRUB: lle, että haluan suorittaa oletuksena ytimen viides versio, enkä vanhempi kolmas versio? Kuinka voin yleensä muuttaa oletussyöttörivin vastaamaan haluamaasi ydintä eikä GRUBin valitsemaa näennäisesti satunnaista?

Yritin myös laittaa seuraavat rivit /etc/default/grub:

GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true 

Tämä ei korjaa ongelmaa haluamallani tavalla. Mutta ainakin GRUB näyttää muistan viimeisimmän ytimen, josta käynnistin ja valitsee sen automaattisesti alivalikosta. Se on vain, etten halua käyttää alivalikkoa.

Kommentit

  • Huomasin, että määritit -o /boot/grub2/grub.cfg lähtötiedostona. Onko hakemisto /boot/grub/ edelleen olemassa?

Vastaa

Valikkokohdan valitseminen alivalikosta ”Lisäasetukset” asettaa GRUB_DEFAULT = ”1> 3”. Voit nyt suorittaa grub2-mkconfig luodaksesi grub-määritystiedoston Seuraavassa uudelleenkäynnistyksessä vmlinuz-3.7.4-gentoo-5: n pitäisi käynnistyä.

Huomaa : Tämä ei muuta oletusarvoista merkintää grub-valikko, eli oletusarvo merkitsee edelleen samaa merkintää kuin sinulla on juuri nyt. Mutta oletuksena käynnistettävä kuva on ”Lisäasetukset” -kohdan 4. kuva. Jos haluat tehdä vmlinuz-3.7.4-gentoo-5: stä oletusasetuksen grub-valikossa, kuvien järjestyksen tulisi olla sellainen, että vmlinuz-3.7.4-gentoo-5: n tulisi olla ensimmäinen kuva, kun suoritat grub2-mkconfig .

Kommentit

  • Huomaa, että lainausmerkit ovat tärkeitä. Eli. GRUB_DEFAULT = 1 > 3 voitti ’ t.

Vastaa

Jos sinulla on alivalikko grub.cfg: ssä, käytä kaksi tällaista numeroa:

grub-reboot "1>3" 

ensimmäinen on valikkoindeksi ja toinen on alivalikkohakemisto .

Esimerkiksi viimeisen merkinnän käynnistämiseksi tällaisesta kokoonpanosta:

grep menu /boot/grub/grub.cfg menuentry "Debian GNU/Linux" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-simple-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { submenu "Advanced options for Debian GNU/Linux" $menuentry_id_option "gnulinux-advanced-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { menuentry "Debian GNU/Linux, with Linux 4.6.0-0.bpo.1-amd64" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-4.6.0-0.bpo.1-amd64-advanced-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { menuentry "Debian GNU/Linux, with Linux 4.6.0-0.bpo.1-amd64 (sysvinit)" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-4.6.0-0.bpo.1-amd64-init-sysvinit-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { menuentry "Debian GNU/Linux, with Linux 4.6.0-0.bpo.1-amd64 (recovery mode)" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-4.6.0-0.bpo.1-amd64-recovery-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { menuentry "Debian GNU/Linux, with Linux 3.16.0-4-amd64" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-3.16.0-4-amd64-advanced-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { menuentry "Debian GNU/Linux, with Linux 3.16.0-4-amd64 (sysvinit)" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-3.16.0-4-amd64-init-sysvinit-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { menuentry "Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery mode)" --class debian --class gnu-linux --class gnu --class os $menuentry_id_option "gnulinux-3.16.0-4-amd64-recovery-1ffa16a9-fda2-43b5-91b9-c91a08ff190f" { 

sinun tulisi käyttää:

grub-reboot "1>5" 

ja käynnistä uudelleen.

Kommentit

  • Outoa. alivalikon hakemisto alkaa 0: lla, kun taas päävalikko 1: stä

Vastaa

voit käyttää myös GRUB_DEFAULT=saved. Tässä tapauksessa käytät

$ grub2-set-default -h Usage: grub2-set-default [OPTION] MENU_ENTRY Set the default boot menu entry for GRUB. -h, --help print this message and exit -v, --version print the version information and exit --boot-directory=DIR expect GRUB images under the directory DIR/grub2 instead of the /boot/grub2 directory MENU_ENTRY is a number, a menu item title or a menu item identifier. 

tai jos se on vain seuraavaa käynnistystä varten:

$ grub2-reboot -h Usage: grub2-reboot [OPTION] MENU_ENTRY Set the default boot menu entry for GRUB, for the next boot only. -h, --help print this message and exit -v, --version print the version information and exit --boot-directory=DIR expect GRUB images under the directory DIR/grub2 instead of the /boot/grub2 directory MENU_ENTRY is a number, a menu item title or a menu item identifier. 

Vastaa

Centos7 (tai RHEL7) ja grub2:

grub käyttää grubenv: n ”saved_entry” -merkintää oletuksena käynnistyksenä, koodinpätkä tiedostosta /boot/grub2/grub.cfg:

if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi 

tarkistaaksesi mikä on ”saved_entry” on nyt minun rakenteeni:

grub2-editenv list 

saved_entry=CentOS Linux (3.10.0-693.2.2.el7.ari.x86_64) 7 (Core)

vaihtaaksesi sen esim. Virheenkorjausrakenteeseen:

grub2-editenv - set saved_entry="CentOS Linux 3.10.0-693.2.2.el7.ari.x86_64.debug) 7 (Core)" 

Vastaa

Yritä

mkdir -p /boot/grub/backup mv -v /boot/grub/vmlinuz-3.7.4-gentoo-{first,third,fourth} /boot/grub/backup 

Tämä siirtää kaikki käyttämättömät ytimesi nyt varmuuskopiohakemistoon:

grub2-mkconfig -o /boot/grub/grub.cfg 

Tämä lisää vain valikkoon r5. Kun olet tehnyt niin, lue tämä tämä -linkki ja kirjoita sitten kaikki varmuuskopiohakemiston ytimet muuhun kuin vmlinuziin, jos vaadit niiden säilyttämistä.

vastaus

Mitä tein saavuttaakseni halutun tuloksen, oli ollut:

  • määritä GRUB_DEFAULT=saved kuten grub-set-default -ohjeessa

    grub-set-default Menu entry not specified. Usage: grub-set-default [OPTION] MENU_ENTRY Set the default boot menu entry for GRUB. This requires setting GRUB_DEFAULT=saved in /etc/default/grub. -h, --help print this message and exit -V, --version print the version information and exit --boot-directory=DIR expect GRUB images under the directory DIR/grub instead of the /boot/grub directory MENU_ENTRY is a number, a menu item title or a menu item identifier.

  • Aseta oletusarvo

    grub-set-default "1>2"

    Se luo uuden tiedoston kansioon / boot / grub nimeltä grubenv tarvittavien tietojen kanssa.

  • Luo sen jälkeen määritystiedosto uudelleen

    grub-mkconfig > /boot/grub/grub.cfg

Ja olen nähnyt, että kokoonpano on muutettu käyttämään tallennettua tilaa:

if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi

Vastaa

Voit asettaa oletusvalinnan numeerisella arvolla. Jos asetat

`GRUB_DEFAULT=3` 

/etc/default/grub
Oletusasetuksena on gentoo-5-merkintä.
GRUB_DEFAULT on nollapoikkeama, joten 3 valitsee neljäs merkintä haluamallasi tavalla.

Kommentit

  • En tiedä miksi, mutta se ei tiedä miksi näyttää siltä, että se ’ ei toimi. Asetin GRUB_DEFAULT=3 kuten sanoit, ja suoritan sitten grub2-mkconfig. Mutta käynnistyshetkellä oletusarvo on edelleen vmlinuz-3.7.4-gentoo-third.
  • Yritä kommentoida GRUB_SAVEDEFAULT=true Sen ei pitäisi olla ’ t on merkitystä, mutta sitä ei tarvita numerolla ’ rical.
  • Minulla ’ ei ole tätä vaihtoehtoa /etc/default/grub -tiedostossa.

Vastaus

Epäilen, että grub2-mkconfig lajittelee ytimet päinvastaisessa järjestyksessä olettaen, että ensisijaisesti sisältää monotonisesti kasvavia versioita. Aloita siis tagien valitseminen sopimukseen sopiviksi.

Vastaa

ubuntu:

sudo grub-pc 

grub-pc antaa sinun valita minkä valikon.

sudo update-grub 

katso: https://askubuntu.com/questions/384388/how-to-select-option-in-configuration-grub-pc-menu

Vastaa

mv ne uudet / käyttämättömät versiotiedostot /boot varmuuskopiohakemistoon, esimerkiksi /boot/back

initrd.img-3.13.0-xx-generic vmlinuz-3.13.0-xx-generic config-3.13.0-xx-generic System.map-3.13.0-xx-generic 

Käynnistä järjestelmä uudelleen pelastustilaan ja valitse sitten grub pelastusvalintaikkunasta, niin kaikki on kunnossa.

Se on mielestäni sopivin tapa. Käytän ubuntua 14.04.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *