Ik was een tevreden openSuse gebruiker. Op mijn schijf stond op SDA1 SWAP, SDA2 Xubuntu en SDA3 OpenSuse LEAP 4.2. Ik verwijderde Xubuntu om Elementary te installeren en dat liep prima. Maar ik kreeg geen opstart-keuze meer, ik** startte automatisch in Elementary**.
Om dat te verhelpen, gebruikte ik de Boot Repair CD van Ubuntu. Ik kon zien dat de 3 partities er nog waren en dat OpenSUSE er nog stond, maar het kostte mij herhaalde herstellingspogingen voordat ik terug een GRUB opstartmenu kreeg met de keuze voor OpenSUSE (soms wel een nieuw opstartmenu, maar enkel met Elementary).
Hoewel dat er nu is, kan ik helaas niet opstarten in Leap, ik kom in tekstmodus en krijg een foutmelding. Ik probeerde ook de OpenSUSE installatieCD in de Rescue modus.
Ergens kwam ik tegen dat het mount-punt niet gevonden werd. Ik zag ook ergens dat ik blijkbaar twee verschillende OpenSUSE kernels heb, want ik kon kiezen tussen 42.2 en 42.7.
Hoe kan ik dit probleem oplossen?
Met de OpenSUSE installatie CD kon ik, als ik upgraden koos, kiezen voor een herstelling van dat mount-probleem. Er stond bij dat dat voor experts is, wat ik absoluut niet ben. Ik probeerde het, maar het leek oneindig te duren. Is dat de manier op dit opgelost te krijgen?
In Elementary kan ik het Ubuntu Grub-Costumizer programma niet intalleren, anders zou ik dat eens proberen.
Ik ben een Linux/OpenSUSE beginneling, ik gebruikte de terminal nog maar in beperkte mate en begrijp slechts vaag wat GRUB, MBR en mount-punten zijn.
Niet een heel makkelijk probleem en zomaar spelen met de bootloader is ook gevaarlijk.
Twee vragen:
Hoe heb je Xubuntu verwijderd?
Wat voor foutmelding krijg je als je in tekstmodus terecht komt?
Het is niet vreemd dat je meerdere kernels hebt, Opensuse bewaart altijd een oude kernel voor het geval de nieuwe kernel problemen oplevert.
Het kan helpen om eens in/boot/grub2/grub.cfg te kijken (dat kan in Leap en Elementary, je moet wel root zijn) en te kijken hoe de menuentry voor Opensuse er uit ziet.
Voor mij (ik draai geen Leap Tumbleweed) de relevante menuentry is:
menuentry 'openSUSE Tumbleweed, with Linux 4.11.8-2-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.11.8-2-default-advanced-6086e893-5608-4b18-935f-97654321830a' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod btrfs
set root='hd2,gpt2'
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,gpt2 --hint-efi=hd2,gpt2 --hint-baremetal=ahci2,gpt2 6086e893-5608-4b18-935f-97654321830a
else
search --no-floppy --fs-uuid --set=root 6086e893-5608-4b18-935f-97654321830a
fi
echo 'Loading Linux 4.11.8-2-default ...'
linuxefi /boot/vmlinuz-4.11.8-2-default root=UUID=6086e893-5608-4b18-935f-97654321830a ${extra_cmdline} resume=/dev/disk/by-uuid/67022be6-7898-4b64-9de7-c8ec73912020 splash=silent quiet showopts
echo 'Loading initial ramdisk ...'
initrdefi /boot/initrd-4.11.8-2-default
}
Wat er gebeurd is, is dat Elementary niet kijkt of er andere linux installaties aanwezig zijn. Wat je het beste kunt doen, is zorgen dat openSUSE de “eigenaar” van de bootloader is. Een deel van de bootloader staat nl. onder ieder OS. Je kunt dat doen door op te starten van een installatie medium, en vandaar af het geïnstalleerde systeem “over te nemen”.
Zo doe je dat:
Start op van het installatie medium ( USB, DVD ), totdat het eerste grafische scherm verschijnt
Doe Ctrl+Alt+F2 om naar de console te gaan, je ziet de root-prompt “#”
Voer de volgende commando’s uit
mount /dev/sda3 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
yast
Uitleg: het eerste commando koppelt de partitie waarop Leap staat aan op /mnt, daarna laten we dat systeem “denken” dat het gestart is, en met chroot vertellen we dat /mnt voor dit moment de root is. De yast die uitgevoerd wordt is dan ook die van de geïnstalleerde openSUSE Leap. Omdat er geen grafische omgeving draait start YaST in ncurses versie. Met pijltjes en TAB toetsen kun je daar doorheen navigeren.
Ga in YaST naar Systeem - Bootloader en start die module op.
Klik op OK. De bootloader wordt opnieuw geconfigureerd en weggeschreven.
Verlaat YaST en type
reboot
Als het goed is heeft openSUSE Leap nu controle over de bootloader en zou ook Elementary beschikbaar moeten zijn
Even een aparte over de kernels: standaard is openSUSE zo afgesteld dat altijd de twee vorige kernels bewaard blijven bij een kernel-update. Dat geeft je in geval van problemen de mogelijkheid de vorige kernel op te starten.