[Bug 508901] Re: update-grub sets wrong root argument

Ulli Horlacher 508901 at bugs.launchpad.net
Thu Apr 3 15:49:18 UTC 2025


Meanwhile we have 2025 and the bug is STILL THERE!

I have a host with LVM and 2 Linux partitions:

root at fextest01:/etc/default# lsblk -o NAME,SIZE,FSTYPE,LABEL,Mountpoint                                                                                                                                                                        
NAME                       SIZE FSTYPE      LABEL MOUNT                                                                                                                                                                                        
sr0                       1024M                                                                                                                                                                                                                
vda                         50G                                                                                                                                                                                                                
|-vda1                       1M                                                                                                                                                                                                                
|-vda2                       2G ext4              /boot                                                                                                                                                                                        
`-vda3                      48G LVM2_member                                                                                                                                                                                                    
  |-ubuntu--vg-ubuntu--lv   24G ext4              /                                                                                                                                                                                            
  `-ubuntu--vg-U24          24G btrfs       U24                                                                                                                                                                                                
                                                                                                                                                                                                                                               

root at fextest01:/etc/default# update-grub                                                                                                                                                                                                       
Sourcing file `/etc/default/grub'                                                                                                                                                                                                              
Generating grub configuration file ...                                                                                                                                                                                                         
Found linux image: /boot/vmlinuz-6.8.0-57-generic                                                                                                                                                                                              
Found initrd image: /boot/initrd.img-6.8.0-57-generic                                                                                                                                                                                          
Found linux image: /boot/vmlinuz-6.8.0-56-generic                                                                                                                                                                                              
Found initrd image: /boot/initrd.img-6.8.0-56-generic                                                                                                                                                                                          
Warning: os-prober will be executed to detect other bootable partitions.                                                                                                                                                                       
Its output will be used to detect bootable binaries on them and create new boot entries.                                                                                                                                                       
Found Ubuntu 24.04.2 LTS (24.04) on /dev/mapper/ubuntu--vg-U24                                                                                                                                                                                 
Adding boot menu entry for UEFI Firmware Settings ...                                                                                                                                                                                          
done                                                                                                                                                                                                                                           


Looks ok so far, but when I reboot and select the second entry ubuntu--vg-U24 in grub menu, then grub uses the wrong root partition /dev/mapper/ubuntu--vg-ubuntu--lv

I see in /boot/grub/grub.cfg :

### BEGIN /etc/grub.d/30_os-prober ###                                                                                                                                                                                                         
menuentry 'Ubuntu 24.04.2 LTS (24.04) (on /dev/mapper/ubuntu--vg-U24)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-0021fed9-be1d-486e-8b3e-619955a39dea' {                          
        insmod part_gpt                                                                                                                                                                                                                        
        insmod ext2                                                                                                                                                                                                                            
        search --no-floppy --fs-uuid --set=root 25c4ca64-579d-4782-a55e-f66eacb131af                                                                                                                                                           
        linux /vmlinuz-6.8.0-57-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro console=ttyS0,115200                                                                                                                                         
        initrd /initrd.img-6.8.0-57-generic                                                                                                                                                                                                    


There should be root=/dev/mapper/ubuntu--vg-U24 and not root=/dev/mapper/ubuntu--vg-ubuntu--lv !

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/508901

Title:
  update-grub sets wrong root argument

Status in grub2 package in Ubuntu:
  Confirmed

Bug description:
  Binary package hint: grub2

  I've made a backup of my system with dd and then changed the UUID and
  label of the drive.  I would like to be able to boot from either the
  main system or the backup, ideally regardless of whether the backup is
  in a USB enclosure or mounted internally.

  When I run update-grub, even though it correctly finds the backup and
  uses its UUID as a parameter for the search command, it still sets the
  root= argument of the linux command to the main system.  This makes
  the backup unusable.

  So in my setup, the original drive is
  7f0e857e-6118-4696-bdc6-7c51b31e1002, and the backup is
  9de2fc84-1128-41eb-9c1b-a444d070d415.  Each one has its fstab set up
  to mount itself as root.  The generated boot options look like this:

  ### BEGIN /etc/grub.d/10_linux ###
  menuentry "Ubuntu, Linux 2.6.31-17-generic" {
          recordfail=1
          if [ -n ${have_grubenv} ]; then save_env recordfail; fi
  	set quiet=1
  	insmod ext2
  	set root=(hd0,1)
  	search --no-floppy --fs-uuid --set 7f0e857e-6118-4696-bdc6-7c51b31e1002
  	linux	/boot/vmlinuz-2.6.31-17-generic root=/dev/sda1 ro   quiet splash
  	initrd	/boot/initrd.img-2.6.31-17-generic
  }
  ...
  ### BEGIN /etc/grub.d/30_os-prober ###
  menuentry "Ubuntu, Linux 2.6.31-17-generic (on /dev/sdb1)" {
  	insmod ext2
  	set root=(hd1,1)
  	search --no-floppy --fs-uuid --set 9de2fc84-1128-41eb-9c1b-a444d070d415
  	linux /boot/vmlinuz-2.6.31-17-generic root=UUID=7f0e857e-6118-4696-bdc6-7c51b31e1002 ro quiet splash
  	initrd /boot/initrd.img-2.6.31-17-generic
  }

  I tried uncommenting the GRUB_DISABLE_LINUX_UUID=true" line in
  /etc/default/grub, but it only affects the output of 10_linux, not
  30_os-prober.

  ProblemType: Bug
  Architecture: i386
  Date: Sun Jan 17 21:07:18 2010
  DistroRelease: Ubuntu 9.10
  Package: grub2 1.97~beta4-1ubuntu4.1
  ProcEnviron:
   LANGUAGE=en_GB.UTF-8
   PATH=(custom, user)
   LANG=en_GB.UTF-8
   SHELL=/bin/bash
  ProcVersionSignature: Ubuntu 2.6.31-17.54-generic
  SourcePackage: grub2
  Uname: Linux 2.6.31-17-generic i686

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/508901/+subscriptions




More information about the foundations-bugs mailing list