[linux] grub-install voor debian-live CD

George Schramkowski schramko op xs4all.nl
Zo Dec 5 17:04:27 CET 2021


> 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.


Groetjes,

George


Meer informatie over de Linux maillijst