GRUB2 migráció

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page GRUB2 Migration and the translation is 100% complete.

Ez az útmutató utasításokat tartalmaz a GRUB Legacy bootloaderről a GRUB bootloaderre történő zökkenőmentes áttéréshez.

Háttér

Mi az a GRUB?

A GRUB az egyik leggyakrabban használt boot loader (operációs rendszert rendszerbetöltő) a nem-beágyazott Linux számítógépeken. A GRUB szerepe az, hogy lehetővé tegye a Linux kernel számára a betöltődést az adatóhordozóról a munkamemóriába, és elindítsa onnan a Linux kernel végrehajtódását.

Miért érdemes áttérni rá?

Először is, a GRUB Legacy már nincs karbantartva, így a hivatalos fejlesztőktől már nem kap több frissítést. A GRUB Legacy-t olyan időszakban hozták létre, amikor a fejlesztők több olyan feltételezést biztonságosnak tartottak, amelyek ma már nem állják meg a helyüket. Például a GRUB Legacy nem képes 2 TiB méretűnél nagyobb adathordozókról elindulni, és nem képes azt feltételezi, hogy újabb fájlrendszerek felváltják a /boot könyvtárat.

A GRUB2 célja, hogy robusztusabb, hordozhatóbb és erősebb legyen, továbbá tisztább kódbázissal rendelkezzen. A GRUB2 több hardverbeállítást, több fájlrendszert és több adathordozó-elrendezést támogat, mint az elődje.

Migrálás a GRUB2-re

Áttérni a GRUB2-re meglehetősen egyszerű folyamat: A szoftvercsomag-kezelő részeként a szokásos frissítési folyamat során automatikusan be fog kerülni a frissítésbe. Ha nem kerül be automatikusan, akkor bármikor telepíteni lehet a sys-boot/grub:2 szoftvercsomagatom segítségével.

root #emerge --ask sys-boot/grub:2

Boot adathordozó

Az első fontos lépés, hogy megértsük, melyik adathordozó a bootolható. Azok számára, akik követték a Gentoo kézikönyvet, ennek a meghajtónak /dev/sda (újabb számítógépeken /dev/nvme0n1) adathordozónak kell lennie. Azok számára, akik bizonytalanok, a legegyszerűbb módja annak, hogy ezt megállapítsák, az a meglévő GRUB Legacy beállítás áttekintése. A /boot/grub/grub.conf fájl megtekintése az elsődleges hely, ahol ellenőrizni lehet.

Note
Győződjön meg arról, hogy a /boot partíció fel van csatolva a fájlrendszerbe, hogy meg tudja tekinteni ezeket a fájlokat. Ennek olyan egyszerűnek kell lennie, mint:
root #mount /boot

A grub.conf fájl valahogy így fog kinézni:

FILE /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
  
title Gentoo Linux 3.2.12
root (hd0,0)
kernel /boot/kernel-3.2.12-gentoo root=/dev/sda3 quiet dolvm
initrd /boot/initramfs-genkernel-x86_64-3.2.12-gentoo

A fenti fájl alapján megállapítható, hogy a (hd0) a boot adathordozó, de ezt egy valós adathordozóhoz kell hozzárendelni. Ennek megállapításához nézze meg a /boot/grub/device.map fájlt. Egy példa található az alábbiakban.

FILE /boot/grub/device.map
(fd0) /dev/fd0
(hd0) /dev/sda
(hd1) /dev/sdb
Note
Ha Ön azt feltételezi, hogy a /boot/grub/device.map fájl nem pontos, akkor futtassa a következő parancsot a fájl újbóli legenerálásához:
root #grub-install --recheck /dev/sda

A fenti fájl alapján tudjuk, hogy a /dev/sda a boot adathordozó.

GRUB2 telepítése és beállítása

A következő lépés a GRUB2 telepítése és beállítása a /boot partícióhoz anélkül, hogy eltávolítanánk a GRUB Legacy-t az adathordozónak a Master Boot Record-jából (MBR). Az alábbi példa a /dev/sda adathordozót használja — cserélje ki a megfelelő boot adathordozónak az elérési útjára.

Először telepítse a szükséges GRUB2 fájlokat a /boot/grub könyvtárba.

root #grub-install --grub-setup=/bin/true /dev/sda
Installation finished. No error reported.
Warning
A --grub-setup=/bin/true opció azt mondja a grub-install parancsnak, hogy ne telepítse a GRUB2-t az MBR-be. Ha ezt az opciót kihagyjuk, akkor a GRUB Legacy felülíródik, és a későbbi GRUB2 láncindítás a GRUB Legacy-ből a beállítás teszteléséhez nem lesz lehetséges.

A most rendelkezésre álló kernelek szkennelésével elkészíthetünk egy megfelelő beállításfájlt a /boot/grub/grub.cfg számára. Ezt a lépést kihagyhatja, ha kézi beállítást használ.

root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/kernel-3.2.12-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.2.12-gentoo
done
Warning
A GRUB2 a /boot/grub/grub.cfg beállításfájlt használja, míg a GRUB Legacy a /boot/grub/grub.conf beállításfájlt használta. Ezért ügyeljen arra, hogy véletlenül ne használja a régi fájlt, például tab-kiegészítéssel, ha a régi fájl még mindig ott tartózkodik a helyén.
Note
A grub-mkconfig szigorú elnevezési követelményeket támaszt a kernelek és az initramfs képfájlok számára. Egy kernelnek a neve kernel-${version} vagy vmlinuz-${version} kell, hogy legyen, míg egy initramfs képfájlnak a neve initramfs-${version}.img, initramfs-genkernel-${version}, initramfs-genkernel-${arch}-${version}, initrd-${version}.img, initrd.img-${version}, initrd-${version}.gz, vagy initrd-${version} lehet. Ezeknek a fájloknak a /boot könyvtárban kell elérhetőknek lenniük.
Note
A /etc/default/grub fájl vezérli a grub-mkconfig működését. Ha paramétereket kell továbbítani a kernel számára (például genkernel használata esetén, vagy amikor LVM-ről vagy szoftveres RAID-ről bootolunk), akkor a fájlt szerkessze meg, mielőtt létrehozná a /boot/grub/grub.cfg fájlt, az alábbi módon:
root #nano /etc/default/grub
Tekintse meg a Gentoo Wiki GRUB beállítás leírást vagy az hivatalos GRUB2 kézikönyvet, hogy eldönthesse, hogyan módosítsa a fájlt. A legtöbb felhasználónak módosítania kell a GRUB_CMDLINE_LINUX értékét, hogy megadja a kernel parancssorára továbbítandó paramétereket.

GRUB2 láncindítása a GRUB Legacy-ből a beállítás teszteléséhez

Mivel egy rosszul beállított GRUB beállítás indíthatatlan operációs rendszert eredményezhet, ezért tesztelni szeretnénk a GRUB2 beállítását, mielőtt azt véglegesítenénk. Ehhez a GRUB2-t a GRUB Legacy-ből láncindítással kell elindítani. Ez úgy történik, hogy egy új szekciót adunk hozzá a /boot/grub/grub.conf fájlhoz. Az alábbiakban látható egy példa.

Note
Vegye figyelembe, hogy a root partíció eltérhet a példában használt (hd0,0) partíciótól, és győződjön meg arról, hogy ugyanazt a root értéket használja, mint a /boot/grub/grub.conf beállításfájlban megadott érték esetében.
FILE /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
  
title GRUB2 Chainload
root (hd0,0)
kernel /boot/grub/i386-pc/core.img
boot
  
title Gentoo Linux 3.2.12
root (hd0,0)
kernel /boot/kernel-3.2.12-gentoo root=/dev/sda3 quiet dolvm
initrd /boot/initramfs-genkernel-x86_64-3.2.12-gentoo

Ezen a ponton a számítógépet újra kell indítani, és a GRUB2 Chainload lehetőséget kell kiválasztani a GRUB menüben, amikor a számítógép elkezd bootolni. Egy másik GRUB menü fog megjelenni, amelynek a tetején GRUB 2.0.0 vagy attól magasabb verziószám kell hogy látszódjon, és meg kell jelenítenie az elérhető kerneleket az bootoláshoz. Ha ez nem működik, akkor egyszerűen indítsa újra az számítógépet, és válassza a normál boot opciót a GRUB2 Chainload helyett.

GRUB Legacy lecserélése és eltávolítása

Ha minden sikeresen működött, akkor cserélje le a GRUB Legacy bootladert, és távolítsa el az operációs rendszerről.

Warning
Mivel az operációs rendszer újra lett indítva, lehet, hogy a /boot partíciót újra fel kell csatolni. Győződjön meg arról, hogy a megfelelő boot adathordozó elérési utat használja a /dev/sda helyett, mivel ez csak egy példa. Ha a /boot nincs felcsatolva a grub-install futtatása előtt, akkor az operációs rendszer indíthatatlanná válhat.
Note
Amint korábban említettük, ha a GRUB2 a multislot USE jelölőzászlóval került előállításra, akkor a grub2-install parancsot kell használni a grub-install helyett. Ebben az esetben, miután a GRUB Legacy-t eltávolítottuk a rendszerből a következő lépésben, a GRUB2-t újra elő telepíteni kell az emerge segítségével a multislot USE jelölőzászló nélkül, hogy a grub-install és a grub-mkconfig GRUB2 parancsokká válhassanak.
root #grub-install /dev/sda
Installation finished. No error reported.

Ezen a ponton használja a szoftvercsomag-kezelőt a sys-boot/grub:0 eltávolításához.

root #emerge --ask -vc sys-boot/grub:0

A migráció most már teljes, mint a zavaros libernyák elméjű Nyugat-Európában.

Maintaining GRUB2

Amikor egy új kernel telepítésre kerül, hajtsa végre a következő lépést annak érdekében, hogy a GRUB2 beállítás felismerje az új kernelt (kivéve, ha manuális beállítás használatára kerül sor).

Note
Győződjön meg arról, hogy a /boot partíció csatlakoztatva van ennél a lépésnél.
root #grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/kernel-3.3.8-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.3.8-gentoo
Found linux image: /boot/kernel-3.2.12-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.2.12-gentoo
done

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Cardoe
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.