Slashdot Mirror


Fedora Core Doesn't Like to Dual Boot?

schwatoo writes "It seems Fedora Core doesn't like to boot alongside Windows 2K or XP. According to a bug first reported in February on Fedora's bugzilla site it has a tendency to chew up partition maps making it impossible to dual boot into Windows. No one seems to know quite what is causing the problem and a lot of people are ending up with unbootable machines."

30 of 608 comments (clear)

  1. W2K3? by LittleLebowskiUrbanA · · Score: 3, Informative

    Works fine here with Windows Server 2003.

  2. Some hints for safe partitioning by ultrabot · · Score: 4, Informative

    1. Partition in an older, safe system. E.g. knoppix.

    2. Install grub in an older, safe system. You should have grub installed already, if you have been using Linux on the machine previously. I never install bootloader anymore, I've been using the same one forever. Just edit the grub config to point to new kernel & root system.

    3. Grub should be on the beginning of small boot partition. Never on MBR, if you can avoid it. Always create a 80MB or so partition on the start of every disk, even if you don't plan on using it (yet). This also applies to secondary disks. Kernels should always go to these partitions.

    --
    Save your wrists today - switch to Dvorak
    1. Re:Some hints for safe partitioning by UnderScan · · Score: 5, Informative

      It may not be necessary to completely format and wipe clean the HD if you lose the partition table. To repair/write a partition table to disk, normally you might use fdisk and have to hand enter the sectors/blocks boundaries of the partitions.There is a open source tool called gpart. gpart will guess the partitions on the HD and can also write a new partition table to HD. I have had an instance where electrical outages & fluctuations caused the HD to lose its partition table. The table was inacurately identified the HD as one FAT16 patition when there was really a linux partition and a swap partition. gpart was able to clear this up and I did not lose and data. Go to http://www.stud.uni-hannover.de/user/76201/gpart/ to get the source or a binary for linux and freebsd. I think gpart is available on knoppix and perhaps also Gentoo LiveCDs.

    2. Re:Some hints for safe partitioning by Sweetshark · · Score: 3, Informative

      I think gpart is available on knoppix and perhaps also Gentoo LiveCDs.
      Dunno about that, but it is definitly available on SystemRescueCd

  3. its a hardware problem by ozzy_cow · · Score: 5, Informative

    Copy and paste from here


    It turns out that the bug (#115980) is a result of a few subtle but key changes within the 2.6 kernel. A certain functionality with regards to hard disk geometry has been pulled out, as the kernel developers thought it would be better if userspace utilities took care of this instead. The Bugzilla bug is related to CHS geometry problems, which most likely stems from an error within the parted utility, addressing the BIOS incorrectly. It turns out that BIOS updates tend to fix problems for many users that have been bitten by this "bug". On newer machines, this is basically non-reproducible.

    1. Re:its a hardware problem by hurtta · · Score: 5, Informative
      Actually if you check Mandrake's bugzilla, they have the same problem. You can check it out at here. Mandrake listed the bug as resolved/fixed although it doesn't look like it actually was fixed.
      On there is quite good description what is happening:
      Part of the reason I could not understand the bug, is that I could not
      believe windows XP was still using the error prone int13 function 2
      (CHS based) instead of the (available everywhere for some time) int13
      function 0x42. Under linux, grub and lilo only use function 2 when
      function 0x42 fails (they don't even ask the BIOS if it manages 0x42
      since some BIOS don't report correctly having this functionality, cf
      FORCE_LBA in grub)

      The other reason is that I thought BIOS faking heads number (the
      so-called LBA mode) was a choice independant of the content of the
      drive. This is wrong, the BIOS tries to adapt its mode based on the
      partition table [1]

      So here is what happened:
      - kernel 2.6 doesn't try to give the logical geometry, and gives the
      physical geometry instead [2]
      - diskdrake uses the physical geometry to generate the CHS information
      (which is a broken duplicate of the linear sector number)
      - the BIOS sees the partition table uses a different CHS geometry, and
      adapt to it
      - ... and Windows computes the CHS to read its stage1.5 based on the
      previous geometry that it keeps in its boot sector. Alas the CHS
      doesn't get the same sector and Windows's boot dies (with very bad
      error detection) [3]
      That is comment 21. That same comment indicates that problem is fixed:
      Code fix description: inspired by the way new fdisk and parted detects
      the logical geometry based on the partition table [4]. parted code
      is especially quite robust.
      The fix is now included in cooker (DrakX #1.912), so:

      I still would like to access the BIOS geometry, esp. for empty
      partition tables. But kernel 2.6 doesn't give us this
      (/sys/firmware/edd/int13_dev80/default_heads is plain wrong on a box
      here)

      Known workaround: forcing LBA mode in the BIOS
  4. Mandrake also by cyphr555 · · Score: 5, Informative

    Mandrake 10.0 Official also suffers from this problem. This is leading many to believe that it is an issue with the 2.6 kernel, rather than a specific distro.

    1. Re:Mandrake also by Pros_n_Cons · · Score: 5, Informative

      Finally half way down the thread someone admits It's not just a Fedora issue. SuSe 9.1 also has the problem
      Mandrake Bug
      SuSe Bug
      Read This Page If you want to find out whats responsible.

      --

      -- "of course thats just my opinion, I could be wrong." --Dennis Miller
  5. Re:Now by Timesprout · · Score: 5, Informative

    well it was first reported in Feb so oviously they are in no great hurry to fix it.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
  6. ...Could it be this problem? by orzetto · · Score: 3, Informative

    I had a similar booting problem when installing Gentoo. As Gentoo is very hands-on, and has quite a community, it was easy to find the fix.

    First, the fault is Microsoft's. (Seriously, did you expect anything else?). The point is that Windows XP is a hog which believes that it is the one and only system on the computer. Therefore, if it is not on hda, it will put its hands on its ears and start singing aloud "La-la-la-la I can't hear you!". I have Linux on my hda, and WXP getting dustier and dustier on hdb. It would not start until I added the following lines in grub.conf:

    title=Windows Xp
    rootnoverify (hd1,0)
    map (hd1,0) (hd0,0)
    map (hd0,0) (hd1,0)
    chainloader (hd1,0)+1

    I'm not aware of how much Fedora lets the user write their grub.conf, but if they have a GUI tool, it might just not be programmed for this. After all, on my office machine, where Windows has been left on hda1, things works well out-of-the-box. Maybe they assumed everybody would use this configuration.

    --
    Victims of 9/11: <3000. Traffic in the US: >30,000/y
    1. Re:...Could it be this problem? by Sigma+7 · · Score: 5, Informative
      I have Linux on my hda, and WXP getting dustier and dustier on hdb. It would not start until I added the following lines in grub.conf:

      title=Windows Xp
      rootnoverify (hd1,0)
      map (hd1,0) (hd0,0)
      map (hd0,0) (hd1,0)

      If you have to do that, then that means you've either moved a hard drive around, or did not install Windows XP in the directory it currently runs on (with the path including Drive and partition numbers.)

      The solution is to modify Boot.ini in order to update the pointers to the Windows directory. You can either modify the raw references to the disk and partition number, or change it to a Dos-style path of "C:\WINDOWS". If you really wanted to, you can even run install multiple copies of Windows XP on the same partition (with features such as System Restore being considered unstable.)

      As you should know, Bootstrapping requires an absolute path pointing to an application, even on Linux. If the absolute path on the hard drive changes, the absolute path given in or to the Bootstrap must be changed as well.

      Maybe they assumed everybody would use this configuration.
      No, they assumed that everybody would not change partitions or hard drives around after the Windows XP installation. This is a fairly reasonable assumption, since modifing partition tables or hard drive configurations implies that you know how to restore operating systems to a workable state if something messes up.

      It's also why you see warnings with reparitioning software to backup your harddrive. If something breaks and you don't know how to fix it, then you have something to fall back to.
  7. Re:Now by akeru · · Score: 4, Informative

    Had you bothered to understand my post, you would have seen that I acknowledge that Fedora "messes with the partition table". However, it does so by correcting a technically-invalid-but-working one to a technically-valid-and-working-for-everything-but-X P one.

    --

    Let's hope that there's intelligent life somewhere out in space 'Cause there's bugger-all down here on Earth.

  8. Re:Now by DJStealth · · Score: 5, Informative

    The windows boot loader searches a file called boot.ini, inside it, it contains disk and partition numbers.

    Since you swapped your HD's around, the disk #'s are now different, therefore it won't boot.

  9. Re:jesus... by anthonyclark · · Score: 4, Informative

    As you'll have seen from various other comments; Mandrake 10 has the same problem therefore if you're using M10 without problems then FC2 will work just as well.

    --
    ----- Documentation is worth it just to be able to answer all your mail with 'RTFM' - Alan Cox.
  10. OK, just use the XP bootloader by Sleepy · · Score: 5, Informative

    I hate to rain on people's parades, but if you're making a system dual-boot with Windows, the conservative/safe thing to do is NOT install a bootloader.

    Just use the one that comes with NT/XP. Of course it is limited in features (esp. compared to GRUB) but it works.

    It's not a ton of work either:
    Write a LILO bootloader to a partition, use 'dd' to copy that to a file (floppy helps), copy the "file" to Windows, and edit boot.ini to point to it.

    Sure, it's not automated, but we're talking just a few steps, and then your're 100% confident that the next upgrade of Windows will not choke.

    It would be nice if the PC industry could get "all OS vendors" to agree to universal bootloader, and maybe even get it in the BIOS, but the situation is what it is. You've got to be very careful when dual booting, especially with BETA software.

    Sounds like the GRUB and kernel people need to work closer together. I don't know about GRUB, but the kernel has some pretty good testsuites so I am surprised this was not caught by the Linux Test Project (LTP). I'm hearing it's actually a 2.6 kernel problem, and since not a lot of people have upgraded to 2.6 we're hearing about it now.

  11. Not true by Natdog · · Score: 4, Informative

    I recently installed Fedora Core 2 on a computer alongside Windows 2000 and had no trouble dual booting. That particular bug has been seen more often with the Test releases of Fedora Core, as should be expected. If it does happen to you, the problem can be easily fixed by running fixmbr in Recovery Console for 2000/XP.

  12. Re:Previous Linux partition tables invalid? by antime · · Score: 4, Informative

    Some people were guessing the problem is due to the 2.6 kernel reporting a different geometry from 2.4 and the tools not being updated to correct for this. I know that even though I didn't repartition, after installing FC2 over my FC1 installation the start and end cylinders reported by fdisk -l are completely different.

  13. Evil Bug. Simple Fix by ProudClod · · Score: 4, Informative

    Right, I was hit by this. I'm a linux newbie. But I solved it.

    To fix it:

    -If you don't already have it, get and install sfdisk (there are RPMs out there, no deps)

    Run (presuming your hdd is hda) as root "sfdisk -d /dev/hda | sfdisk --no-reread -H255 /dev/hda"

    You may have to cd to sbin and replace sfdisk with ./sfdisk to make it work. In my case, i had to add the -force flag to the right hand side of the pipe.

    That command ran, and then i could run WinXP from Grub just fine :)

    However, FC2 has many other major bugs that I and others have found:

    - Nvidia drivers don't work (i know it's nvidia's fault, but it's a stumbling block)

    - As Xorg is in use, ATI drivers are a bitch to install (although if you use google there is a very good howto out there).

    - The kludge i had to use to get software mixing working (dmix under alsa) was inexcusable. With alsa in 2.6, you'd think by default you'd have software mixing. An OS where I can't listen to XMMS and hear GAIM alerts at the same time is just ludicrous. Even sillier is the fact that GAIM alerts are queued, so when i close XMMS i get a minute solid of notification noises playing. Simultaneous sounds SHOULD work out of the box. Esound and arts are not in the equation any more, as alsa mixing is a much better solution - so why isn't it implemented?

    - Totem just won't work. G-Streamer broke totally shortly afterwards.

    - There's no easy way to edit your applications menu, without either SUing, or logging in as root. This seems daft for a multiuser OS like linux.

    I know these bugs aren't Fedora only, but they need addressing if Fedora wants to remain OS of choice for many.

    --
    Gamers Europe - Gaming News. Reviews.
  14. Drive geometry fixed if for me by AgelmarJagad · · Score: 3, Informative

    It is interesting that BIOS updates fix that problem for most people. I recently installed FC2 and had exactly the same problem booting between it and XP. I was finally able to fix it by changing the drive geometry setting in my BIOS from Auto (which was using CHS) to LBA. As soon as I did that it started to boot XP again.

  15. Re:Use Separate Disks by Pros_n_Cons · · Score: 4, Informative

    Seperate disks doesn't matter with this issue, I had XP on hda and installed FC2-test2 on hdb and this bug still bit me. If you install in a work enviornment you definatly should NOT dual boot but if you do there is a safe way of tricking the hard drives into thinking they are both hda and not touching the other. Learn about it here It doesn't work for everyone but if it does, problems like this wont happen again.

    --

    -- "of course thats just my opinion, I could be wrong." --Dennis Miller
  16. Re:No Firewire Either by tuffy · · Score: 5, Informative
    There isn't firewire support compiled into the kernel. If you want to connect an iPod or use any other firewire devices you have to recompile the kernel. That is a really stupid omission especially when it was reported in bugzilla during test 2!

    From what I remember, not only was Firewire unstable in time for release, but was causing instability even for people without Firewire. I'd rather they held off on including it until it is stable rather than risk data loss by including it prematurely.

    --

    Ita erat quando hic adveni.

  17. Re:Now by bob65 · · Score: 4, Informative
    Are you sure? I encountered this "bug" when installing FC2 alongside Windows XP - in my case, changing my hd mode to "LBA" from "Auto" in the BIOS allows both FC2 and WinXP to boot. However, I didn't really like that, so I ended up booting to single-user mode in Fedora and doing the following, as suggested by someone in the bug discussion:

    sfdisk -d /dev/hda | sfdisk --no-reread -H255 /dev/hda

    (I may have needed a --force in there as well). After that, I was able to set the mode back to "Auto" and both Windows XP and FC2 would boot. Note that all I did though, was basically just recreate my partition table by dumping the info provided by sfdisk and piping it back in sfdisk.

    One explanation I read is that the Anaconda screws up the CHS values in the partition table. Windows uses both CHS and LBA, and so when it reads the CHS values it cannot boot. However setting the mode to LBA manually in the BIOS forces Windows to read the LBA values. Linux only uses LBA, so it doesn't matter what mode your hd is set to in the BIOS.

    Of course, I don't really know what I'm talking about, but if someone could provide a better explanation...

  18. Re:Previous Linux partition tables invalid? by Too+Much+Noise · · Score: 4, Informative

    Actually, that's precisely what it is. 2.6 reports a different layout (typically 16 cylinders instead of, say 255 in the logical one) and grub sets itself up this way. Next, it appears that even when the BIOS was explicitly instructed to use LBA access, this is somehow overriden by GRUB, with the result that trying to launch the NT bootloader fails.

    The sfdisk solution on Fedora's bugzilla fails when sfdisk figures a partition does not start at the right cylinder boundary. Apparently, one can try to change the head count only for the windows boot partition, with the hope that it fixes the boot-through-grub problem (I am yet to try this). I guess the biggest problem is for people who don't have an LBA option in BIOS.

    As a proof that it's not Fedora-related, I have the same problem with mdk10.

    Finally, there seems to be no problem if one sets up the installer's kernel to use LBA access for the hd (no switching to CHS occurs).

  19. Re:Not comparable by bob65 · · Score: 4, Informative
    There's more info in the bugzilla report, but it only affects drives larger than ~120GB (or so) and SOMETIMES can be fixed with fixmbr in the windows recovery startup.

    Actually it affected me with my 30GB drive as well. Fixmbr didn't seem to work, but recreating the partition table using sfdisk did seem to work:

    sfdisk -d /dev/hda | sfdisk --no-reread -H255 /dev/hda

  20. Dynamic Disks by thoth · · Score: 4, Informative

    Win2K introduced "dynamic" disks, which changed how the partition table worked. Partition type 0x42 means the disk is dynamic and the real information is contained at the end of the disk. 0x42 is supposed to be a container partition meant to span the disk and say "don't mess with me". An exception are boot and/or system partitions, as those have to be read early during boot before the dynamic disk stuff is loaded. Thus, boot/system partitions can be type 0x42 but not span the disk.

    Anyway, as a wild-assed guess I'd check that out. Perhaps lilo/grub doesn't play well with dynamic disks.

  21. Re:It seems to me by pyrrhonist · · Score: 3, Informative
    It has never worked with any distro to my knowledge. Use partition magic and you should be fine.

    It has worked fine for me in every Redhat since 6.0 and every Mandrake since 7.
    PartitionMagic has also worked, although there were some issues with PM 7 that repartitioning with DiskDrake solved.

    --
    Show me on the doll where his noodly appendage touched you.
  22. Not Fedora. by Nailer · · Score: 4, Informative

    This is Linux kernel 2.6 - Mandrake 10, Suse 9.1 and Fedora Core 2 all suffer from this problem.

    Switching to Debian won't help if you want Linux kernel 2.6. Your paritition table will be fubared.

    Furthermore, people do know what's causing the problem. The Linux kernel now doesn't show the same disk geometry as the BIOS does. The fix is to use sfdisk to recreate the partition table.

  23. Now This Bugs Me! by Master+of+Transhuman · · Score: 3, Informative

    A year or so ago, I tried to install Mandrake 9, Red Hat 8 and Red Hat 7.3 on my old Compaq Deskpro 4000 machine. None of them would install. All of them would either fail to read the partition table - after creating and partitioning and formatting it using the utilities supplied with those distros - or would completely trash the partition table.

    Red Hat 7.0, however, would blow on the system with absolutely no problem or complaint whatsoever.

    After doing some partition work on my latest system with parted, Partition Magic 5 and Partition Magic 8 cannot in any way read my partition table. Windows (98 first, now 2000 and XP) loads fine, Linux (RH 7.3, Knoppix, other Live CD distros) loads fine, all other partition managers (BootItNG, Ranish) see and handle the partition table. ONLY Partition Magic cannot do anything with the partition table - and it is supposed to be the "premier" partition table manager on the market!

    So now we have THIS crap with Fedora Core 2!

    Guys, the partition table is NOT rocket science. It's a few bytes on a disk with a few variations in what each byte means. It's been around for decades.

    So why in hell can't people who write this stuff GET IT RIGHT? What is the goddamn problem with you programmers?

    I realize that hard disk manufacturers are constantly screwing around with their geometry reporting to the BIOS, and of course not writing any Linux drivers, but still a bug of this sort should not exist in any modern OS.

    Get it together.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  24. Ooops, there was supposed to be a hyperlink there by Nailer · · Score: 5, Informative

    The fix is here.

  25. VIA C3 Problem by Alan+Cox · · Score: 4, Informative

    The VIA C3 problem didn't get caught because it worked in the betas. The bug involved is in all the 2.6.x kernels but depends on the alignment and size of the kernel. While the beta kernel worked the final kernel didnt get lucky.

    Ingo and others are currently working through this one to try and find the cause. At the moment nobody is sure if it is a Linux bug or a CPU errata being tripped.