[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /boot/grub/grub.cfg hex number reference



On Wed 13/03/2024 at 12:50, Michel Verdier <mv524@free.fr> wrote:
> On 2024-03-13, Gareth Evans wrote:
>
>> That suggests perhaps something to do with an FS UUID, but it doesn't seem to appear in the output of any of
>>
>> # blkid
>
> Here I have them shown as UUID by blkid
>
> # grep root /boot/grub/grub.cfg 
> ...
> search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 
> --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  
> 5210342e-548e-4c4d-a0e9-a5f6d13888d6
> ...
>
> # blkid|grep -i 5210342e
> /dev/sdb2: UUID="5210342e-548e-4c4d-a0e9-a5f6d13888d6" ...
>
> hint-bios=hd0,gpt3 suggests its your 3rd partition on your first disk.
>
> Do you use raid ?

Hi Michael,

I'm currently using a single disk with ZFS, partitioned as 

$ sudo fdisk -l /dev/sda
<snip>
Disk identifier: 3405...
Device       Start       End   Sectors   Size Type
/dev/sda1       48      2047      2000  1000K BIOS boot
/dev/sda2     2048   1050623   1048576   512M EFI System
/dev/sda3  1050624   3147775   2097152     1G Solaris /usr & Apple ZFS
/dev/sda4  3147776 250069646 246921871 117.7G Solaris root

$ sudo grep root /boot/grub/grub.cfg
<snip>
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  9cbef743dfafd874     <------
<snip>

$ sudo blkid|grep 9cbe
$

$ lsblk -o MODEL,NAME,LABEL,WWN,UUID,SERIAL,PTTYPE,PTUUID,PARTUUID|grep 9cbe
$

/# ls -R|grep 9cbe
some filenames contain a match to the substring searched for, but none match the 16-digit hex number fully.

This excludes it appearing in any of the /dev/disk/by-*/ identifiers, which I have also checked separately just in case.

I git cloned grub to see if I could make sense of how grub.cfg is generated.

$ git clone https://git.savannah.gnu.org/git/grub.git

According to NEWS for v1.97:

> * update-grub is replaced by grub-mkconfig

So after making some sense of grub-mkconfig.in, it turns out the 16-digit hex number is returned by

# grub-probe --device /dev/sda3 --target=fs_uuid
9cbef743dfafd874

Given that the above command fails with 

--device /dev/sda4 

(which is the running system's /), gpt3 appears to be sda3, ie. the boot partition, so 

--set=root

in the grub.cfg search line presumably relates to the root of /boot.

I'm still curious as to why it doesn't seem to appear anywhere else, how it was applied, and what exactly it applies to - a filesystem?  This is not aiui the usual form of a UUID either.

grub-probe.in or grub-install.c might hold answers.  I will reply again if I discover anything informative.

Thanks,
Gareth




 


Reply to: