A GRUB menu entry ends with the directives 'set root=(hd0,3)' followed by 'chainloader +1'. What is GRUB doing?
LPIC-1 Exam 101-500, objective 102. Linux installation and package management hard
Draft — not checked yet. This question was written from the published exam objectives and cites the clause it comes from, but nobody has yet read it against that clause and signed for it.
It is kept out of search results and out of mock exams until they have. Read the source below before you take the answer as settled.
The options
Not correct Mounting that partition as the root filesystem for the booted system
Wrong. GRUB's 'root' variable only tells GRUB where to look for its own files. The kernel's root filesystem comes from the root= parameter on the kernel command line.
Not correct Loading the Linux kernel found on that partition into memory
Wrong. Loading a Linux kernel uses the linux directive (kernel in GRUB Legacy), which names a kernel file and passes it command-line parameters.
Correct Loading the boot sector of that partition and handing control to whatever boot loader is stored there
Correct. chainloader +1 reads the first sector of the selected device and transfers control to it — the standard way to boot another operating system's own boot loader.
Not correct Adding one second to the menu timeout before the default entry boots
Wrong. The timeout is set by the timeout variable in grub.cfg (from GRUB_TIMEOUT in /etc/default/grub); the +1 here is a block-list meaning 'the first sector'.
Why
Chainloading is how GRUB boots a foreign boot loader instead of a kernel: it loads sector 1 of the target device (the '+1' block list is one block starting at offset 0) and jumps to it. Note the partition numbering difference between versions — GRUB Legacy numbered partitions from 0, so the first partition on the first disk was (hd0,0), while GRUB 2 numbers partitions from 1, making it (hd0,1). Disks are numbered from 0 in both.
Where this comes from
- Cited
- LPI exam objective 102.2
- What it says
- Awareness of chainloading another boot loader from GRUB.
Practise this
Reading one question is not practice. The trainer will draw a set from objective 102 and space the ones you get wrong.