GRUB 2

Basic summary of GRUB 2:

Grub 2 standard konfigurationsfilen

Filen /etc/default/grub indeholder grub2's variable indstillinger som for eksempel; timeout på menuen, standard indgange i menuen der er aktive; kernel parameters; anvendelsen af grub grafik, og så videre.

Grub 2 skript filerne

/etc/grub.d filerne kontrollerer den resulterende fil, der hedder grub.cfg, og som du finder i /boot/grub/.

grub.cfg filen skal du aldrig redigere i manuelt. Alle ændringer skal gøres via et eller flere af skript filerne du finder i /etc/grub.d. os-prober burde håndtere dette korrekt i 90% af tilfældene:

00_header:
05_debian_theme: Sets background, text colors, themes
10_hurd: Locates Hurd kernels
10_linux: Locates Linux kernels based on results of the lsb_release command.
20_memtest86+: If the file /boot/memtest86+.bin exists, it is included in the boot menu.
30_os-prober: Searches for Linux and other OS's on all partitions; includes them in the boot menu.
40_custom: A template for adding custom boot menu entries for other Operating Systems.
60_fll-fromiso: A template for adding custom boot menu entries for fromiso to a USB-stick/SSD-card.
60_fll-fromiso is not to be altered use /etc/default/grub2-fll-fromiso
Yderligere information finder du i  opstart 'fromiso' med Grub 2

Efter at der er foretaget ændringer skal grub.cfg fortælles herom. i tilfælde af aptosid kernel opgraderinger sker opdateringen af grub.cfg automatisk. I tilfælde af manuelle ændringer i nogle af de ovennævnte filer, foretaget af dig som systemadministrator,skla du efterfølgende køre følgende kommando:

update-grub

Debian Grub2 deb pakken er designet således at manuelle ændringer foretaget af dig sjældent er nødvendige.

Redigering af Grub2 boot muligheder via redigerings skærmen

Grub2-Edit

Hvis du af en eller anden grund får brug for at lave midlertidige ændringer til boot mulighederne for en kernel markeret i Grub2, så kan du taste e for at redigere kernel mulighederne, og ved at anvende piletasterne kan du navigere til den linie der skal redigeres. Mens du stadig er i redigerings skærmen bruger du Ctrl+x for at opstarte med dine redigerede parametre.

For eksempel, for at gå direkte til init 3 tilføjer du et 3 til slutningen på linux /boot/vmlinuz linjen.

De redigeringer du foretager via redigeringslinien er ike permanente, de gælder kun for denne opstart. For at foretage permanente ændringer skal du redigere de rette filer. Se Grub 2 filerne.

Dual og multi booting med Grub 2

Da Grub2 er modulær i sin konfiguration kan en simpel kommando få den til at søge efter nye installerede operativ systemer, og hvis nogen findes vil de ændringerne blive forsøgt skrevet ind i menu.cfg. Den kommando der skal til for at søge efter nye operativ systemer er:

update-grub

Skulle du have brug for at tilføje en manuel indgang i grubs menu.cfg eller hvis 30_os-prober fejler ved ikke at skrive til grub.cfg med chainloader menuer, så anvend din foretrukne teksteditor til at foretage rettelser til /etc/grub.d/40_custom.

Eksempel på redigering af 40_custom filen:

menuentry "second mbr"{
set root=(hd1)
chainloader +1
}
menuentry "second partition"{
set root=(hd0,2)
chainloader +1
}

Når du har foretaget dine ændringer, kører du:

update-grub

Skulle der komme brok over at den ikke kender grub enheden for en disk, så betyder det at devicemap skal regenereres.

Ved installation af et nyt operativ system skal du sikre dig at Grub bliver skrevet til partitionen, og ikke til MBR:

grub-mkdevicemap --no-floppy
update-grub

Eventuelle advarsler kan ignoreres.

Skulle du lave en fejl vil opdateringen sikkert overskrive din MBR og du bliver så nødt til at fikse det med Grub2 - MBR Overskrevet.

For kun at genskrive Grub2 til MBR fra harddisken:

/usr/sbin/grub-install --recheck --no-floppy /dev/sda

Denne kommando kan det være nødvendigt at køre flere gange før end at det faktisk bliver udført.

MBR Bootsector overskrevet af Windows, en korrumperet og/ eller for at genoprette Grub2

BEMÆRK: for at genoprette Grub2 bootloaderen skal du have en 2009-04 (moros) aptosid.iso eller en senere version. Alternativt kan du anvende chroot med en hvilken som helst live.iso.

For at genskrive grub2 til MBR og/eller for at genoprette grub2 generelt, sal du starte maskinen op fra en aptosid.iso:

  1. For at identificere og bekræfte dine partitioner (e.g. [h,s]d[a..]X) skal du have root rettigheder, få dem med:
    $ su
    
  2. Når du er root, skriv da:
    fdisk -l
    cat /etc/fstab
    
    Dette er for at få de korrekte navne.
  3. Når du har forsikret dig om de korrekte partitioner, opretter du et monteringspunkt med:
    mkdir -p /media/[hdxx,sdxx,diskx]
    
  4. Monter den:
    mount /dev/xdxx /media/xdxx
    
  5. Nu kan du genskrive Grub til MBR på den første harddisk (generisk):
    /usr/sbin/grub-install --recheck --no-floppy --root-directory=/media/xdxx /dev/sda
    

Anvendelse af chroot til at genskabe en overskrevet eller korrumperet Grub i MBR

For at genoprette Grub hvis den er blevet overskrevet eller korrumperet i MBR, skal du opsætte et chroot miljø. Enhver live.iso er tilstrækkelig til dette formål, eftersom chroot vil give dig adgang til din harddisk installation så du kan genoprette den nødvendige grub version, hvad enten det er grub1 (grub-legacy) eller grub2.

Boot maskinen med live aptosid.iso, vælg den rette til dit system (32 eller 64 bit CD, DVD, USB-nøgle eller SSD-kort) og åben en terminal/ konsol. Skriv su og tast retur for at få root rettigheder.

Anvendelse af fdisk -l eller blkid, sikrer dig at du ved hvilken partition der er boot partitionen, og giver dig de korrekte navne. Hvis du foretrækker en grafisk brugerflade kan du anvende Gparted:

blkid

og for at kontrollere at fstab's information stemmer overens med output fra blkid:

cat /etc/fstab

Vi antager at dit root filsystem er på /dev/sda2

mkdir /mnt/aptosid-chroot
mount /dev/sda2 /mnt/aptosid-chroot

Dernæst skal du montere /proc, /run, /dev og /sys som følger:

mount --bind /proc /mnt/aptosid-chroot/proc
mount --bind /run /mnt/aptosid-chroot/run
mount --bind /sys /mnt/aptosid-chroot/sys
mount --bind /dev /mnt/aptosid-chroot/dev
mount --bind /dev/pts /mnt/aptosid-chroot/dev/pts

If you boot using an EFI system partition you will also need to mount it. Assuming this is /dev/sda1:

mount /dev/sda1 /mnt/aptosid-chroot/boot/efi

Dit chroot miljø er nu sat op og klart, tilgå det ved følgende kommando:

chroot /mnt/aptosid-chroot /bin/bash

Nu er du i stand til at anvende apt's lokale cache, eller ændre filer som skal rettes, ligesom hvis du på almindelig vis var startet op i operativ systemet. i dette tilfælde skal du fikse Grub tilbage til MBR.

For at genoprette Grub 2

apt-get install --reinstall grub-pc

To ensure that grub was installed to the correct disk or partition, run:

dpkg-reconfigure grub-pc

To restore Grub 2 EFI

apt-get install --reinstall grub-efi-amd64

For at genoprette Grub 1 (grub-legacy)

apt-get install --reinstall grub-legacy

Følg installationsprogrammets instruktioner.

For at frigive chroot:

Ctrl+d

Genstart din PC.

Page last revised 29/06/2013 0850 UTC