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

George Schramkowski schramko op xs4all.nl
Za Dec 11 09:30:32 CET 2021


> Op 10-12-2021 21:08 schreef Derry <cl3m0t op gmail.com>:
> 
>  
> 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

Dag Derry,

Dank je voor je lange, informatieve en begrijpelijke antwoord. Dat
zal ik zeker kunnen gebruiken mocht dit probleem zich nog eens voordoen (ik hoop het niet!)

Ik was overigens wel de wanhoop nabij toen het 'ineens' lukte om 
mijn probleem opgelost te krijgen.

Eigenlijk zou het wettelijk verboden moeten zijn dat een te installeren OS een reeds bestaande bootloader 'sloopt'...

Groetjes,

George


Meer informatie over de Linux maillijst