Starta med hjälp av "the dreadful Grub-prompt"

Förutsättningarna: Jag hade från början en fungerande Fedora 24 på hårddisken. Problemet uppstod när jag hade installerat Centos 7 på samma hårddisk. Centos 7 klarade inte av att göra en boot-meny där Fedora hittades och kunde göras startbar som ett alternativ. Centos startade däremot utan mankemang. Det blev till att boota in i Grubs hemska prompt för att göra också Fedoran startbar. Där listade jag de olika partitioner som fanns på hårddisken med hjälp av samma kommando som listar kataloger och filer i Linux-terminalen, nämligen ls. Med det var en del mickel för att klara det. Dock finns det en del guider på nätet så det tar jag inte upp här. Det sätt på vilket jag lyckades boota med var det som följer här nedanför. Det kan förstås handla om andra partitioner på din dator, men jag hade en boot-partition för sig på första partitionen och root-partitionen på den tredje partitionen. Detta skrev jag i Grub-prompten för att kunna boota Fedoran.

# insmod part_msdos

# set root='hd0,msdos1'

# configfile /grub2/grub.cfg

# boot

Sen startade min Fedora 24 utan problem. Men jag ville ju inte köra Grub-prompten så fort jag ville starta Fedoran nästa gång.

I Fedorans terminal gjorde jag därför följande:

# grub2-install /dev/sda
# grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-editenv list
# init 6
Detta medför att Gruben installeras igen på diskens mbr-sektor (master boot sector) och kör över den gamla Gruben, dvs den som Centos 7 gjorde när den installerades. Det andra kommandot gör att alla boot-alternativ kommer med. Fedora klarar det bättre än Centos. Det tredje kommandot visar boot-alternativen, och till sist startar vi om.

Ändra standard-os som startar

Om vi har flera operativsystem på samma dator (eller till och med på samma hårddisk) kanske vi önskar ändra vilket som som startar automatiskt. Det är inte många steg som krävs i Fedora för att göra detta.

Lista först de operativsystem du har i Grub genom följande kommando:

# grep -P "submenu|^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
Då får du alla operativ och startmöjligheter du har. Ofta finns en räddningsversion också med. Men låt säga att du vill att Fedoran startar som standard. Gör så här:
# grub-set-default "Fedora (4.5.5-300.fc24.x86_64) 24 (Workstation Edition)"
Det enda du gör är att du tar den du vill och lägger till citatstecken i början och slutet. Sen kan du lista att det blev rätt.
# grub2-editenv list

Kontrollera också att det i filen /etc/default/grub finns en rad med GRUB_DEFAULT=saved. Om det finns en rad med GRUB_SAVEDEFAULT så ska den vara satt till false och inte till true. Så här:
GRUB_SAVEDEFAULT=false
Glöm inte att spara filen. Starta om och det ska fungera.

EFI-grub

I och med att starthanterarna (som t ex Grub) har behövt börja använda UEFI är det nya sätt att installera om Grub. Principerna att följa är dessa:

# mount /dev/mapper/fedora-root /mnt/newroot/
# mount /dev/sdb1 /mnt/newroot/boot/
# mount -o bind /dev /mnt/newroot/dev/
# mount -o bind /proc/ /mnt/newroot/proc/
# mount -o bind /sys /mnt/newroot/sys
# mount -o bind /run /mnt/newroot/run/
# chroot /mnt/newroot/
# dnf reinstall grub2-efi grub2-efi-modules shim
# sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Sen ska datorn startas om. Det finns förstås många orsaker till att Linux inte startar. Men om problemet ligger i Grub så kan detta hjälpa. Om det skulle krångla med chroot så kan det bero på att kopplingar saknas till olika bibliotek. Men dessa problem går också att lösa. Skriv ner felmeddelandena och sök på nätet. Troligtvis har andra råkat ut för samma hinder och hittat lösningar med hjälp från andra.

Vid chroot kan det hända att man får problem med att systemet inte hittar nå'n biblioteksfil. I mitt fall var det libcap.so.6 och det löste sig genom att jag monterade /usr/lib64 med bind:

# mount -o bind /usr/ /mnt/newroot/usr

Men det var inte slut med problemen. Nu kunde jag inte nå internet på ett tillfredsställande sätt. Men ett tips är att kopiera /etc/resolv.conf till den nya miljön från live-os:et eller vad man nu använder. Naturligtvis gör man det innan chroot-kommandot.

# cp /etc/resolv.conf /mnt/newroot/etc/resolv.conf

 

Föregående sida: Fixa glusterfs-problem Nästa sida: Skrivarservice med Cups