XP Dual boot Partition question

I recently installed opensuse with dual boot with XP. I followed the guide on The Future Is Open.

I have a 80GB HDD. C with winXP 22GB, E: Logical drive: 34GB and unpartitioned space before I started the opensuse installation. Per the guide, I was supposed to create 3 partitions for linux, swap, / and /home. I could only create 2. When I try to create the 3rd partition I get the msg cannot create it. So now I have 7gb of space wasted. How can I correct this without reinstalling everything?

Here’s how my partitions look in Yast:
http://img101.imageshack.us/img101/6977/partitionstj0.th.png](http://img101.imageshack.us/my.php?image=partitionstj0.png)

A hard drive can have 3 primary partitions and one extended partition. Under the extended partition (/dev/sda2 in your case), you can create a bunch of other partitions. I can’t remember the limit, but it’s a bit more than 3.

From looking at your partitions, it appears that you’ve used up your 3 primary partition slots. You’ll get the message that a new partition cannot be created if you try to create yet another primary partition. The only partition types you can create now would be extended partitions under the 33.97 GB you have in /dev/sda2.

The way your partitions are arranged is painful to look at. That’s my OCD personality talking, but it’s good form to have your primary partitions at the top (/dev/sda1 - 3 and the extended partitions below that). Anyway, try creating another partition, select Extended when it asks you the type and you should be good to go.

Your partitioning is not desirable. On any x86 machine you can only have 4 primary partitions, one of which is an extended primary. You created an extended and then created a logical within it of the same size, so there is no room left in the extended for another logical. The image you posted does not show where the remaining 7GB physically reside on the disk, so it’s not possible to suggest what may be moved or changed to use that space. Strictly speaking, you do not need a separate /home partition, although that is preferable - the greater issue is that with /home included in the root partition of 10GB, if you use openSUSE regularly (accumulating email, files, etc.) you may get tight for space and need that 7GB.

Boot into openSUSE, open a terminal window, and do:


sudo fdisk -lu

And post back the output here. This will report the exact layout by sectors so we can see where the unused space resides and what the options are now.

Thanks for the comments guys. I will post the output of fdisk tonight…

Heres the output from fdisk -lu

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x3ac83ac7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    46138679    23069308+   7  HPFS/NTFS
/dev/sda2        46138680   117386954    35624137+   f  W95 Ext'd (LBA)
/dev/sda3       117386955   120519629     1566337+  82  Linux swap / Solaris
/dev/sda4   *   120519630   141484454    10482412+  83  Linux
/dev/sda5        46138743   117386954    35624106    7  HPFS/NTFS

Can neone please respond? I posted the info asked for above

For an unknown reason, I am not receiving my forum email alerts consistently, so I did not know that you had posted back until just now. I’ll take a look at post back today.

OK. The fundamental problem is that you created an extended primary in which you placed only one logical of equal size (the Windows E volume), complicated by it being physically on the disk in front of the 2 primaries you created for linux. I can only see two options for you now:

The first option works only if the 34GB E volume has only ~20GB of data on it, or you have another drive (e.g., an external) where you could temporarily copy E’s data to. In Windows you would delete sda3 and sda4, then in that unallocated space you create an NTFS primary partition (which with the 7GB not in sda4, would be ~24GB). Let’s say Windows/you assign a drive letter of “F” to it. You then copy the data on E over to F, then delete E, then delete the extended primary holding E, then create a new primary (not an extended) in the space where E is now, then copy the data from F back to the new E, then delete F. At this point, you would have 2 regular primary partitions physically adjacent, plus ~24GB of unallocated space. You then create a 3rd extended primary taking all of the unallocated space. Within that extended, create 3 logicals, the swap, / (root), and /home. Reinstall openSUSE using those 3 logicals. Now, you didn’t want to reinstall, so you probably will not want to do this. But I give you this option anyway, as this is the only way to get what you wanted in the first place. Also, should you use this method, it is critical that the first thing you do is use Windows Disk Management to set the C volume to be “active”, otherwise Windows will not boot (note that asterisk next to sda4; that indicates that sda4 is the current active partition and very likely the Windows boot code in the MBR is still being used, so all you need to do to switch booting back to Windows control is switch the active flag to sda1).

Your second option is a lot easier, but it requires not having a separate /home. You could boot from an openSUSE LiveCD and use YaST Partitioner, or boot from any other bootable CD (like partmagic) or DVD (like Knoppix) which has the “gparted” program on it, or if you have PartitionMagic in Windows it can do this - and you resize sda4 to include the 7GB now unused at the end of the disk. So your openSUSE root will be ~20GB, and it will include /home.

Thanks for the detailed info mingus725.

To make things more easier, let me tell you that this is a fun laptop I am doing all this on with NO DATA whatsoever on it. So I can delete everything and do whatever experimenting I want with it. This is a D400 laptop without any CD/DVD drive on it. I had initially created the E partition so I cud copy the opensuse dvd iso to it to use after I booted with the USB (which didnt work even tho the installer found the iso and everything. The only way I got to install is thru http. Maybe now that I have linux installed I shud make a nice SUSE bootable usb. U can help me there :))

So if I understand this right,

  • I shud delete all partitions after C (22GB) down to unallocated space. - Then create a PRIMARY partition E right after C (say 35GB).
  • Then in the remaining unallocated space create an extended primary
  • then 3 logicals in the extended primary (do I do this while installing linux or in windows?)

Thanks again!

So far all the advice you have from mingus is fine:

And you seem to have the idea clear in your mind.

Go ahead

Yes, that should work fine. Create the extended plus logicals during the openSUSE installation (the rule of thumb is, if possible create a partition with the same OS that will use it). The installer will probably suggest just this; take note of the sizes, though. On this machine, ~1GB for swap, ~9GB for / (root), and the remainder for /home. If needed, you can enter the dialog at this step and manually adjust anything. Be sure to remember to switch the active flag to the first partition before installing. And this approach will require the grub boot loader to be installed in the MBR; it will start the Windows boot for you.

Thanks for the feedback.

I forgot to mention that I had also moved the grub loader to / and installed gagbootloader for dual booting. In the approach above do I have to do anything additional due to this? Thx!

Sorry, can’t help you on that question - no experience with gag.

Thanks for the help guys. I did the repartitioning on the weekend and this time everythings good.

You’re welcome - glad it worked out! :slight_smile: