Some partition rearrangements under Linux

The Linux installation is as follows:

/dev/hdb1 100 MB /boot
/dev/hdb2 8 MB /home
/dev/hdb3 8 MB /
/dev/hdb4 Extended partition
/dev/hdb5 1 GB Linux swap
/dev/hdb6 100 GB NTFS

The idea was to use the 100 GB partition (/dev/hdb6), which has been formatted with the NTFS (= Windows 2000) file system to store large files under Linux. NTFS file systems cannot be used by Linux yet. The only DOS/Windows filesystem, that is compatible with Linux is FAT32. Unfortunately FAT32 is a quite inefficient system and has a maximal partition size of 32 GB (actually Windows can use FAT partitions up to 127 GB, but it cannot format them itself, one needs a third party utility to format them). Anyhow, Linux can only read and write to FAT partitions up to 32 GB. An additional requirement is that /dev/hdb6 should be mounted to two different mount points. Therefore we have to split this partition into 2 smaller ones. Now this appeared to be impossible under Linux. The reason of this is - like with so many other things that suck - Bill Gates. Similar to his "640KB RAM is enough for everybody" decision, he decided that only four primary DOS-type partitions can be on one physical hard drive. Soon this appeared to be too little and thus a work-around was introduced: "Extended Partitions". One of the four primary partitions of a disk can be a so-called "extended partition" and contain several (actually I think unlimited amount of) logical partitions. Thus in the above layout of the hard disk /dev/hdb partition number 4 (/dev/hdb4) is an extended partition. It contains two logical partitions: /dev/hdb5 and /dev/hdb6. The problem is the following: The Linux utilities cfdisk and fdisk cannot access these two logical partitions separately. If we want to split /dev/hdb6 into two smaller partitions, we first have to delete this partition and then create two new ones in its place. But both cfdisk and fdisk can only delete /dev/hdb4 as a whole. That would delete the Linux swap partition (quite a disaster while you are running the operating system).

The way how to solve the problem is the following: Boot into Windows 2000, delete the 100 GB NTFS partition and created two smaller ones instead (/dev/hdb6 and /dev/hdb7). You have to format them FAT32 or NTFS as Windows cannot do anything else. If you have Partition Magic 8 or higher (preferably on a boot floppy), you can immediately format the two new smaller partitions as Linux partitions (that is: ext2 or ext3). Reboot into Linux. Funnily when mounting the partitions that were formatted using Partition Magic 8, already 5 percent of the space is already occupied although there are no files anywhere (at least this is what the Hardware Browser/Hard Drives utility shows). To reclaim this lost space you have to reformat them under Linux using the command mkfs.ext3 /dev/hdb6. If you want to use the newest (and probably one of the best) file system for Linux, you can format them with the ReiserFS file system (command: mkfs.reiserfs /dev/hdb6). Reboot and add those partitions into the fstab file to automount them on startup.