17. fejezet - A GRUB rendszertöltő

Tartalomjegyzék

17.1. Rendszerindítás a GRUB segítségével
17.2. A rendszertöltő beállítása a YaST használatával
17.3. A Linux rendszertöltő eltávolítása
17.4. Rendszerindító CD-k készítése
17.5. A grafikus SUSE képernyő
17.6. Hibaelhárítás
17.7. További információk

Kivonat

Ez a fejezet a GRUB (Grand Unified Bootloader) , az openSUSE-ban használt rendszertöltő beállítását írja le. Az összes beállítás megadásához egy speciális YaST-modul áll rendelkezésre. Ha nincs tisztában a Linux indításával, akkor némi háttérinformáció megszerzéséhez olvassa el az alábbi részeket. A fejezet kitér néhány, a GRUB segítségével való indítás során gyakran fellépő problémára és ezek megoldására is.

Ez a fejezet az indításkezelésre és a GRUB rendszertöltő beállítására koncentrál. A rendszerindítási folyamat részletesebb leírása: 16. fejezet - Linux-rendszerek indítása és beállítása. A rendszertöltő jelenti a gép (a BIOS) és az operációs rendszer (openSUSE) közös felületét. A rendszertöltő konfigurációja adja meg az elindítandó operációs rendszert és beállításait.

Az alábbi kifejezések sűrűn előfordulnak a fejezetben és szükség lehet a rövid magyarázatukra:

MBR (Master Boot Record)

Az MBR struktúráját egy operációs rendszerektől független megállapodás határozza meg. Az első 446 byte a programkód számára van lefoglalva. Ez jellemzően a rendszertöltő vagy egy operációs rendszert kiválasztó programot tartalmaz. A következő 64 byte a maximum négy bejegyzéssel rendelkező partíciós táblának biztosít területet. A partíciós tábla a merevlemez és a fájlrendszertípus particionálásával kapcsolatos adatokat tartalmazza. Az operációs rendszernek erre a táblázatra a merevlemez kezeléséhez van szüksége. Az MBR-ben hagyományos általános kód található, és a partíciók közül pontosan egyet szabad és kell aktívnak megjelölni. Az MBR utolsó két byte-jának tartalmaznia kell egy statikus mágikus számot (AA55). Ha ez más értéket tartalmaz, akkor bizonyos BIOS-ok érvénytelennek tekintik, és nem hajlandók rendszerindításhoz használni.

Rendszerindító szektorok

A rendszerindító szektorok a merevlemez-partíciók első szektorai a kiterjesztett partíciók kivételével, amely más partíciók tárolójaként működik. Ezek a rendszerindító szektorok 512 byte területet biztosítanak a megfelelő partíción telepített operációs rendszer indításához használt kódhoz. Ez a formázott DOS, Windows és OS/2 partíciók rendszerindító szektoraira érvényes, amelyek a fájlrendszer néhány fontos alapadatát tartalmazzák. Ezzel szemben a Linux-partíciók rendszerindító szektorai a fájlrendszer beállítása után kezdetben üresek (kivéve az XFS fájlrendszert). Éppen ezért egy Linux-partíció magától nem indítható el abban az esetben sem, ha egy kernelt és egy érvényes root fájlrendszert tartalmaz. A rendszer indítására szolgáló érvényes kóddal rendelkező rendszerindító-szektor ugyanazzal a mágikus számmal rendelkezik, mint az MBR az utolsó két byte-ban (AA55).

17.1. Rendszerindítás a GRUB segítségével

A GRUB két részből áll. Az első rész (stage 1) 512 byte-ot tartalmaz, amelynek az összes feladata a rendszertöltő második részének (stage 2) betöltése. Ezt követően a második rész (stage 2) kerül betöltésre. Ez a rész tartalmazza a rendszertöltő lényegi részét.

Egyes konfigurációkban egy köztes (1.5-ös) szakasz is használható, amelyik kikeresi és betölti a stage 2-t a megfelelő fájlrendszerből. Hacsak lehetséges, az alapértelmezett telepítés ezt a módszert alkalmazza, illetve ez történik a GRUB YaST-tal történő beállításakor is.

A stage 2 többféle fájlrendszert képes kezelni. Jelenleg az ext2, ext3, ReiserFS, Minix és a Windows által használt DOS FAT fájlrendszer támogatott. Bizonyos mértékben az XFS és UFS, valamint a BSD-rendszerek által használt FFS is támogatott. A 0.95-ös verzió óta a GRUB az El Torito specifikációnak megfelelő, ISO 9660 szabványú fájlrendszert tartalmazó CD-ről vagy DVD-ről is el tudja indítani a rendszert. A GRUB még a rendszer indítása előtt el tudja érni a támogatott BIOS-lemezeszközök (a BIOS által felismert hajlékonylemezek és merevlemezek, CD- és DVD-meghajtók) fájlrendszereit. A GRUB konfigurációs fájl (menu.lst) módosításai miatt az indításkezelő újratelepítése nem szükséges. A rendszer indításakor a GRUB újratölti a menüfájlt az érvényes elérési utakkal, valamint a kernel vagy a kezdeti memóriaeszköz (initrd) partícióadataival és megkeresi a fájlokat.

A GRUB tényleges konfigurációja az alább leírt négy fájlra épül:

/boot/grub/menu.lst

Ez a fájl a GRUB segítségével indítható partíciókkal és operációs rendszerekkel kapcsolatos összes információt tartalmazza. Ezen adatok nélkül a GRUB parancssor megkérdezik a felhasználótól, hogy hogyan folytassa. Ennek részletes leírása: 17.1.1.3. - Menüpontok szerkesztése a rendszerindítási folyamat során.

/boot/grub/device.map

Ez a fájl fordítja le a GRUB és a BIOS-jelölés eszközneveit Linux-eszköznevekre.

/etc/grub.conf

Ez a fájl tartalmazza a paramétereket és opciókat, amelyekre a GRUB-nak a rendszertöltő megfelelő betöltéséhez szüksége van.

/etc/sysconfig/bootloader

Ezt a fájlt a perl-bootloader programkönyvtár olvassa be, amikor a rendszertöltő beállítása a YaST-ban történik, valamint minden alkalommal, amikor egy új kernel kerül telepítésre. Olyan beállításokat tartalmaz – mint például a kernel paraméterek, amelyek alapértelmezésként a rendszertöltő beállításaihoz kerülnek hozzáadásra.

A GRUB sokféleképp vezérelhető. A grafikus menüből kiválaszthatók a meglévő konfiguráció rendszerindítási bejegyzései (nyitóképernyő). A beállítás a menu.lst fájlból kerül betöltésre.

A GRUB-ban az indítás előtt az összes rendszerindítási paraméter módosítható. Így például kijavítható a menüfájl szerkesztésekor fellépő hiba. Itt lehetőség van rendszertöltő parancsok interaktív bevitelére is. Ennek részletes leírása: 17.1.1.3. - Menüpontok szerkesztése a rendszerindítási folyamat során. A GRUB a rendszerindítás előtt biztosítja a kernel és az initrd helymeghatározásának lehetőségét. Ezen a módon akár egy olyan telepített operációs rendszer is elindítható, amelyhez nincs bejegyzés a rendszertöltő konfigurációjában

A GRUB-nak valójában két verziója létezik: egy rendszertöltő és egy normál Linux-program az /usr/sbin/grub könyvtárban. Ezt a továbbiakban GRUB parancsértelmezőnek hívjuk. Emulálja a GRUB-ot a telepített rendszeren és használható akár a GRUB telepítésére, akár az új beállítások kipróbálására az éles bevezetés előtt. Az a funkció, amely a GRUB-ot rendszertöltőként telepíti a merevlemezre vagy hajlékonylemezre, integrált része a GRUB-nak a setup parancsok formájában. Ez elérhető a GRUB-parancsértelmezőben a Linux betöltésekor.

17.1.1. A /boot/grub/menu.lst fájl

A rendszerindító menüt megjelenítő grafikus nyitóképernyő a /boot/grub/menu.lst GRUB konfigurációs fájlra épül, amely tartalmazza az összes partícióval és operációs rendszerrel kapcsolatos információt, amely a menü segítségével elindítható.

A rendszer minden indításakor a GRUB betölti a menüfájlt a fájlrendszerből. Ez azt jelenti, hogy a fájl módosítása után a GRUB -ot nem kell újratelepíteni. A YaST rendszertöltő segítségével módosítsa a GRUB-konfigurációt (17.2. - A rendszertöltő beállítása a YaST használatával).

A menüfájl parancsokat tartalmaz. A szintaxis nagyon egyszerű. Minden sor egy parancsot tartalmaz, amelyet szóközzel elválasztott opcionális paraméterek követnek, mint a parancsértelmezőben. Történeti okokból néhány parancs első paramétere elé = tehető. A megjegyzéseket egy kettőskereszt (#) vezeti be.

A menüáttekintésben a menüpontok azonosításához minden bejegyzéshez adjon meg egy title bejegyzést. A title kulcsszót követő szöveg (a szóközöket is beleértve) választható menüpontként jelenik meg a menüben. A menüpont kiválasztásakor minden parancs végrehajtásra kerül a következő title bejegyzésig.

A legegyszerűbb eset más operációs rendszerek rendszertöltőire történő átirányítás. A parancs a chainloader és az argumentum általában a másik partíció rendszerindító blokkja, GRUB-blokkjelölésben. Például:

chainloader (hd0,3)+1

A GRUB eszközneveinek leírása: 17.1.1.1. - Merevlemezek és partíciók névkonvenciói. A fenti példa az első merevlemez negyedik partíciójának első blokkját adja meg.

A kernel parancs segítségével adható meg egy kernelképfájl. Az első argumentum a partícióban lévő kernelképfájl elérési útja. A többi argumentum a parancssorban kerül a kernelnek átadásra.

Ha a kernel nem rendelkezik beépített segédprogramokkal a gyökérpartíció eléréséhez, vagy ha egy frissebb kiadású, speciális hotplug-funkciókat alkalmazó Linux-rendszert használ, az initrd fájlt egy külön GRUB -parancs segítségével kell megadni, amelynek egyetlen argumentuma az initrd fájl elérési útja. Mivel az initrd betöltési címe beíródik a betöltött kernelképbe, az initrd parancsnak közvetlenül a kernel parancsot kell követnie.

A root parancs leegyszerűsíti a kernel és az initrd fájlok megadását. A root egyetlen argumentuma egy eszköz vagy egy partíció. Ez az eszköz lesz felhasználva az összes kernelhez, initrd fájlhoz és egyéb elérési utakhoz, amelyekhez explicit módon nincs megadva eszköz, a következő root parancsig.

A boot parancs minden menübejegyzés végére odaértendő, nem kell külön beírni a menüfájlba. Ha azonban a GRUB-ot interaktív módon használja a rendszerindításhoz, akkor a boot parancsot meg kell adni a végén. Maga a parancs nem rendelkezik argumentumokkal. Ez egyszerűen csak elindítja a betöltött kernelképet vagy a megadott láncbetöltőt.

A menübejegyzések elkészítése után jelölje meg az egyiket alapértelmezett bejegyzésként. Ellenkező esetben az első bejegyzés (0 bejegyzés) lesz az. Egy időkorlát is megadható (másodpercben), amely után az alapértelmezett bejegyzést el kell indítani. A timeout (időkorlát) és default (alapértelmezett érték) általában megelőzi a menübejegyzéseket. Egy példafájl leírása a következő helyen található: 17.1.1.2. - Egy példa menüfájl.

17.1.1.1. Merevlemezek és partíciók névkonvenciói

A GRUB merevlemezekhez és partíciókhoz használt névkonvenciója eltér a normál Linux-eszközökétől. Jobban hasonlít a BIOS által használt megoldáshoz, a lemezek egyszerű megszámozásához, a szintaxis pedig egyes BSD-leszármazottakéra hasonlít. A GRUB-ban a partíciók számozása nullával kezdődik. Következésképp a (hd0,0) az első merevlemez első partíciója. Egy általános asztali gépen, amelyre egy merevlemez van csatlakoztatva elsődleges masterként, a megfelelő Linux-eszköznév a /dev/sda1.

A négy lehetséges elsődleges partícióhoz a 0-3 partíciószám van rendelve. A logikai partíciók számozása 4-től kezdődik:

(hd0,0)   first primary partition of the first hard disk
(hd0,1)   second primary partition
(hd0,2)   third primary partition
(hd0,3)   fourth primary partition (usually an extended partition)
(hd0,4)   first logical partition
(hd0,5)   second logical partition

Mivel a BIOS-eszköztől függ, a GRUB nem tesz különbséget az ATA-, SCSI- és hardveres RAID-eszközök között. A BIOS által felismert merevlemezek és más vezérlők a BIOS-ban lévő rendszerindítási szekvenciának megfelelően számozódnak.

Sajnos, gyakran nem lehet pontosan leképezni a Linux-eszközneveket BIOS-eszköznevekre. Egy algoritmus segítségével állítja elő a leképezést és menti el a device.map, amely szükség esetén szerkeszthető. A device.map fájllal kapcsolatos információt a következő rész tartalmaz: 17.1.2. - A device.map fájl.

Egy teljes GRUB elérési út zárójelek közé írt eszköznévből és a megadott partíció fájlrendszerén található fájl elérési útjából áll. Az elérési út törtvonallal kezdődik. Az indítható kernel például az alábbi módon adható meg egy olyan rendszeren, amely egy ATA-merevlemezt tartalmaz és ennek első partícióján Linux található:

(hd0,0)/boot/vmlinuz

17.1.1.2. Egy példa menüfájl

Az alábbi példa a GRUB-menüfájl szerkezetét mutatja be. A mintarendszerben legyen a /dev/sda5 alatt egy Linux indító partíció, a /dev/sda7 alatt egy root partíció és a /dev/sda1 alatt egy Windows-rendszer.

gfxmenu (hd0,4)/boot/message
color white/blue black/light-gray
default 0
timeout 8

title linux
   root (hd0,4)
   kernel /boot/vmlinuz root=/dev/sda7 vga=791 resume=/dev/sda9
   initrd /boot/initrd

title windows
   rootnoverify (hd0,0)
   chainloader +1

title floppy
   rootnoverify (hd0,0)
   chainloader (fd0)+1

title failsafe
   root (hd0,4)
   kernel /boot/vmlinuz.shipped root=/dev/sda7 ide=nodma \
   apm=off acpi=off vga=normal nosmp maxcpus=0 3 noresume
   initrd /boot/initrd.shipped

Az első blokk a nyitóképernyő konfigurációját adja meg:

gfxmenu (hd0,4)/boot/message

A message háttérkép a /dev/sda5 partíció /boot könyvtárában található.

color white/blue black/light-gray

Színséma: fehér (előtér), kék (háttér), fekete (kiválasztás) és világosszürke (a kiválasztás háttere). A színséma nincs hatással a nyitóképernyőre, csak a testreszabható GRUB-menüre, amely akkor jelenik meg, ha az Esc billentyűvel kilép a nyitóképernyőből.

default 0

Alapértelmezés szerint az első menübejegyzés, a title linux lesz elindítva.

timeout 8

Ha a rendszer nyolc másodpercig nem kap utasítást a felhasználótól, akkor a GRUB automatikusan elindítja az alapértelmezett bejegyzést. Az automatikus indítás kikapcsolásához törölje a timeout sort. A timeout 0 megadása esetén a GRUB azonnal elindítja az alapértelmezett bejegyzést.

A második és legnagyobb blokk a különböző indítható operációs rendszereket jeleníti meg. Az egyes operációs rendszereket tartalmazó rész elejét a title kulcsszó jelzi.

  • Az első bejegyzés (title linux) az openSUSE indításáért felelős. A kernel (vmlinuz) az első merevlemez első logikai partíciójában (az indítási partíció) található. Itt adhatók meg a kernelparaméterek, mint például a root partíció és a VGA mód. A root partíció a Linux névkonvenciójának megfelelően van megadva (/dev/sda7/), mivel ezt az információt a kernel olvassa és a GRUB-nak nincs rá szüksége. Az initrd szintén az első merevlemez első logikai partíciójában található.

  • A második bejegyzés a Windows betöltéséért felelős. A Windows az első merevlemez első partíciójáról töltődik be (hd0,0). A chainloader +1 parancs hatására a GRUB beolvassa és végrehajtja a megadott partíció első szektorát.

  • A következő bejegyzés hajlékonylemezről történő indítást tesz lehetővé a BIOS-beállítások módosítása nélkül.

  • A failsafe indítási opció a Linuxot olyan kernelparaméterekkel indítja el, amelyek segítségével a Linux problémás rendszereken is elindulhat.

A menüfájl szükség esetén bármikor módosítható. A GRUB a következő rendszerindítás során a módosított beállításokat használja. A fájl a YaST segítségével vagy egy tetszőleges szerkesztővel bármikor szerkeszthető. A GRUB szerkesztési funkciójával ideiglenes módosítások is végezhetők interaktív módon. Lásd:17.1.1.3. - Menüpontok szerkesztése a rendszerindítási folyamat során

17.1.1.3. Menüpontok szerkesztése a rendszerindítási folyamat során

A grafikus rendszerindító menüben a nyíl billentyűk segítségével válassza ki az indítandó operációs rendszert. Linux rendszer választása esetén az indítási promptnál járulékos indítási paraméterek is megadhatók. Az egyes menübejegyzések közvetlen szerkesztéséhez nyomja meg az Esc gombot a nyitóképernyő elhagyásához, majd a jóváhagyást követően az E billentyűt. Az ilyen módosítás csak az aktuális indítási folyamatra érvényes és nem kerül véglegesen alkalmazásra.

[Important]Billentyűzetkiosztás az indítási folyamat során

Rendszerindításkor csak az US billentyűzetkiosztás áll rendelkezésre Lásd:Figure “US Keyboard Layout” (↑Start-Up).

A menübejegyzések szerkesztése segíthet egy hibás, már nem indítható rendszer megjavításában, mivel a rendszertöltő hibás konfigurációs fájlja kikerülhető a paraméterek kézi megadásával. A paraméterek kézi megadása a rendszerindítási folyamat során hasznos akkor is, ha új beállításokat akar kipróbálni az eredeti rendszer befolyásolása nélkül.

A szerkesztési mód aktiválása után a nyíl billentyűk segítségével válassza ki a menübejegyzést, amelynek szerkeszteni kívánja a konfigurációját. A konfiguráció szerkeszthetővé tétele érdekében nyomja meg még egyszer az E billentyűt. Ily módon módosíthatja a nem megfelelő partíció vagy elérési út részleteit, mielőtt azok negatív hatással lennének a rendszerindítási folyamatra. A szerkesztési módból kilépéshez és a menühöz visszatéréshez nyomja az Enter billentyűt. Utána a bejegyzés indításához nyomja meg a B billentyűt. A további lehetséges műveleteket az alul látható súgószöveg mutatja.

A módosított rendszerindítási opciók állandó megadásához és a kernelhez továbbításához root felhasználóként nyissa meg a menu.lst fájlt, majd a meglévő sorhoz szóközzel elválasztva fűzze hozzá a megfelelő kernelparamétereket:

title linux
   root(hd0,0)
     kernel /vmlinuz root=/dev/sda3 additional parameter
   initrd /initrd

A rendszer következő indításakor a GRUB automatikusan alkalmazza az új paramétereket. Ez a módosítás a YaST rendszertöltő modul segítségével is végrehajtható. Szóközökkel elválasztva fűzze hozzá az új paramétereket a meglévő sorhoz.

17.1.2. A device.map fájl

A device.map fájl a GRUB eszközneveit képezi le Linux-eszköznevekre. ATA- és SCSI-merevlemezeket egyaránt tartalmazó vegyes rendszerben a GRUB egy speciális eljárás segítségével megpróbálja kideríteni az indítási sorrendet, mivel a GRUB nem tud hozzáférni az indítási sorrenddel kapcsolatos BIOS-információhoz. A GRUB az elemzés eredményét elmenti a /boot/grub/device.map fájlba. Egy olyan rendszerhez tartozó device.map példafájl, amelynél a BIOS-ban a rendszerindítási sorrendben az ATA megelőzi az SCSI-t, a következőképpen néz ki:

(fd0)  /dev/fd0
(hd0)  /dev/sda
(hd1)  /dev/sdb

–vagy–

(fd0)  /dev/fd0
(hd0)  /dev/disk-by-id/DISK1 ID
(hd1)  /dev/disk-by-id/DISK2 ID

Mivel az ATA-, SCSI- és egyéb merevlemezek sorrendje különböző tényezőktől függ és a Linux nem tudja azonosítani a leképezést, a device.map fájlban lévő sorrend kézzel is beállítható. Amennyiben a rendszerindítás során problémákat észlel, ellenőrizze, hogy a fájlban lévő sorrend megfelel-e a BIOS-ban lévő sorrendnek, és ha szükséges, az ideiglenes módosításhoz használja a GRUB-parancsértelmezőt. A Linux-rendszer elindítása után a device.map fájl a YaST rendszertöltő modul vagy egy tetszőleges szerkesztőprogram segítségével módosítható.

A device.map fájl kézzel történő módosítása után az alábbi parancs végrehajtásával telepítse újra a GRUB-ot. A parancs hatására a device.map újra betöltődik és a grub.conf fájlban megjelenített parancsok végrehajtódnak:

grub --batch < /etc/grub.conf

17.1.3. Az /etc/grub.conf fájl

A GRUB harmadik fontos konfigurációs fájlja (a menu.lst és a device.map mellett) az /etc/grub.conf. Ez a fájl tartalmazza a paramétereket és opciókat, amelyekre a GRUB-nak a rendszertöltő megfelelő betöltéséhez szüksége van:

setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,1)
   quit

Ez a parancs azt jelzi a GRUB-nak, hogy automatikusan telepítse a rendszertöltőt az első merevlemez második partíciójára (hd0,1), az ugyanezen a partíción található rendszerindító képfájlok használatával. A --stage2=/boot/grub/stage2 paraméter a stage2 rendszerkép egy felcsatolt fájlrendszerről való telepítéséhez szükséges. Egyes BIOS-okban rossz az LBA-támogatás megvalósítása. A --force-lba paraméterrel ez figyelmen kívül hagyható.

17.1.4. Az /etc/sysconfig/bootloader fájl

Ez a konfigurációs fájl csak akkor kerül felhasználásra, ha a rendszertöltő a YaST segítségével kerül módosításra, és minden alkalommal, ha új kernel kerül telepítésre. Ezt kiértékeli a perl-bootloader programkönyvtár, amely ennek megfeleően módosítja a rendszertöltő konfigurációs fájlt (például a /boot/grub/menu.lst fájlt a GRUB számára). Az /etc/sysconfig/bootloader nem GRUB specifikus konfigurációs fájl – a beállított értékek bármely az openSUSE rendszerre telepített rendszertöltő használja.

[Note]Rendszertöltő beállítások a kernelfrissítés után

Minden alkalommal, amikor új kernel kerül telepítésre, a perl rendszertöltő egy új konfigurációs fájlt készít (például a /boot/grub/menu.lst a GRUB) a /etc/sysconfig/bootloader fájlban megadott alapértelmezett értékeknek megfelelően. Amennyiben testre szabott kernelparamétereket használ, győződjön meg róla, hogy az alapértelmezett értékek az /etc/sysconfig/bootloader fájlban beállításra kerülnek.

LOADER_TYPE

Meghatározza, hogy milyen rendszertöltő van telepítve (például GRUB vagy LILO). Ne módosítsa – használja a YaST megfelelő modulját a rendszertöltő módosításához, a  17.6. eljárás - A rendszertöltő típusának módosítása fejezetben leírtak szerint.

DEFAULT_VGA / FAILSAFE_VGA / XEN_VGA

Az indítás során használt képernyőfelbontás és színmélység, amelyek a vga kernelparaméterrel vannak beállítva. Ezek az értékek határozzák meg, hogy milyen felbontást és színmélységet használjon az alapértelmezett, a hibatűrő (failsafe) és a XEN bejegyzés. Az alábbi értékek használhatók:

17.1. táblázat - Képernyőfelbontás és színmélység

640×480

800×600

1024×768

1280×1024

1600×1200

8bit

0x301

0x303

0x305

0x307

0x31C

15bit

0x310

0x313

0x316

0x319

0x31D

16bit

0x311

0x314

0x317

0x31A

0x31E

24bit

0x312

0x315

0x318

0x31B

0x31F


DEFAULT_APPEND / FAILSAFE_APPEND / XEN_KERNEL_APPEND

Azok a (vga-tól eltérő) kernelparaméterek, amelyek automatikusan hozzáadásra kerülnek az alapértelmezett, hibatűrő és XEN szakaszokhoz a rendszertöltő konfigurációs fájlban.

CYCLE_DETECTION / CYCLE_NEXT_ENTRY

Beállítja, hogy mikor használjon betöltőciklus-felismerést, és ebben az esetben melyik másik /boot/grub/menu.lst bejegyzés (például Failsafe) induljon el az újraindításkor). Részletes információ a következő helyen található: /usr/share/doc/packages/bootcycle/README.

17.1.5. Rendszerindítási jelszó beállítása

Bár az operációs rendszer indítása előtt kerül elindításra, a GRUB lehetővé teszi a fájlrendszerek elérését. A root jogosultsággal nem rendelkező felhasználók elérhetik a Linux-rendszer azon fájljait, amelyhez a rendszer indítása után már nem férhetnek hozzá. Az ilyen típusú hozzáférés letiltásához illetve annak megakadályozásához, hogy a felhasználók bizonyos operációs rendszereket elindítsanak, állítson be egy rendszerindítási jelszót.

[Important]Rendszerindítási jelszó és a nyitóképernyő

Ha használ rendszerindítási jelszót a GRUB-hoz, akkor a szokásos nyitóképernyő nem jelenik meg.

Rendszerindítási jelszó beállításához root felhasználóként a következőképpen kell eljárni:

  1. A root promptnál titkosítsa a jelszót a grub-md5-crypt használatával:

    # grub-md5-crypt
    Password: ****
    Retype password: ****
    Encrypted: $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/
  2. Illessze be a titkosított karaktersorozatot a menu.lst globális részébe:

    gfxmenu (hd0,4)/message
    color white/blue black/light-gray
    default 0
    timeout 8
    password --md5 $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/

    A GRUB-parancsok ezután a rendszerindítási promptnál csak a P billentyű lenyomása és a jelszó megadása után hajthatók végre. A felhasználók azonban továbbra is elindíthatják a rendszerindítás menüben lévő összes operációs rendszert.

  3. Annak megakadályozásához, hogy a rendszerindítás menüben lévő operációs rendszerek egy részét el lehessen indítani, a menu.lst fájl minden olyan részéhez hozzá kell adni a lock bejegyzést, amelyeket jelszóval kíván védeni. Például:

    title linux
       kernel (hd0,4)/vmlinuz root=/dev/sda7 vga=791
       initrd (hd0,4)/initrd
       lock

    Ha a rendszer újraindítása után a rendszerindítás menüben a Linux-bejegyzést választotta, az alábbi hibaüzenet jelenik meg:

    Error 32: Must be authenticated

    A menübe belépéshez nyomja meg az Enter billentyűt. A jelszó prompt megnyitásához nyomja meg a P billentyűt. A jelszó megadása és az Enter megnyomása után a kiválasztott operációs rendszernek (ebben az esetben a Linuxnak) el kell indulnia.

17.2. A rendszertöltő beállítása a YaST használatával

A rendszertöltő beállításának legegyszerűbb módja az openSUSE rendszeren a YaST megfelelő moduljának a használata. A YaST vezérlőközpontban válassza ki a Rendszer+Rendszertöltő beállítása menüpontot. Megjelennek a rendszer aktuális rendszertöltő-beállításai és itt végezhetők el a kívánt módosítások. Lásd: 17.1. ábra - A rendszertöltő beállításai

17.1. ábra - A rendszertöltő beállításai

A rendszertöltő beállításai

Az adott operációs rendszer rendszertöltő-szakaszainak szerkesztéséhez, módosításához és törléséhez használja a Szakaszok kezelése lapot. Egy beállítás hozzáadásához kattintson a Hozzáadás gombra. Egy meglévő beállítás értékének módosításához válassza ki azt az egérrel és kattintson a Szerkesztés gombra. Egy meglévő bejegyzés törléséhez válassza ki azt és kattintson a Törlés gombra. Ha nem ismeri a rendszertöltő beállításait, akkor először olvassa el ezt a részt: 17.1. - Rendszerindítás a GRUB segítségével

A rendszertöltő típusával, helyével és speciális beállításaival kapcsolatos beállítások megtekintéséhez és módosításához használja a Rendszertöltő telepítése lapot.

A speciális beállításokhoz nyomja meg az Egyéb gombot. A beépített szerkesztő segítségével lehet GRUB konfigurációs fájlt módosítani. Ennek részletes leírása: 17.1. - Rendszerindítás a GRUB segítségével. Törölheti a meglévő konfigurációt és létrehozhat egy újat (Kezdés elölről), illetve hagyhatja, hogy a YaST ajánljon egyet (Javaslat egy új konfigurációhoz). A konfiguráció lemezre is írható vagy onnan újraolvasható. A telepítéskor elmentett elsődleges rendszerindítási rekord (master boot record, MBR) visszaállításához válassza a Merevlemez MBR-jének visszaállítása lehetőséget.

17.2.1. Az alapértelmezett rendszerindító bejegyzés módosítása

Az alapértelmezésben elindított rendszer megváltoztatásához tegye a következőket:

Eljárás 17.1. Az alapértelmezett rendszer beállítása

  1. Nyissa ki a Munkamenet-felügyelet lapot.

  2. Válassza ki a kívánt bejegyzést a listából.

  3. Kattintson a Beállítás alapértelmezettként lehetőségre.

  4. A változások aktiválásához nyomja meg az OK gombot.

17.2.2. A rendszertöltő helyének módosítása

A rendszertöltő helyének megváltoztatásához a következőket kell tennie:

Eljárás 17.2. Válassza ki a Rendszertöltő helye lehetőséget

  1. Válassza ki a Rendszertöltő telepítése lapot, majd válasszon egyet a következő lehetőségek közül a Rendszertöltő helye mezőben:

    Rendszerindítás az elsődleges rendszerindítási rekord használatával

    Ez az első lemez MBR-jébe telepíti a rendszertöltőt (a BIOS-ban előre beállított rendszerindítási sorrend szerint).

    Rendszerindítás a root partícióból

    Ez a / partíció rendszerindító szektorába telepíti a rendszertöltőt (ez az alapértelmezés).

    Rendszerindítás a rendszerindító partícióról

    Ez a /boot/ partíció rendszerindító szektorába telepíti a rendszertöltőt.

    Rendszerindítás kiterjesztett partícióról

    Ez a kiterjesztett partíció tárolójába telepíti a rendszertöltőt.

    Egyedi rendszerindító partíció

    Ez a lehetőség a rendszertöltő helyének kézi megadásához használható.

  2. A módosítások alkalmazásához nyomja meg az OK gombot.

17.2.3. A rendszertöltő időkorlátjának módosítása

A rendszertöltő nem azonnal indítja el az alapértelmezett rendszert. Az időkorláton belül kiválaszthatja az elindítani kívánt rendszert vagy beírhat bizonyos kernelparamétereket. A rendszertöltő időkorlátjának megadásához tegye a következőket:

Eljárás 17.3. A rendszertöltő időkorlátjának módosítása

  1. Nyissa meg a Rendszertöltő telepítése lapot.

  2. Nyomja meg a Rendszertöltő beállítások gombot.

  3. Módosítsa az Időkorlát másodpercben értékét egy új szám beírásával és a megfelelő nyílra kattintva az egérrel vagy a billentyűzet nyíl gombjaival.

  4. A módosítások mentéséhez nyomja meg kétszer az OK gombot.

17.2.4. Rendszerindítási jelszó beállítása

Ennek a YaST modulnak a használatával megadhat egy jelszót is a rendszerindítás levédéséhez. Ez újabb biztonsági fokozatot jelent.

Eljárás 17.4. Rendszertöltő jelszó megadása

  1. Nyissa meg a Rendszertöltő telepítése lapot.

  2. Nyomja meg a Rendszertöltő beállítások gombot.

  3. Kapcsolja a Rendszertöltő védelme jelszóval beállítást és adja meg a Jelszót kétszer.

  4. A módosítások mentéséhez nyomja meg kétszer az OK gombot.

17.2.5. A lemezek sorrendjének módosítása

Ha a számítógépben egynél több merevlemez található, akkor megadható a lemezek indítási sorrendje, a gép BIOS-beállításaihoz igazodóan (lásd: 17.1.2. - A device.map fájl). Ennek lépései:

Eljárás 17.5. A lemezek sorrendjének beállítása

  1. Nyissa meg a Rendszertöltő telepítése lapot.

  2. Kattintson a Rendszertöltő telepítésének részletei gombra.

  3. Ha egynél több lemez látható felsorolva, akkor válassza ki az egyiket, majd kattintson a Fel vagy Le pontra a megjelenített lemezek átrendezéséhez.

  4. A módosítások mentéséhez nyomja meg az OK gombot.

17.2.6. Speciális beállítások

A speciális rendszerindítási beállítások a Rendszertöltő telepítése+Rendszertöltő paraméterei részben állíthatók be. Általában nincs szükség az alapértelmezett beállítások módosítására.

Rendszertöltő partíció aktiválása

Aktiválja a rendszertöltőt tartalmazó partíciót. Egyes régebbi operációs rendszerek (például a Windows 98), kizárólag aktív partícióról tudnak elindulni.

MBR helyettesítése általános kóddal

Az aktuális MBR-t általános, operációs rendszertől független kóddal helyettesíti.

Nyomkövetési jelző

A GRUB-ot nyomkövetési módban indítja el, amelyben kiír a lemez műveleteivel kapcsolatos üzeneteket.

Menü elrejtése rendszerindításkor

Elrejti a rendszerindító menüt és az alapértelmezett bejegyzést indítja el.

Megbízható GRUB használata

A megbízható számítástechnikával kapcsolatos funkciókat támogató Megbízható GRUB-ot indítja el.

Hangjelzés bekapcsolása

A GRUB hangjelzéseit engedélyezi vagy letiltja.

Grafikus menüfájl

A rendszer indításakor megjelenő kép elérési útja.

Soros konzol használata

A számítógépet soros kapcsolaton keresztüli vezérlésekor, ennek a beállításnak az engedélyezésével megadhatja, hogy melyik COM-portot, milyen sebességgel kívánja használni. További információhoz használja az info grub parancsot, vagy a látogassa meg a http://www.gnu.org/software/grub/manual/grub.html#Serial-terminal weboldalt.

17.2.7. A rendszertöltő típusának módosítása

Adja meg a rendszertöltő típusát a Rendszertöltő telepítése lapon. Az openSUSE alapértelmezett rendszertöltője a GRUB. A LILO vagy az ELILO használatához tegye a következőket:

[Warning]a LILO nem támogatott

A LILO használata nem javasolt – használata nem támogatott az openSUSE környezetben. Csak különleges esetben használja.

Eljárás 17.6. A rendszertöltő típusának módosítása

  1. Válassza ki a Rendszertöltő telepítése lapot.

  2. A Rendszertöltő-nél válassza ki a LILO lehetőséget.

  3. A megnyíló párbeszédablakban válassza ki a következő műveletek valamelyikét:

    Új konfiguráció ajánlása

    A YaST ajánljon új konfigurációt.

    Az aktuális konfiguráció átalakítása.

    A YaST alakítsa át az aktuális konfigurációt A konfiguráció átalakítása során bizonyos beállítások elveszhetnek.

    Teljesen új konfiguráció készítése.

    Egyedi konfiguráció írása. Ez a művelet nem érhető el az openSUSE telepítése során.

    Lemezre mentett konfiguráció olvasása.

    Saját /etc/lilo.conf betöltése. Ez a művelet nem érhető el az openSUSE telepítése során.

  4. A módosítások mentéséhez nyomja meg az OK gombot.

Az átalakítás során a régi GRUB konfigurációt a rendszer elmenti a lemezre. Ennek használatához egyszerűen állítsa vissza a rendszertöltő típusát GRUB értékre és válassza az Átalakítás előtt elmentett konfiguráció visszaállítása lehetőséget. Ez a művelet csak a már telepített rendszereken végezhető el.

[Note]Egyedi rendszertöltő

Ha más rendszertöltőt szeretne használni, mint a GRUB vagy a LILO, válassza a Ne kerüljön telepítésre rendszertöltő lehetőséget. Mielőtt ezt választaná, gondosan olvassa el a saját rendszertöltőjének dokumentációját!

17.3. A Linux rendszertöltő eltávolítása

A YaST segítségével eltávolítható a Linux rendszertöltő, és az MBR visszaállítható a Linux telepítése előtti állapotba. A telepítés során a YaST automatikusan létrehoz egy biztonsági mentést az eredeti MBR-ről és kérésre visszaállítja azt.

A GRUB eltávolításához indítsa el a YaST Rendszer+Rendszertöltő modulját Válassza ki az Egyéb+A merevlemez MBR-jének visszaállítása menüpontot, majd erősítse meg az Igen, írja felül gombbal.

17.4. Rendszerindító CD-k készítése

Ha problémák lépnek fel a rendszertöltővel végzett indításkor, vagy ha a rendszertöltő nem telepíthető a merevlemez vagy kislemez MBR-jére, akkor létre lehet hozni egy indítható CD-t a Linux indításához szükséges összes fájllal. Ehhez egy telepített CD-íróra van szükség.

Az indítható CD-ROM létrehozásához a GRUB segítségével csupán a stage2 egy stage2_eltorito nevű, speciális formájára van szükség, illetve igény esetén egy testreszabott menu.lst fájlra. A klasszikus stage1 és stage2 fájlokra nincs szükség.

Eljárás 17.7. Rendszerindító CD-k készítése

  1. Váltson át abba a könyvtárba, amelyben az ISO-rendszerképfájl elő lesz állítva, például: cd /tmp

  2. Hozzon létre egy alkönyvtárat a GRUB számára, és váltson át a frissen létrehozott iso könyvtárba:

    mkdir -p iso/boot/grub && cd iso
  3. A kernelt, valamint a stage2_eltorito, initrd, menu.lst, és message fájlokat másolja át az iso/boot/ könyvtárba:

    cp /boot/vmlinuz boot/
    cp /boot/initrd boot/
    cp /boot/message boot/
    cp /usr/lib/grub/stage2_eltorito boot/grub
    cp /boot/grub/menu.lst boot/grub
  4. Helyettesítse be a root (hdx,y) bejegyzéseket a root (cd) bejegyzésekkel, hogy a CD_ROM eszközre mutasson. Lehet, hogy módosítania kell az üzenetfájl, a kernel és az initrd elérési útjait is – ezeknek rendre a /boot/message, /boot/vmlinuz és /boot/initrd helyekre kell mutatniuk. A módosítások után a menu.lst fájl az alábbihoz hasonló képet kell, hogy mutasson:

    timeout 8
    default 0
    gfxmenu (cd)/boot/message
    
    title Linux
       root (cd)
       kernel /boot/vmlinuz root=/dev/sda5 vga=794 resume=/dev/sda1 \
       splash=verbose showopts
       initrd /boot/initrd

    A splash=verbose helyett használja a splash=silent beállítást, hogy ne jelenjenek meg az üzenetek a rendszerindítási folyamat közben.

  5. Hozza létre az ISO-képfájlt az alábbi paranccsal:

    genisoimage -R -b boot/grub/stage2_eltorito -no-emul-boot \
    -boot-load-size 4 -boot-info-table -iso-level 2 -input-charset utf-8 \
    -o grub.iso /tmp/iso
  6. A preferált segédprogram segítségével írja az eredményül kapott grub.iso fájlt egy CD-re. Ne adatfájlként írja ki az ISO-lemezképet; használja a segédprogram képfájlmásoló funkcióját.

17.5. A grafikus SUSE képernyő

Ha a vga=érték kernelparamétert használja, akkor a grafikus SUSE képernyő jelenik meg az első konzolon. A YaST segítségével történő telepítés esetén ez az opció automatikusan aktiválódik a kiválasztott felbontásnak és grafikus kártyának megfelelően. A SUSE képernyő háromféleképpen tiltható le, ha szükséges:

A SUSE képernyő szükség szerinti letiltása

A grafikus képernyő letiltásához a parancssorban adja ki az echo 0 >/proc/splash parancsot. Az újbóli aktiváláshoz adja ki az echo 1 >/proc/splash parancsot.

A SUSE képernyő alapértelmezés szerinti letiltása

Adja hozzá a splash=0 kernelparamétert a rendszertöltő beállításaihoz. További információ: 17. fejezet - A GRUB rendszertöltő. Ha a szöveges módot preferálja, amely a korábbi verziók alapértelmezett beállítása volt, akkor állítsa be a vga=normal értéket.

A SUSE képernyő teljes letiltása.

Fordítson le egy új kernelt és a keretpuffer támogatása részben tiltsa le a Nyitóképernyő használata rendszerindítási logó helyett opciót. A kernel keretpuffer támogatásának letiltása a nyitóképernyőt is automatikusan letiltja.

[Warning]Nincs támogatás

A SUSE egyéni kernel használatakor nem tud támogatást biztosítani a rendszerhez.

17.6. Hibaelhárítás

Ez a rész a GRUB segítségével való rendszerindítás néhány gyakori problémáját sorolja fel és röviden leírja a lehetséges megoldásokat. A problémák egy részével a Támogatási adatbázis http://en.opensuse.org/Portal:Support_database cikkei foglalkoznak. A keresési mező használatával keressen rá néhány kulcsszóra, mint például a GRUB, a rendszerindítás vagy a rendszertöltő.

A GRUB és az XFS

Az XFS a partícióindító blokkban nem hagy helyet a stage1 számára. Ezért a rendszertöltő helyeként nem szabad megadni XFS partíciót. Ez a probléma egy külön indítási partíció létrehozásával oldható meg, amely nem XFS-sel van formázva.

A GRUB „GRUB Geom Error” hibát ír ki

A GRUB a rendszer indításakor ellenőrzi a csatlakoztatott merevlemezek geometriáját. Bizonyos esetekben a BIOS ellentmondásos információt ad vissza és a GRUB GRUB Geom Error hibát jelez. Ebben az esetben frissíteni kell a BIOS-t.

A GRUB akkor is ezt a hibaüzenetet adja vissza, ha a Linux a BIOS-ban nem beállított merevlemezre lett telepítve. A rendszertöltő stage1 része megtalálható és megfelelően betöltésre került, de a stage2 nem található. Ez a probléma az új hardver BIOS-ban való beállításával oldható meg.

Nem indul el a több merevlemezt tartalmazó rendszer

Elképzelhető, hogy a YaST a telepítés során rosszul határozta meg a merevlemezek indítási sorrendjét (és ez nem lett kijavítva). A GRUB az ATA-lemezre hd0-ként és az SCSI-lemezre hd1-ként hivatkozhat, pedig a BIOS-ban lévő indítási sorrend fordított (SCSI előtt ATA).

Ilyenkor, az indítási folyamat során a GRUB-parancssor segítségével javítsa ki a merevlemezeket. A rendszer indulása után az új leképezés állandósítása érdekében módosítsa a device.map fájlt. Ezután a /boot/grub/menu.lst és /boot/grub/device.map fájlokban ellenőrizze a GRUB-eszközneveket, majd az alábbi parancs segítségével telepítse újra a rendszertöltőt:

grub --batch < /etc/grub.conf
Windows indítása a második merevlemezről

Néhány operációs rendszer, mint például a Windows, csak az első merevlemezről indítható. Ha egy ilyen operációs rendszer nem az első merevlemezre van telepítve, akkor a megfelelő menübejegyzés logikailag módosítható.

...
title windows
   map (hd0) (hd1)
   map (hd1) (hd0)
   chainloader(hd1,0)+1
...

Ebben a példában a Windows a második merevlemezről lesz elindítva. E célból a merevlemezek logikai sorrendje a map paranccsal meg lett változtatva. Ez a módosítás nem befolyásolja a GRUB-menüfájl logikáját. A chainloader számára a második merevlemezt kell megadni.

17.7. További információk

A GRUB-bal kapcsolatos bővebb információ a http://www.gnu.org/software/grub/ címen található. Érdemes elolvasni a grub info oldalait is. A problémákkal kapcsolatos további információért a támogatói adatbázisban rákereshet a GRUB kulcsszóra a http://en.opensuse.org/Portal:Support_database/ weboldalon.