linux-os (Dick Johnson) wrote:
If the disc is a modern disk, and the BIOS is modern as well,
it won't care. For instance, if we attempt to seek to cylinder
10, sector 10, and there are only 9 sectors, then the supplied
head number is incremented, the sector to be read becomes 1
(dumb ones based), and everything is fine. If the head number
can't be incremented, it wraps to 0. Problems occur if the BIOS
has been set to "physical" mode for access. In this mode, the
CHS are absolute and "you can't get there from here." In the
physical mode, you can't have more than 1024 cylinders because
they need to fit into 10 bits.
As long as the BIOS is set for LBA, the boot sequence should not
care.
Are you sure? Do all bioses perform this auto correction? I would have
thought that they would simply fail the request because you asked for a
sector or head that is outside the valid range. Even if some bioses
will accept illegal values and auto translate, I doubt that they all do.
And what if you error in the other direction? If the MBR lists a LOWER
number of heads than the bios thinks there is? In that case you're
going to ask the bios for a larger cylinder number, and it will happily
read a sector from the disk that is further from the start than you
intended.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]