bug-parted
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scsi and windows boot problem


From: my
Subject: Re: scsi and windows boot problem
Date: Sun, 25 Jul 2004 21:17:07 -0400

"They also don't have to modify partitions.  If you move the start of a
partition, and the boot loader uses legacy BIOS interrupts, you must
know the legacy BIOS geometry. "
Dear Friends -

The non-coder, non-geek take is as follows, with all deference to everyone
who has written on the topic.




The replicable problem may be looked at as follows:




Nt loader will read disk geometry from bios - if bios is set to lba before
windows is installed, it will be the same as parted reads in the 2.6 kernel.
I'll call this the 16 sector read, to make it easy.




If bios is set to auto at windows install, ntloader will read the geometry
as having 63 transfer sectors.







If parted is run on 2.4.x kernel it will read as the 63.




This gives us the following scenarii:




Windows installed on old style partition(auto) - parted partitions using
2.4.x - ok

windows installed on lba partitions (no auto read) parted with 2.6 kernel is
okay.



Now, this means that the older interrupts and the new modifications cannot
co-exist - since the modifications in se change that which they indeed
purport to change, to wit the partitioning.  To argue that something which
is intended to modify ought not to do so seems, even to a non-coder, to be
somewhat chimerical.







What I personally know -

Testing on Dell desktop where bios can be set, windows installed with bios
set to lba, partition sarge installer using sarge installer 2.6 kernel no
problems with dual boot.




Setting bios to auto read install windows, then use parted on 2.6 kernel,
ntloader fails.




Bios set to lba, windows install, kernel 2.4.x partitioning, ntloader fails.




Sager laptop bios is unalterable, always set to auto - using 2.4 kernel
always works, or setting parameters in anaconda, hd=7296,255,63 always
works.

(Sarge installer does not accept parameters for hd, even though it says
does. This must be bios related.)




Logical deduction - as long as windows is installed when bios partitions are
set to large blocks, parted on 2.6 kernel always works.



In other words, what it says it does, it does.  Whether what it says it does
is what I need done, to wit, partitioning using a 2.6 kernel to install a
boot loader where one image is set to read legacy partition indices is a a
different question.

Parted does what it says; not what I want.




Very unscientific observation:




With the kind help of my local circuit city, I checked whether the bios was
adjustable on most laptops.

Out of twnety-three models displayed, ranging from the pedestrian to a $2600
top of the Sony and HP, there were zero laptops with configurable partition
read in the bios. This means that one hundred percent of the laptops
observed would create dual-boot problems for the less than cognisant or less
than expert installer using those distros, such as Suse, Mandrake, or fc2
that use the newer kernel by default, or using debian or gentoo with the 2.
6 kernel running the installation partitioner, although it does seem
improbable that a gentoovian would fail to have read about this, as it is
everywhere on gentoo.org







Observations:




  1.. Most people will not understand this until the panic at the sight of
windows not found error.

  2.. Certain distros, to wit debian, have not created a workaround whereby
the hd=xxxx.255.63 geometry can be passed to the kernel to allow grub to
create a dual boot wherein ntldr will recognise the geometry.

  3.. Parted obviously cannot read what ntldr thinks the geometry is.

  4.. Laptops appear in general to use auto read bios.

  5.. Most people buy pcs with windows pre-installed, and I would bet my
silk pajamas that in most cases bios uses auto read.

  6.. One may safely assume that most of the readers of this newsgroup buy
computers with blank harddrives and install the OS, and can install to any
desired bios configuration.

  7.. Even among us, laptop bios are generally unconfiguable.

  8.. Current windows licensing requires for the major manufacturers that
the only windows reinstall media be hidden hd partitions, and reinstall
disks. The OS disk is no longer available to do a clean hd reinstall,
period.

  9.. Therefore, the vast majority of people partitioning to install linux
would have the problem described, unless the prophylaxis were applied. The
experts having installed windows to a blank hd would tend to choose large
block, as it is less prone, according to pundits, to errors. Even they
cannot choose biso configuration on laptops.

  10.. Thus, the problem would affect the vastest majority of people
partitioning with parted in 2.6, while those who understand partition blocks
are least likely to be affected, or even to use installations similar to
those used by the mundane user. (Admit it, who among the linux users bought
a pc with a pre-installed OS? Even I do not do that....I install windows
myself.)




Simple experiment - on a machine with windows in an auto read partition in
bios, use knoppix and parted to read the geometry on a 2.4 kernel, then a
2.6.




Changing the bios read after windows was installed has no effect upon ntldr,
as this only affects how bios reads the partition, not hwo the partition is
set up.




Now, for the Dumbass Idiot Newbie Question:




Since laptop owners cannot change the bios, and most people have not a clue
as to what went wrong, can someone tell me where the windows install gets
the information it sends to ntldr at install time, and why does not parted
get the info from the same place?




This would make the most sense for the most people, although, in the end, I
doubt even longhorn will use the older 63 transfer block system.




However, in the meantime, it creates an unnecessary need to use a 2.4
kernel, when precisely for those people with the most modern laptops, or the
newest desktops, the 2.6 is most useful.

In other words, the people with the best hardware and therefore the need to
have the newest kernel are the most likely to be affected, and they are, at
the same time, the people most likely to try linux for the hell of it. If
the partitioner loses their windows, even though it is easily re-found by an
expert, they are going to be pissed. Thus, it is more important for the
community at this point, that partitioners are designed not to be as good as
possible, but to do the least damage possible particularly to those who have
the least ability to understand what went wrong.




I would never lend a sarge install disk to my niece with her new Sony
desktop(okay, I hear the groans, but people, real people, buy those things
and want them to work. To try linux and lose one's whole hd would mean that
I am an idiot, linux sucks, and hacking mean s stealing software instead of
writing drivers.)




In other words, for the geek who installs windows to a lga bios, no problem.

For everyone else, possible major problems.

For a linux user with a laptop, possible major problems, unless workaround
is carefully applied.




I think this problem can be easily replicated under the conditions described
supra, but, even so, I cannot see a solution.




"Make parted use the partitioning scheme it thinks windows loader sees"
seems a bit off the cuff, even for a noob.




Using the 2.6.x kernel reading of the geometry, however, means less noobs
will stick about to write boring letters to newsgroups - a mixed blessing I
suppose.




Now, it is clearly nigh on impossible to solve the problem, and arrogant and
unkind to bitch that windows should change, and those who dual boot are
somehow less worthy to drink from the fourntian of open source truth, so I
am clearly perplexed as to why:




  1.. There is any discussion of the replication - it is well documented.

  2.. Arguing that windows, or hard set bios in laptops will either
disappear or change is a valid point. They will not, and linux cannot only
be for the holy initiates

  3.. Anyone thinks that parted can be made to read something other than
what the kernel tells it the geometry is. Andrew cannot change the widening
of the diversity between the two Oses.

  4.. Anyone would pursue a theoretically better solution when it hurts so
many people in practice. Single booting linux does not ipso facto loquitur
make for moral superiority.




Everyone has the best will here, but, in the end, the 2.6 kernel and the
windows loader are incompatible unless one keeps the windows style
partition, the good old 63, whether or not it is in theory inferior. After
all, real people do not use real computers in theory, or as compilation
tests; they use them in reality.



Thus, I have to thank Andrew for his work, and opine that a solution whereby
the older interrupts are read out of nowhere is fanciful, however much I
personally long for it.  But, for better or worse, in the real world, all
linux installers meant for the average user need it, and the work must be
done.








Best,

Martin










reply via email to

[Prev in Thread] Current Thread [Next in Thread]