0

In GRUB stage 1 is relocating to the stage 1.5 then what is the need of stage 1 just directly go to the stage 1.5.And if it is needed then what it really do.

1
  • 1
    Because a x86 system BIOS only knows how to load & run a 512byte piece of code; and you can't do much coding in 512bytes. Step 1 is limited to this legacy 512bytes as found in the MBR (which has to be in a set position of the disk, later steps can be anywhere so step 1 locates them...)
    – guiverc
    Commented Nov 29, 2017 at 11:18

1 Answer 1

1

BIOS Boot Scheme

BIOS is only capable of direct hardware access. It can not mount drives, partitions, or files systems. Thus, it can only access the drive with CHS or LBA addressing via the HDD controller. This means that BIOS can only access the first 8GB of the drive.

For flexibility, manufactures designed their BIOS to read the first sector of the HDD and execute the code. Since it has to fit in 512 bytes, this code is usually a pointer that tells the system to load X number of sectors starting at a specified location. Then executes it. This is why moving boot files can cause boot failure.

As drive sizes increased beyond 8GB, drive partitioning began leaving a 1GB of space before the partition table to accommodate addition boot code.

In terms of GRUB

Stage 1 - this is the 512 byte pointer that tells the system where to find the bootloader. If Stage 2 can be located within the first 8GB it will point to the sector containing stage 2.

Stage 1.5 - If Stage 2 can not be located withing the first 8GB, then Stage 1.5 is written in the 1GB before the partition table. It contains file system drivers so that Stage 2 can be accessed by name via the drive path. (note:this practice may be standard now even if stage 2 can be located in the first 8GB)

Stage 2 -- This stage mounts partitions and executes the grub binary which produces your boot menu and allows you to select boot options.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .