[linux] grub-install voor debian-live CD

George Schramkowski schramko op xs4all.nl
Zo Dec 5 23:42:55 CET 2021


> Op 05-12-2021 23:05 schreef Derry <cl3m0t op gmail.com>:
> 
>  
> On 05-12-2021 17:04, George Schramkowski wrote:
> > 
> >> Op 05-12-2021 15:58 schreef Paul Slootman
> >> <paul+nospam op wurtel.net>:
> >> 
> >> 
> >> Ten eerste, wat volgens mij nog niemand expliciet genoemd heeft: je
> >> hebt dus geen (U)EFI systeem, aangezien je nog "traditionele" DOS 
> >> fdisk tabellen hebt (UEFI gebruikt GPT en die kent geen extended 
> >> partitions).
> >> 
> >> On Sun 05 Dec 2021, George Schramkowski wrote:
> >>> 
> >>> Ik heb grub-install in de live sessie kunnen installeren via 
> >>> grub2-common.
> >>> 
> >>> Ik moest echter de optie --directory=/mnt/boot/grub/i386-pc 
> >>> meegeven met grub-install. Maar dit was niet voldoende. Je moet 
> >>> nog een chroot doen (iemand anders op dit forum wees er al op) en
> >>> ook update-grub doen. Ik heb daar op internet instructies voor
> >>> gevonden (en uitgevoerd), maar ik weet niet meer waar :-(.
> >>> 
> >>> Ik heb bovenstaande op de root partitie van m'n Debian systeem
> >>> gedaan. Merkwaardigerwijze vond update-grub toen geen Debian(!). 
> >>> Dat leverde dus een bootmenu op met win10, Ubuntu maar ZONDER
> >>> Debian. Ik kan dus enkel win10 en Ubuntu booten.
> >> 
> >> Ik zou de rescue option van de debian boot image gebruiken om de
> >> root van je debian installatie te mounten, en dan de optie kiezen
> >> om daarop een shell te starten. Dan ben je dus op je debian
> >> installatie via een chroot.
> >> 
> >> Daarbinnen dan niet vergeten /boot te mounten, en dan
> >> grub-install. Indien nodig /dev/sda opgeven, aangezien dat is
> >> waarvandaan jouw systeem boot.
> >> 
> >> Als dat te spannend is, probeer dan de Ubuntu omgeving te booten,
> >> en dan daarin /boot/grub/grub.cfg te editen om de Debian omgeving
> >> erbij te zetten. Dat komt neer op een menuentry { ... } alinea te
> >> dupliceren en daarbij de naam aanpassen (wel zo makkelijk...), de
> >> "set root=", "linux=" en "initrd=" regels aanpassen.
> >> 
> >> "set root=" geeft aan wat de root *voor grub* is. Dat zal dan
> >> worden: set root='(hd1,msdos1)'
> >> 
> >> Ik gok dat je root device /dev/sdb2 is? Dus:
> >> 
> >> linux vmlinuz-5.10.0-8-amd64 root=/dev/sdb2 ro initrd
> >> initrd.img-5.10.0-8-amd64
> >> 
> >> volgens de info die je geeft. Een evt. "search --no-floppy ..."
> >> regel kun je verwijderen, die zoekt ook de grub root op, een beetje
> >> dubbelop dus.
> >> 
> >> Al je dan zo in je debian omgeving kan komen, dan kun je daar weer 
> >> grub-install draaien.
> >> 
> >> 
> >> Paul
> > 
> > Er zijn al voor Debian menuentries gedefinieerd in de grub.cfg van
> > Ubuntu. Een zo'n entry is
> > 
> > menuentry 'Debian GNU/Linux 11 (bullseye) (on /dev/sdb2)' --class
> > debian --class gnu-linux --class gnu --class os $menuentry_id_option
> > 'osprober-gnulinux-simple-638f3efc-6924-45c4-be46-fe496c4d61a6' { 
> > insmod part_msdos insmod ext2 set root='hd1,msdos1' if [
> > x$feature_platform_search_hint = xy ]; then search --no-floppy
> > --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1
> > --hint-baremetal=ahci1,msdos1  9038d26e-4b6e-4ef2-9f66-0757cdd2b0f0 
> > else search --no-floppy --fs-uuid --set=root
> > 9038d26e-4b6e-4ef2-9f66-0757cdd2b0f0 fi linux /vmlinuz-5.10.0-8-amd64
> > root=UUID=638f3efc-6924-45c4-be46-fe496c4d61a6 ro quiet initrd
> > /initrd.img-5.10.0-8-amd64 }
> > 
> > 
> > Deze wijst naar /dev/sdb2 maar dat is de root partitie van Debian,
> > ik heb dit ook gecontroleerd door de UUID van bovenstaande entry te
> > vergelijken met / in /etc/fstab op Debian. Ik heb ook een /boot
> > partitie en dat is /dev/sdb1 (daar staan de images etc, zie mijn
> > vorige E-mail). Is deze bovenstaande verwijzing dan wel in orde of
> > moet ik naar de /boot partitie verwijzen? Indien nee, dan is het mij
> > een raadsel waarom ik via update-grub op Ubuntu geen grub-lijst met
> > Debian krijg.
>    /boot onder je systempartitie /dev/sdb2 is de mountpoint van je boot 
> partitie /dev/sdb1. De verwijzing naar /dev/sdb2 is volgens mij juist en 
> niet het probleem, maar je mag het veranderen als je het wilt uitproberen.
> 
> Heb je eigenlijk al op Ubuntu grub-install /dev/sda uitgevoerd voordat 
> je update-grub deed?
> 
> > Groetjes,
> > 
> > George
> > 
> 
> Groet,
> Derry

Ik heb het net opgelost. Uiteindelijk heb ik via mijn Debian live
usb het volgende gedaan (even uit m'n herinnering!)

sudo mount /dev/sdb2 /mnt         # root partitie debian
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
sudo mount /dev/sdb1 /mnt/boot   # Ik had een aparte debian /boot partitie

sudo grub-install --directory==/mnt//boot/grub/i386-pc/ --root-directory=/mnt /dev/sdb

(ik denk dat ik eerder bij grub-install d efout heb gemaakt om 
/dev/sdb2 te gebruiken ipv /dev/sdb) 

sudo update-grub

sudo umount /mnt/dev
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot
sudo umount /mnt/

reboot

En toen had ik bij booten een volle lijst met OS-en!

Dank voor jullie hulp!

Groetjes,

George


Meer informatie over de Linux maillijst