|Summary:||Installer blows away preexisting NTFS partition|
|Product:||[Retired] Red Hat Linux||Reporter:||Edward Schlunder <zilym>|
|Component:||installer||Assignee:||Jay Turner <jturner>|
|Status:||CLOSED RAWHIDE||QA Contact:|
|Fixed In Version:||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2000-02-08 13:02:54 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
Description Edward Schlunder 1999-09-05 04:43:11 UTC
I installed linux today, and to my dismay, my NT 4.0 partition mysteriously vanished! Here is a list of what my partition table looked like according to the Linux fdisk (during the installation, and before I had changed anything or added a linux swap/native space): Device Boot start end blocks ID System hda1 1 261 2096451 6 Dos 16 bit hda2 262 784 4200997+ 5 Extended hda5 262 389 1028128+ 6 Dos 16 bit hda6 390 784 3172806 7 NTFS During the installation, I deleted the hda5 (1gig) Fat 16 partition. I used that space to create two new partitions. First I made a 23 meg (2 numbers on that "start" "end" thing) linux swap space first. Then, with the remaining extra space I created a linux native partition. When I went to reboot the computer, everything was fine as far as linux was concerned, but when I tried to boot into windows NT, it claimed it couldn't find the krnl32.exe file or whatever... Naturally, that would be expected since I had deleted one partition that came before the NT partition, and then replaced it with two new partitions. That of course screws up the boot.ini file. I did not edit it at that time. Of course, my first though was, "Oh Crud! Damn linux!" Of course, I quickly realized my error, and then booted into Windows 98 (hda1 on the partition list), and then changed my boot.ini file to point to the right partition number. It was originally pointing to partition "3" because NT looks at them and counts the primary (non-extended) one gig as partition number 1. Anyways, after changing the numbers in the boot.ini to "4", I figured that should work perfectly. No dice. So, I changed it to "2" in the boot.ini file thinking that just maybe perhaps for some reason the Windows NT partition "moved" somehow to the beginning of the extended partition. Of course, that makes no sense, and natuarally, NT did not boot like it should... So, this was getting pretty horrifying (to say the least). Anyways, I used the windows 98 fdisk and tried to see if the Win NT partition still existed at all. Well, of course it couldn't find it at all. Thinking that perhaps the old Windows 98 fdisk simply couldn't detect NT partitions, I next tried using Partition Magic 3.0. Now, I know P Magic supports NT partitions because I have used it before. Anyways, it said that my NT partition simply didn't exist, and instead, right where it should have existed was a great big 3 gig peice of "free space". Anyways, seeing as how I didn't want to loose all my NT data, I decided to go back into linux fdisk and see if I could somehow "repartition" the NT "free space" back into a real NT partition. So, I used the linux fdisk and recreated it with exactly the same "start" and "end" numbers that it used to have. It worked!! After changing my boot.ini file back from "2" to "4", it worked just fine. My data is still all intact, and I am glad that the linux fdisk did not destroy all my data when it re-wrote my NT partition to the partition table(like dos fdisk would). I'm not sure what that Linux fdisk did when I installed linux, but I am 100% certain I did NOT delete the NT partition while installing linux. This wasn't user error. In fact, I did it all over again to make sure it wasn't me that was causing the error.
Comment 1 Jay Turner 2000-02-08 12:59:59 UTC
This problem has to do with the way that fdisk (and therefore Disk Druid) handles deletions and additions within an extended partition. When you deleted hda5, your NTFS partition (previously hda6) became hda5 but stayed in the same place on the disk (that is it stayed at cylinders 390-784) When you added the partitions for linux, you were creating hda6, hda7 and possibly other, but they were all existing in the cylinders between 262 and 389 (i.e. physically before the NTFS partition, but logically after) This is what caused the problem you saw. In trying to walk the partition chain, you have to jump to the end of the drive and then back to the middle. This is something that Partition Magic cannot handle and the NT Bootloader throws up its hands as well. Really the only way this would work correctly for all accounts is to use a program which would allow you to move partitions around on the disk (something like Partition Magic will allow this) In addition, we are currently looking at the possibility of reworking this behavior in fdisk to see if we can come up with a way to move the partitions. I am adding this to a list of bugs to be addressed in future releases.