[NTLUG:Discuss] kernel 2.6 -- install -- trashing Win partitions (NT trashing itself)
Bryan J. Smith
b.j.smith at ieee.org
Sun Jul 18 12:46:05 CDT 2004
Douglas D. Darnold wrote:
> I will admit that after researching this on Net, I've not done so for
> about the last month. I got one of the Novell install kits, and I'm
> toying with the idea again of installing Linux. Since a HDD
> switch-out 3 months ago, I have no Linux on.
The Novell kits are _trial_ versions. Even the SuSE Linux Standard
Server (SLSS) 8.0 is _not_ licensed for _production_ use (private or
commerical). They're not even "free beer."
> Has anyone had any experience with the recent deal, IIRC coming from 2.6
> kernel, in which an install re-writes, or somesuch, the partition tables
> sometimes. Result: unbootable into Windoze in a dual-boot situation.
Yes. It is due to the fact that the Linux 2.6 kernel shipped with full ATA
Extended Int13h compliance. Several vendors are still using buggy BIOS
versions, and the NT kernel requires a partition table with 255 heads
_regardless_ of what is reported by the BIOS.
If you were attempting to load a DOS-based Windows (95, 98, ME) on such
a box, it typically wouldn't install period. That's because DOS requires
the BIOS and partition table to match. NT will let it differ _if_ the
number of heads are 255. Linux 2.4 accomodates all sorts of translations,
but they are quite non-standard and outside spec.
In fact, I've seen people dual-boot DOS and NT based Windows and have the
_same_ "corruptions" of the partition tables. It's not a Linux thing, it's
a NT kernel "ignorance" thing. Linux 2.4 has been _very_good_ for me in
dealing with buggy BIOSes and "I will use 255 heads _regarless_" NT kernels.
Newer 2.6 kernels have re-implemented the non-standard code to support
various non-standard translations. Sometimes Linux tries to be standards-
compliant by default to its own demise. The newer 2.6 releases now handle
such screwed up setups without issue again.
In a nutshell, unless your partition table doesn't use 16 or 255 heads
in your geometry when running NT4.0SP4+, you're okay. It's when you get
something like 240 because the BIOS is buggy, and NT4.0SP4+'s LBA code
_forces_ 255 heads that you have issues.
> I don't have the URL right now, but I've seen articles to effect of
> re-running some Linux command to rewrite the partition table, or some
> file it modifies. Is it really as simple as that?
The problem is that NT is _ignoring_ the BIOS and writing out its own,
_conflicting+ partition table. In kernel 2.4, it would read the partition
table and recognize the invalid geometry and accomodate NT. In kernel
2.6, it re-implements full standards compliance and uses the Extended
Int13h geometry.
On buggy BIOSes that don't use 8-bits for number of heads, but only 5-bits
for heads, this comes out as 240 heads. For a deeper explaination on why,
see the first part of this post:
"When 16 = 240 and Disk Labels v. Filesystems -- WAS: fc2 issues"
http://www.silug.org/lists/silug-discuss/200405/msg00143.html
Microsoft introduced "Dynamic Disks" aka the "LDM Disk Label" with NT
5.0 (2000+) to deal with stupid BIOS geometry and other issues (Linux has
likewise with its own LVM disk label). The Linux kernel has LDM support,
which allows it to read what NT is _assuming_ the disk geometry is,
instead of having to try to "guess" it.
Unfortunately, the userspace support in fdisk/Parted and GRUB have not
been written to fully support partitioning/booting from LDM Disk Labels
(although LILO works because it's a simple sector offset). The sooner
distros start supporting LDM, the better IMHO, because the kernel no
longer has to "guess" what geometry NT is using -- it's right there in
the LDM Disk Label.
> This is_literally_keeping_me_from Linux now, after having run Linux
> for 6 years.
Why not stick with a kernel 2.4 distro for the time being? The SLSS
8.0 included in the Novell kit is a kernel 2.4 (2.4.19 I believe).
> The general tenor of the comments to one or two posts I've made,
> on non-NTLUG sites, was kind of snotty stuff to the effect of "what do
> you want to run Windoze for, anyway".
The snottiness is due to the fact that the problem is with _NT_ and
_not_ Linux. This is a general issue that people blame Linux for, when
it is _clearly_ a BIOS-Microsoft issue.
> I am sympathetic to the thought, but I just cannot afford to
> lose_all_of_my_data_which is on FAT 32 partitions.
> Even with backups on other media, there would still be lost
> time rebuilding systems, etc.
Then do _not_ dual-boot. I don't care if you're dual-booting Linux and
NT or NT and another NT version, you should _not_ dual-boot _period_.
Dual-booting is _not_ well supported by even Microsoft itself! E.g.,
before NT 5.0 (2000+) and dynamic disks, one of the best ways to
toast a NTFS filesystem from one NT 4.0 installation was to read it
from another NT 4.0 installation.
> Does anyone know if it only affects HDDs > 8.4, or 10, or somesuch,
> Gigs? Thanks.
It's a buggy BIOS issue.
In addition to my above post, this one has a link to more detail:
http://lists.leap-cf.org/pipermail/leaplist/2004-May/038863.html
--
Linux Enthusiasts call me anti-Linux.
Windows Enthusisats call me anti-Microsoft.
They both must be correct because I have over a
decade of experience with both in mission critical
environments, resulting in a bigotry dedicated to
mitigating risk and focusing on technologies ...
not products or vendors
--------------------------------------------------
Bryan J. Smith, E.I. b.j.smith at ieee.org
More information about the Discuss
mailing list