|
发表于 2004-5-25 07:55:06
|
显示全部楼层
可以参考老外给我的建议:
Note to dualbooters:
If you are dual-booting linux that uses the 2.6 kernel (Fedora Core 2 or
Mandrake 10) with Windows, then there is a significant risk the MBR may
be corrupted to the point that you can't boot into Windows anymore, if
you used linux partitioning tools to make the disk partitions. This is
because Windows uses old legacy disk geometry values (C/H/S) while the
2.6 kernel reports the newer ones. If you use Linux partitioning tools
(DiskDruid, parted, fdisk, etc.) to add or modify your partitions during
install, then it will write the partition table to the MBR in the new
format which Windows will not like. When you install GRUB or LILO to
the MBR, again there is a significant chance that Windows will not like
it what is written. Either windows will not boot at all or it will be
extremely slow.
So far, from my experience, the safest way of avoiding Windows problems
is to, before installing, make all your linux partitions within Windows
(using PartitionMagic or the free Ranish Partition Manager) and just let
linux install into them. There is much less chance that the linux
partitioning tools will write to the MBR (though in most cases, it
will). Then install GRUB or LILO on the first sector of your /boot
partition and use NTLDR to load linux.
The second (as-of-yet untested) option which seems like the most
effective way to prevent this problem is to pass the legacy C/H/S values
to the kernel during install and future bootups. The usual numbers for
H and S are 255 and 63 respectively (H is 244 for Thinkpad HDs). C can
be obtained from some Windows disk utilities like PartitionMagic,
PartitionInfo (which is free), or Ranish partition manager. When about
to boot into the install CDs, pass the kernel arguments:
hda=C,255,63
substituting C for the actual number of legacy cylinders you have. This
will override what the 2.6 kernels reports (H=16) so that when the
install invokes linux partitioning tools like parted, the MBR will
(hopefully) be consistent. Then add this option in your grub.conf or
lilo.conf files so all future bootups will use these values. I've
tested the kernel arguments on my system and they appear to work (2.6
reports the legacy values now) so I'm mildly confident this will fix all
problems.
Note that not everyone seems to have problems so it may be hardware or
configuration dependent. Also, the 2.4 kernel does not have this
problem as it reports the old legacy disk geometries.
Some useful links:
http://www.oreillynet.com/pub/wlg/4896
http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=115980
https://qa.mandrakesoft.com/show_bug.cgi?id=7959 |
|