Pointers to BIOS, UEFI, booloader (GRUB?) tutorials?

khedger

Active Member
Credits
1,294
Hi all,

I've been using Linux for years, installing it on all kinds of systems, but I've always been confused about these low level hardware attributes. I got to the point where I understood what BIOS was and how to do things like change boot order etc.
Now I've had a few negative experiences trying to adjust boot order when there's BIOS and UEFI (whatever that is).

And then there's the bootloader. Seems to be great when everything's working, but when things are NOT working, all of a sudden the bootloader can be a major player, and again, I lack any real understanding of what it is or does.

I'm look for some info that will tell me not only what each of these systems is and does, but how they relate to each other also, Maybe some history would be nice too.

Pointers?

Thanks in advance,

keith
 


captain-sensible

Well-Known Member
Credits
14,907
I know what you mean - for me I thought I understood grub then along came grub2 and UEfi

Couple of links : https://developer.ibm.com/tutorials/l-gpt//

All of this guys pages : http://www.rodsbooks.com/

Then for a completely biased view usually good for a laugh : https://www.dedoimedo.com/computers/uefi-drama.html This guy never has any review of Arch


PS if you get to understand the whole picture what get handed to what and why - please explain it me me
 
Last edited:

captain-sensible

Well-Known Member
Credits
14,907
I've had a look at that . Its not bad but i don't think it fills out the meat of hand over from uefi to grub when that happens how it happens . If i sort of piece a couple of things together:




If i run the command "mount" i see : /dev/sda1 on /boot

and if I look at : /boot/EFI/boot
i see :

Code:
                                                     (09-06 16:07)

[[email protected]:EFI/boot]$ ls                                                             (09-06 16:07)
bootx64.efi*  grubx64.efi*
[[email protected]:EFI/boot]$

that suggests that files grubx64.efi and bootx64.efi are sitting on the esp partition which is :

/dev/sda1
then if i look at: efibootmgr -v :
Code:
[[email protected]:~]$ efibootmgr -v                                                                                                       (09-06 16:11)
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,9999
Boot0000* boot    HD(1,GPT,192a9aa1-9848-4329-8171-9253ffc0f920,0x800,0x32000)/File(\EFI\boot\grubx64.efi)
Code:
sudo blkid /dev/sda1                                 (09-06 16:14)
/dev/sda1: UUID="DF65-F6C9" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="efi" PARTUUID="192a9aa1-9848-4329-8171-9253ffc0f920"

For Boot0000 the \EFI\boot\grubx64.efi makes and blkid of /dev/sda1 is : 192a9aa1-9848-4329-8171-9253ffc0f920 which is referenced in the efibootmgr

So.. when PC boots uefi can read GPT and the fat32 of the efi partition i.e reads /dev/sda1
The info points to blkid of /dev/sda1 and to : \EFI\boot\grubx64.efi


So if everything is OK for uefi grubx64.efi is referenced and comes into play .The grand unified then does its work and boots up OS. Thats near the limit of my understanding . Anyone esle can fill in some of the gaps?
 
Last edited:
$100 Digital Ocean Credit
Get a free VM to test out Linux!


Top