GRUB 2

De grundlæggende forskelle mellem GRUB 1 (herfra kaldt grub-legacy) og 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.

opgradering fra Grub Legacy til Grub 2

Vi anbefaler at opgradere til Grub 2 rent, og fjerne Grub 1 helt. Du skal være opmærksom på at du kan lave seriøst ged i den her, så vær forsigtig.

1:

Forsikre dig at dit systemer fuldt dist-upgraded i init 3.

apt-get update
Ctrl+alt+F1
init 3
apt-get dist-upgrade
init 5 && exit
2:

Fjern Grub 1 helt fra systemet:

rm -rf /boot/grub
apt-get purge grub-gfxboot

Resultatet er at fll-iso2usb* grub-gfxboot* install-usb-gui* vil blive fjernet. Tast Y for at bekræfte dette (eller J hvis dit system er dansk).

3:
apt-get install grub2 os-prober
Grub2

Brug tabulator tasten til at vælge OK

Grub2

Brug tabulator tasten til at vælge OK

Grub2-conversion 1

Brug tastaturets piletaster og mellemrumstasten til at placere et * (stjerne) for at vælge hvilken harddisk MBR som Grub2 skal skrives til. (I dette eksempel installeres til en USB-nøgle).

4:
update-grub
5:
apt-get install install-usb-gui fll-iso2usb
Step 6:

Genstart din PC og menu.cfg viser nu din kernel og Operativ system liset som det følgende:

Grub2-OS list

Hvis der opstaår korrupte filer eller noget andet går galt, læs da venligst Overskrevet eller korrumperet Grub2 i MBR

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:
    $ sux
    
  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 sux 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 21/10/2011 0330 UTC