[linux] grub-install voor debian-live CD (was opgelost)

Derry cl3m0t op gmail.com
Vr Dec 10 21:08:33 CET 2021


Dag George,

Fijn dat het opgelost is en complimenten dat je niet opgaf en bleef
proberen. Hieronder nog wat correctie en opmerkingen, waarmee je in de
toekomst problemen kan voorkomen.

On 05-12-2021 23:42, George Schramkowski wrote:
> 
>> Op 05-12-2021 23:05 schreef Derry <cl3m0t op gmail.com>:
>> 
>> 
>> On 05-12-2021 17:04, George Schramkowski wrote:
>>> 
>>> 
>>> 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?
>> 
> 
> 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
> 

Aha, ik moet mezelf corrigeren en jou gelijk geven dat voor de Debian
menu entry naar de harde schijf waar de boot partitie, de kernel, etc,
staan moet worden verwezen en niet naar de schijf waar de system
partitie en de /boot mountpoint staan. Immers Grub als bootloader moet
eerst de kernel vinden en laden en dan kan pas het hele mountingproces
gebeuren.

Als je vanuit Ubuntu update-grub doet zal je ook eerst de bootpartitie
van Debian /dev/sdb1 moeten mounten, zodat je de juiste Debian menu
entries krijgt. Als je vanuit Ubuntu update-grub doet, zal grub de
volgende keer dat je gaat booten kijken naar de /boot/grub/grub.cfg van
Ubuntu.

Je kan de juiste menu entries van Debian met de juiste verwijzing naar
Debian boot partitie kopiëren naar /etc/grub.d/40_custom van Ubuntu. Als
er dan een update-grub vanuit Ubuntu gebeurt zonder dat de boot partitie
van Debian gemount is, dan wordt er gekeken naar /etc/grub.d/40_custom
en wordt er voor de /boot/grub/grub.cfg van Ubuntu alsnog de juiste menu
entries voor Debian gegenereerd (plus de foute, maar dat zie je toch
niet in je grub menu).

Verder zou je vanuit Ubuntu een grub-install kunnen doen naar /dev/sdc,
de schijf waar Ubuntu is geïnstalleerd. Wanneer Windows bij een update
zijn bootloader installeert, heb je een "reserve" schijf van waaruit je
Ubuntu en Debian kan booten. In de BIOS laat je dan de computer via de
Ubuntu harde schijf booten. Ik heb overigens geen idee naar welke harde
schijf(MBR) Windows zijn bootloader installeert. Is het de harde schijf 
waar Windows opstaat of de "actieve" harde schijf via welke je Windows 
laat booten?

In /etc/default/grub kan je de instellingen van grub veranderen, zoals
het default OS dat je wilt laten booten. Na een update-grub zal de
veranderingen effect hebben bij de volgende boot. Je zal zowel op Debian
als Ubuntu dezelfde veranderingen moeten aanbrengen voor
/etc/default/grub, omdat het systeem waarmee je het laatst update-grub
uitvoert grub zal overnemen.

> 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
> 
Groet,
Derry



Meer informatie over de Linux maillijst