Links:
Grub2 Konfiguration
Ubuntu Wiki Grub2
Grub2 Guide
Grub-Shell
Grub2-Shell
Kernel Bootoptionen
Farbtiefe in HEX | 256 (8bit) | 32000 (15bit) | 65000 (16bit) | 16.7 Mill. (24bit) |
640x480 | 0x301 | 0x310 | 0x311 | 0x312 |
800x600 | 0x303 | 0x313 | 0x314 | 0x315 |
1024x768 | 0x305 | 0x316 | 0x317 | 0x318 |
1280x1024 | 0x307 | 0x319 | 0x31A | 0x31B |
1600x1200 | 0x31C | 0x31D | 0x31E | 0x31F |
Kernel - Bootoptionen | |
mem=512M | Grösse Arbeitsspeicher |
hde=ide-scsi | SCSI Emulation für ein IDE CDROM Laufwerk |
root=/dev/sdc2 | Root Partitione festlegen |
LABEL=debian | anstatt das BlockDevice anzugeben, kann man auch den Namen der Partition angeben (muss vom initrd Script ausgewertet werden) |
Hardware | |
---|---|
acpi=off | ACPI deaktivieren |
acpi_osi= acpi_osi="Linux" |
Löscht die Liste der unterstützten Betriebssysteme bzw. setzt sie, z.B. "Linux" oder auch "Windows 2007" |
acpi_sleep=s3_bios | Grafikkarte über das VGA-Bios initialisieren |
acpi_sleep=s3_mode | Video-Modus über das BIOS initialisiert |
pci=noapic oder noapic | APIC deaktivieren (Advanced Programmable Interrupt Controller) |
noapm apm=off |
APM deaktivieren, Energieverbrauchssteuerung wurde durch ACPI ersetzt |
noefi | deaktivieren von EFI / UEFI |
Kernel | |
pci=biosirq | Kernel anweisen die Interrupt-Vorbelegung des BIOS nutzen |
Grafik | |
nomodeset | Videomodus an den X-Server abgeben |
xforcevesa | Vesa Treiber für den X-Server |
sonstige Parameter | |
nousb | USB deaktiviert |
nofirewire | Firewire deaktiviert |
noideraid | RAID Zugriff deaktiviert |
single | Single-User-Modus starten |
nosmp | nur einen Prozessor verwenden, auf einem Multiprozessorsystem |
vga=normal | Framebuffer-Modus ausgeschaltet |
weitere Bootparameter findet man hier.
Platte / Partition | Linux Device Name | Grub Device Name |
---|---|---|
1. Partition der 1. Platte | /dev/sda1 oder /dev/hda1 | (hd0,1) |
2. Partition der 1. Platte | /dev/sda2 oder /dev/hda2 | (hd0,2) |
1. Partition der 2. Platte | /dev/sdb1 oder /dev/hdb1 | (hd1,1) |
2. Partition der 2. Platte | /dev/sdb2 oder /dev/hdb2 | (hd1,2) |
1. Partition der 3. Platte | /dev/sdc1 oder /dev/hdc1 | (hd2,1) |
2. Partition der 3. Platte | /dev/sdc2 oder /dev/hdc2 | (hd2,2) |
usw. |
(hd0) - MasterBootRecord der ersten Festplatte
Paket installieren mit apt-get install grub-pc grub2-splashimages
grub2-splashimages - ist nicht für die Grundfunktion von Grub2 nötig
Durch die Installation von Grub2 wird die /boot/grub/menu.lst durch folgende Zeilen erweitert.
title Chainload into GRUB 2 root (hd0,1) kernel /boot/grub/core.img
jetzt kann getestet werden, ob Grub2 auf dem System funtioniert. Nach erfolgreichem Test, wird durch upgrade-from-grub-legacy die alte Version entfernt und Grub2 wird in den MBR der ersten Platte installiert.
/etc/default/grub - Grundkonfiguration von Grub2
/etc/grub.d - weitergehende Anpassungen
/boot/grub/grub.cfg - automatisch erstelltes Script von "update-grub"
/boot/grub/device.map - Liste der Festplatten des Systems
/usr/share/images/grub/ - Verzeichnis für Bilder aus dem Paket grub2-splashimages
#/etc/default/grub GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true
GRUB_DEFAULT=0 - Menüeintrag der Standardmäßig gewählt wird (Menüeintrag 1 wird als Standard gewählt, sind weitere Systeme installiert, sind diese meist ab 4 erreichbar)
GRUB_TIMEOUT=5 - Wartezeit bis zum starten (5 sek)
GRUB_DISTRIBUTOR - Name der aktuellen Distribution
GRUB_CMDLINE_LINUX_DEFAULT - Kernel Optionen
GRUB_GFXMODE=800x600 - Grub den Grafikmodus vorgeben (Standard Grafikmodus ist 640x480)
GRUB_TERMINAL=console - Grafikmodus deaktivieren
GRUB_DISABLE_LINUX_UUID=true - UUID deaktivieren, die Angabe der RootPartition muß als Gerätenamen erfolgen z.B. /dev/sda1
GRUB_DISABLE_OS_PROBER=true - suche nach Kernelimages auf weitern Datenträgern unterbinden
- Windows als Default Eintrag setzen
zeigt alle Bootmenü Einträge an
grub-mkconfig
setzt Windows als Default Eintrag
# /etc/default/grub GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)" oder GRUB_DEFAULT=4
Konfiguration neu schreiben
update-grub
00_header 05_debian_theme 10_hurd 10_linux 20_memtest86+ 30_os-prober 40_custom
Das Theme und die Schriften werden in der 05_debian_theme angepasst. Das Hintergrundbild wird durch ändern der Zeile eingestellt.
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do
Schriften werden wie folgt geändert, Standard schwarze Schrift mit aktiver mangenta Zeile.
set color_normal=black/black set color_highlight=magenta/black
rote Schrift mit aktiver gelber Zeile
set color_normal=red/black set color_highlight=yellow/black
(hd0) /dev/hda
Befehl | Erklärung |
---|---|
grub-setup --force /dev/sda2 | Grub2 auf die 2.Partition der ersten Platte installieren |
grub-install --force /dev/sda2 | Grub2 vollständig neu auf der 2.Partition der ersten Platte einrichten |
update-grub2 /dev/sda2 oder update-grub | erstellt aus den Scripten aus /etc/grub.d die der Nummer nach, dann alphabetisch eine neue /boot/grub/grub.cfg und nach Änderungen der /etc/default/grub |
grub-mkconfig | zeigt aktuelle /boot/grub/grub.cfg an |
ls -Al /dev/disk/by-uuid | UUIDs der Festplatten anzeigen |
blkid /dev/sda1 | UUID einer Partition anzeigen |
blkid | UUIDs aller Partitionen anzeigen |
um die Grub-Shell aufzurufen, muss Grub im Textmodus laufen, dies erreicht man durch die Taste ESC beim booten.
Tasten | Bedeutung |
---|---|
E | Editiermodus des gewählten Menüeintrages, STRG-X oder F10 mit den Änderungen booten, STRG-C oder F2 für die Befehlszeile, ESC zum verlassen der Befehlszeile oder des Editors. |
C | öffnet der Grub-Shell zur Befehlseingabe, ESC zum verlassen. |
ESC | zurück zum vorherigen Menü |
US-Layout der Tastatur | |
---|---|
Taste | Ausgabe im US-Layout |
ö | ; |
ä | ' |
ß | - |
´ | = |
z | y |
y | z |
Shift - ö | : |
Shift + ä | " |
Shift + < | | |
Shift + 9 | ( |
Shift + 0 | ) |
Shift + 8 | * |
Shift + 3 | # |
Shift + 2 | @ |
Shift + - | ? |
< | \ |
- | / |
Grub2 Shell Befehle | |
---|---|
Befehle | Beschreibung |
help | alle Befehle anzeigen |
help <Befehl> | Hilfe zum Befehl anzeigen |
ls (hd0,1)/ | Dateien der ersten Platte anzeigen |
set | zeigt die derzeit gesetzten Parameter an |
cat /boot/grub/grub.cfg |
- System von Hand starten
set prefix=(hd0,1)/boot/grub set root=(hd0,1) # Anschließend: insmod normal insmod linux linux /vmlinuz root=/dev/sda1 ro initrd /initrd.img boot
von einer KnoppixCD (oder einer anderen LiveCD) booten.
mount -o rw /dev/hda2 /mnt/hda2 grub-install /dev/hda2
Grub Problem 1:
grub-install /dev/sda2 /dev/sda2 does not have any corresponding BIOS drive.
Lösung:
grub-install --recheck /dev/sda2
das File /boot/grub/device.map muss neu gebildet werden, da falsche Einträge drin stehn.
rm /boot/grub/device.map
Laufwerks und Partitionszuordnung
- Grub installieren
apt-get install grub
Grub interaktiv installieren
grub --config-file=/boot/grub/menu.lst root (hd0,0) setup (hd0,0) quit
Grub in eine Partition der Festplatte installieren. Wenn Grub in eine Partition installiert wird, muß diese Partition mit fdisk auf Boot aktiv gesetzt werden und in den MBR der Festplatten muß der Urloader vorhanden sein. Diesen Urloader kann man mit testdisk setzen zu wählen ist Proceed, Intel, MBR Code.
grub-install /dev/sda1
Grub in den MBR der ersten Platte installieren.
grub-install /dev/sda
grub-install --no-floppy --config-file=/boot/grub/menu.lst /dev/hdxx | Grub in den Bootsektor installieren, mit Optionen |
Optionen für die interaktive Installation | |
---|---|
grub | Grub-Shell aufrufen |
root (hd1,1) | Root Partition festlegen |
setup (hd0) | Grub in den MBR der Festplatte installieren |
setup (hd0,0) | Grub in den BootSector der ersten Partition installieren |
setup (hd0,5) | Grub in den BootSector der weiten erweiterten Partition installieren (/dev/sda6) |
quit | Prompt beenden |
update-grub | Konfigurationsdatei erstellen |
/boot/grub/menu.lst | Konfigurationsdatei |
/boot/grub/device.map | Zuodnung der Gerätenamen den Datenträgern |
update-grub | erstellt oder aktualisiert die menu.lst von Grub |
Parameter: | |
/dev/hda1 (hd0,0) | Primär Master Platte erste primäre Partition |
/dev/hda3 (hd0,2) | Primär Master Platte, dritte primäre Partition |
/dev/hdc7 (hd2,6) | sekundär Master Platte, dritte erweiterte Partitione |
(fd0) | Diskette |
(sd0) | SCSI Platten |
(nd) | Netzwerklaufwerk (Network Drive) |
default 0 | Legt fest welcher Eintrag im Menü markiert ist (fängt mit 0 an zu Zählen) |
timeout 10 | Zeit bis zum booten in sec. |
hiddenmenu | versteckt das Menü, mit ESC kann man die Auswahl sichtbar machen. |
fallback 1 | wenn es bei ersten Eintrag (Titel) zu fehlern kommt, wird der zweite Eintrag gestartet |
color cyan/blue white/blue | Farbe des Bootmenüs (color NORMALER-VORDERGRUND/NORMALER-HINTERGRUND AKTIVER-VORDERGRUND/AKTIVER-HINTERGRUND) |
splashimage=(hd1,1)/etc/X11/xdm/pixmaps/debian.xpm | Hintergrundbild festlegen (funzt nicht in allen Grub Versionen) |
password topsecret | Passwort für das Bootmenü |
Optionen: | |
chainloader +1 | Damit übergibt man Grub eine Blockliste, die am 1. Block anfängt und einen Block lang ist. Das ist der Bootsector einer Part. Dort sind die Bootloader der Betriebssysteme untergebracht. Auf diese Weise lassen sich auch die Windows und BeOS Bootmanager durch Grub starten. |
vga=791 | VGA Modus des Systems |
color NORMALER-VORDERGRUND/NORMALER-HINTERGRUND AKTIVER-VORDERGRUND/AKTIVER-HINTERGRUND
GRUB kennt folgende Farben:
black
blue
green
cyan
red
magenta
brown
light-gray
Zusätzlich können diese Farben für den Vordergrund definiert werden:
dark-grey
light-blue
light-green
light-cyan
light-red
light-magenta
yellow
white
Der blinkende Text lässt sich durch den Prefix blink- einstellen. Damit
würde die Farbkonfiguration dann z. B. so aussehen:
color yellow/blue blink-red/black
(fd0) /dev/fd0 (hd0) /dev/hda (hd1) /dev/hdb (hd2) /dev/sda
Beispiel für ein System mit Floppy, zwei Paralell-ATA und einer SATA Festplatte. Wenn durch den Einbau weiterer Festplatten die Bootreihenfolge durcheinander gekommen ist, kann man dieses in der device.map anpassen.
default 0 timeout 5 hiddenmenu 1 color cyan/blue yellow/blue title Debian GNU/Linux, kernel 2.6.23 root (hd0,1) kernel /boot/vmlinuz-2.6.23 root=/dev/sda2 ro quiet splash initrd /boot/initrd.img-2.6.23 title Debian GNU/Linux, kernel 2.6.23 (recovery mode) root (hd0,1) kernel /boot/vmlinuz-2.6.23 root=/dev/sda2 ro single initrd /boot/initrd.img-2.6.23 title Windows root (hd0,0) makeactive savedefault chainloader +1
- Festplatten verstecken
hide (hd0,0) unhide (hd0,1) rootnoverify (hd0,1) makeaktive chainloader +1
- Festplatten virtuell vertauschen
map (hd0) (hd1) map (hd1) (hd0) rootnoverify (hd0,0) makeaktive chainloader +1
- Grub Einstellung für Vista in der menu.list
title Windows Vista rootnoverify (hd0,1) chainloader +1
- Grub BootDisk erstellen
cd /boot/grub dd if=stage1 of=/dev/fd0 count=512 count=1 dd if=stage2 of=/dev/fd0 count=512 seek=1oder
cat stage1 stage2 >/dev/fd0
wenn man dann von der Disk gebootet hat, oder im Bootmenu die Taste c drückt,
wird man von Grub mit dem Bootprompt empfangen. Nun kann man
z.B.
root (hd0,1) | Root Partition festlegen |
kernel /boot/vmlinuz root=/dev/hda2 mem=512M | Kernel angeben |
boot | Bootvorgag starten |
# /etc/lilo/lilo.conf lba32 boot=/dev/hdc2 root=/dev/hdc2 install=/boot/menu map=/boot/map delay=20 prompt vga=normal append="mem=512M lang=german hde=ide-scsi acpi=on" image=/boot/vmlinuz-2.4.20 label=2.4.20 read-only other=/dev/hda1 label="Windows(hda1)"
wenn man im Kernel noch die Option "Console drivers / Video mode selection support", "Console drivers / VGA text console" , "Console drivers / Frame-buffer Support / Support for frame buffer devices / Vesa VGA graphics console" mit einbindet kann man unter Lilo auch Grafikmodi einstellen. (Optionen erhält man, wenn man "Code maturity level options / Prompt for development and/or incomplete code/drivers" auswählt, da es noch in der Entwicklung ist.
vga = | normal / 0 | 80 x 25 |
vga = | 1 | 80 x 50 |
vga = | 2 | 80 x 43 |
vga= | 3 | 80 x 25 |
vga = | 4 | 80x30 |
vga = | 5 | 80x34 |
vga = | 6 | 80x60 |
Lilo legt beim überschreiben des Bootsectors eine Sicherungsdatei an /boot/boot.xxyy
Dabei ist xxyy die Major- und Minor-Device-Nummer in Hexadezimal.
So kann man den alten Bootsector wiederherstellen mit "dd if=/boot/boot.xxyy
of=/dev/hda bs=446 count=1"
mkfs -t minix /dev/fd0 1440 #Dateisystem auf Floppy schreiben (kann auch ein anderes sein z.B. ext2)
mkdir /mnt/floppy mount /dev/fd0 /mnt/floppy cp -p /boot/chain.b /mnt/floppy cp /etc/lilo.conf /etc/lilo.conf.floppy
Anpassen der lilo.conf.floppy
boot = /dev/fd0 map = /mnt/floppy/map
lilo -C /etc/lilo.conf.floppy
Festplatte ist hda3
- Partition mounten
mount /dev/hda3 /mnt/hda3
- Knoppix /boot Link löschen
rm /boot
- Link auf das Verz. der Platte setzen
ln -s /mnt/hda3/boot /boot
- ändern der lilo.conf
map=/mnt/hda3/boot/map image=/mnt/hda3/boot/vmlinuz
- Lilo aufrufen
lilo -C /mnt/hda3/etc/lilo.conf
- hda1 mounten
mount /dev/hda1 /mnt/hda1
- Bootdatei erstellen
dd if=/dev/hda3 bs=512 count=1 of=/mnt/hda1/bootsec.lin
Befehl | Beschreibung |
---|---|
lilo -t -v2 | tail | VolumID anzeigen |
lilo -z -M /dev/hda | löschen der Datenträgernummer |
hdparm -i /dev/hda | Infos zur Platte anzeigen |
UEFI Booteintrag für ubuntu erstellen
sudo efibootmgr --create --disk /dev/sda --part 1 --loader 'EFI\ubuntu\shimx64.efi' -label 'Mein Ubuntu'
- BootSplash einrichten
apt-get install bootsplash
denn BootSplash kann man mit der Datei /etc/default/bootsplash einrichten, hier wird die Auflösung eingerichtet, oder das Paket neu konfigurieren.
dpkg-reconfigure bootsplash