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
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
kutengrub-set-default
-ohjeessagrub-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 sittengrub2-mkconfig
. Mutta käynnistyshetkellä oletusarvo on edelleenvmlinuz-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.
-o /boot/grub2/grub.cfg
lähtötiedostona. Onko hakemisto/boot/grub/
edelleen olemassa?