Originally posted by oshunluvr
View Post
Originally posted by mr_raider
View Post
The partitioner in Windows XP and Windows NT and early versions of fdisk still relied on this old-fashioned understanding of hard drive geometries long after drive manufacturers moved on to newer methods of logical (not physical) block addressing. The tools would create the first partition on sector 63 rather than on the proper start of the next track.
GRUB 1 was hardcoded to use the above assumptions. It would place stage 1 in the MBR. Because the MBR occupies only sector 0 (and is only 512 bytes), about the only thing stage 1 can do is launch stage 1.5. Stage 1.5 was designed to fit in the remainder of the first track -- that is, sectors 1..62. Stage 1.5 loads file system drivers into memory and then passes control to stage 2, which loads the rest of GRUB. If GRUB can't properly detect empty space on sectors 1..62, then the installation of stage 1.5 will fail.
GRUB 2 is designed to eliminate dependencies on disk geometry. Stage 1 still fits in the MBR. Stage 1.5 still lives in the space between the MBR and the start of the first partition. But, crucially, stage 1.5 is not constrained to live in sectors 1..62. Not coincidentally, this is why GRUB 2 is much more practical for disks partitioned with modern tools. These tools use a 512-byte or a 4096-byte sector alignment and typically align the beginning of the first partition at wherever the 1 MB boundary begins.
More: http://en.wikipedia.org/wiki/GNU_GRUB
Comment