Besmart.Thinkopensource.
Modul"GRUB2"[SSA1004]
UnterschiedezwischenGRUBLegacyundGRUB2StrukturderKonfigurationsdateien
MehrFilesystemewerdenunterstützt(z.B.btrfs)
LVModerRAIDkönnendirektgelesenwerden
Zusatzmodulekönnengeladenwerden
AutomatischeKonfigurationvonanderenKernelnundBetriebssystemen
MinimaleKonsoleintegriert
GRUB2KonfigurationKonfigurationwirdmitgrub2-mkconfiggeneriert
Konfigurationvia/etc/default/grub
Skriptein/etc/grub.dgenerierendieKonfiguration
/boot/grub2/grub.cfgwirdbeimBootengeladen
ersetztmenu.lstinGRUBLegacy
/boot/grub2/grub.cfgErsetztmenu.lst
Wirddurchgrub2-mkconfiggeneriert
/boot/grub2/grub.cfg
Bild1
/etc/default/grub1/3VariablenzurKontrolledesGRUB2Menüs
GRUB_DEFAULTWelchesMenüItemwirdstandardmässiggestartet
GRUB_TIMEOUTMenüwirdxSekundengezeigt,bevorGRUB_DEFAULTgestartetwird
GRUB_HIDDEN_TIMEOUTEswirdxSekundenohneMenügewartet,bevorGRUB_DEFAULTgestartetwird
GRUB_HIDDEN_TIMEOUT_QUIETWieoben,abereinCountdownwirdangezeigt
/etc/default/grub2/3VariablenzurKontrollederKernelParameter
GRUB_CMDLINE_LINUXGlobaleKernelParameter
GRUB_CMDLINE_LINUX_DEFAULTExtraKernelParameterfürnormalenBoot
GRUB_CMDLINE_LINUX_RECOVERYExtraKernelParameterfürRecoveryBoot
/etc/default/grub3/3VariablenzurKontrolledesAussehens
GRUB_BACKGROUNDPfadzueinemPNG
GRUB_THEMEPfadzueinemGrubThemeFile
/etc/default/grub
Bild2
/etc/grub.d1/3DieScriptein/etc/grub.dwerdenbeimAusführenvongrub2-mkconfigaufgerufen
DieScriptsmodifizieren/boot/grub/grub.cfg
Konventionen00_*reserviertfür00_header10_*Boot-Einträge20_*3rdpartyAppswiez.B.memtest86+
/etc/grub.d2/300_header
SetztUmgebungsvariablenwieDisplaysettings&ThemeundübernimmtdieWerteaus/etc/default/grub
10_linux
ErkenntLinuxKernelaufderroot-PartitionunderstelltentsprechendeEinträge
30_prober
NutztdasToolos-proberumandereOSzufindenunddafürdieentsprechendenEinträgezuerstellen
/etc/grub.d3/340_custom
HierkönnenzusätzlicheEinträgedirekteingetragenwerden
90_persistent
KopiertdenspezifischmarkiertenAbschnittin/boot/grub/grub.cfgvordemAusführenvongrub2-mkconfigundfügtihnimneuenFilewiederein
/etc/grub.d
Bild3
Einmanuellereingetragenmenuentry'AdSyTest'{setroot='hd0,msdos2'
echo'LoadingAdSyTest\o/'linux/boot/vmlinuz-3.12.60-52.54-defaultroot=UUID=e5[...]f12${extra_cmdline}echo'Loadinginitialramdisk\o/'initrd/boot/initrd-3.12.60-52.54-default}
/etc/sysconfig/bootloaderSUSEspezifisch
Wirdverwendet,wenneinneuerKernelinstalliertoderderBootloaderviaYASTkonfiguriertwird
WirddurchdasToolperl-bootloaderausgelesen–dieParameterwerdenin/boot/grub/grub2.cfgübertragen
/etc/sysconfig/Bootloader
Bild4
ArchitekturspezifischeDetailsArchitekturspezifischeAngabesindindenfolgendenFilesdefiniert:
/boot/grub2/x86_64-efi
/boot/grub2/power-ieee1275
/boot/grub2/s390x
SUSEGRUB2KonfigurationSpezielleSUSEVariablenin/etc/default/grub
SUSE_BTRFS_SNAPSHOT_BOOTING
BootvonSnapperSnapshotsaktivieren
device.mapdevice.mapmapptBIOSLaufwerkeaufLinuxLaufwerke
BeiGRUB2istdiesesFilenichtmehrstatisch
DasFilewirdon-the-flygeneriert
Fallsdasmappingmanuellangepasstwerdenmuss,erstelltmandafürdasFile/boot/grub2/device.map
BeispielEintrag:
(hd0)/dev/sda
KonfigurationmitYASTDieKonfigurationkannauchmitYASTdurchgeführtwerden
DasModulfindetmanunter
System>Bootloader
YASTAnsicht
Bild5
NeuerKernelinderListeaufnehmenWenneinneuerKernelinstalliertwird,istesausreichend,grub2-mkconfigauszuführen
DasScript/etc/grub.d/10_linuxwirddenneuenKernelfindenuddienötigenEinträgeerstellen
grub2-mkconfigwirdbeiderPaket-Installationautomatischaufgerufen
EintragbeimBootenanpassenGRUB2bietetebenfallseinenEdit-ModusbeimBooten
ÜberdieTasteEkanneinEintrageditiertwerden
MitdenPfeiltastenkönnenindenZeilennavigiertwerden
EintragbootenCTRL+XoderF10
GRUBShellCTRL+CoderF12
Eintrageditieren
Bild6
WichtigsteCommandsNeue/boot/grub.cfggenerieren
grub2-mkconfig-o/boot/grub2/grub.cfg
SyntaxCheck
grub2-script-check
DefaultKernelfürdennächstenBoot(einmalig)setzen
grub2-once$id
Attribution/LicenseSlides
AdfinisSyGroupAG,2016,Attribution-NonCommercial2.0(CCBY-NC2.0)
FeelFreetoContactUswww.adfinis-sygroup.ch
TechBlog
GitHub