MandrakeUser.Org - Your Mandrake-Linux Knowledge Base!


*DocIndex - Installation


* Considerations
* Repartitioning
* Which File system To Choose
* Partition Schemes
* Resizing Windows Partitions Using 'Fips 2.0'

Related Resources:

Partition mini-HOWTO
File systems HOWTO
Prope r Filesystem Layout
ext3 website (Red Hat)
JFS website
ReiserFS website
XFS website

Revision / Modified: Sep. 20, 2001
Author: Tom Berger


* Considerations

In most cases, you'll want to keep your old operating system(s), but have some space left to put GNU/Linux on. Coexistence isn't a problem for GNU/Linux, if you keep in mind the disk space needed by Mandrake.
A minimum installation of Mandrake uses some 100MB but it isn't much fun ;-). One GB is fine, more is better, of course, since it will allow your system to grow. A complete installation of Mandrake (all packages) uses - depending on release - up to 3 GB, but - in my opinion - that usually doesn't make sense. 2 GB of disk space should be more than enough for an average workstation.
You don't have to worry about 'primary' or 'logical' partitions, first or second hard disk since you can install Linux on either.

* section index * top

* Repartitioning

M comes with its own graphical free repartitioner, 'DiskDrake', which allows you to create, delete and resize Linux and Windows partitions without losing data during installation. It also has an 'automatic mode' which requires no user intervention at all. As with all repartitioning tools, however, you are advised to backup your data first.

You can avoid repartitioning by using 'Lnx4Win', which will create a virtual partition on top of your existing MS-Windows partition. Performance and stability however are much better if you decide to run GNU/Linux on its own file system, 'extfs2'. You can find 'Lnx4Win' on your Mandrake CD. It will take at least (!) 500MB of disk space on a FAT32 file system (Win98) and more than 1GB on FAT16 (DOS and Win95).

If you happen to have the proprietary program Partition Magic 4 or later, you can create, move and resize ext2 partitions non-destructively (i.e. without erasing data) from a boot floppy set. Notice that this program does currently not support journaled file systems (ReiserFS, ext3, JFS or XFS).

* section index * top

* Which File system To Choose

Starting with 8.1, Mandrake offers quite an array of file systems: the traditional ext2 as well as the journaling file systems ReiserFS, ext3, JFS and XFS. A journaling file system keeps a log ('journal') of all data transactions. In case of hardware failure, no data on the disk will be lost.

By default, 8.1 uses ReiserFS, by some regarded as the most mature journaling file system. ReiserFS however still has problems with exporting NFS shares, and some people object to the policies and philosophy of Hans Reiser and his company. Both JFS and XFS have big companies behind them: IBM for JFS and SGI for XFS. XFS will be of special interest for all SAMBA users, since it is currently the only file system which allows the implementation of Windows ACLs.

'ext3' has been developed by a Linux programmer. Its goal is maximum compatibility with the traditional ext2 file system. In fact it is possible to switch between ext2 and ext3 without losing data, which is a unique feature, since changing a file system usually involved formatting a partition. Linux distributor Red Hat uses ext3 as their journaling file system of choice. So ext3 might be the best if you want a journaling file system but also best compatibility.

But there isn't anything wrong with staying with the well-proven ext2 file system, either. It still is the best supported file system, and you can switch to ext3 and back at any time.

'Which file system is the best' is poised to become another of those pointless, but fun community in-fights ...

* section index * top

* Partition Schemes

Compared to operating systems like MS-Windows, partitions only play a minor role in GNU/Linux. During runtime you won't recognize their existence at all, since the GNU/Linux file system does not depend on them.

Basically, you need but two partitions: one mounted at '/' (the 'root' partition), which holds all the data, programs, libraries etc and one for the 'swap file' which serves as virtual system memory.

Traditionally, '/home', which contains the home directories of all users on the system (except 'root') is also on a partition of its own. This comes in handy when upgrading the system: you can tell the installer to format all partitions except '/home' and thus you'll keep your personal files. It's also handy when you do experimental stuff on your box: just unmount '/home' and your personal files are safe. It also has some advantages for making backups since you can use the 'do not traverse file systems' switch most synchronizing / backup tools offer. The size for '/home' depends on various factors: number of users, uses etc. On a single user system 200 MB should be enough (at least for me ;-)), if you don't compile source by yourself, you can subtract another 50 MB.

You should be fine with this basic setup in most situations. This is also the setup the installer applies to your machine when running in non-interactive mode.

Of course you can go on from here: many people put '/usr', '/var' and '/tmp' on separate partitions. The reasoning here is that the '/' partition which contains all the system critical data like configuration file in '/etc' or programs needed by 'init' in '/bin' and '/sbin' should be accessed as little as possible by a running system, thus minimizing the risk of data or disk corruption. It also makes mounting '/' in system repair mode easier.
In such a setup, you won't need more than 100 MB for '/' and perhaps 50 MB for '/tmp'. The size of '/var' can vary widely. You'll need more space on '/var' if you are running servers like Apache, Postfix, MySQL etc, since these store their data on '/var'. For an occasional, i.e. local, use of those, 200 MB suffice. If you run these services globally, 500 MB and more might be needed.

How large should a swap partition be? The vast majority of Linux system will do just fine with a 100 MB swap partition, regardless of the amount of RAM in the machine. On machines with a large amount of RAM (more than 128 MB), swap will hardly be used, machines with a small amount of RAM (less than 64 MB) will stay slow even you assign 500 MB to swap.
If your machine needs more than 100 MB swap, it is too slow to be of any use anyway. You should then consider getting more RAM or using less memory intensive programs.

* section index * top

* Resizing Windows Partitions Using 'Fips 2.0'

(Note: Since Mandrake now comes with its own lossless partitioning tool, this paragraph is only of interest for users of pre-7.0 Mandrake releases.)

M comes with the free DOS based non-destructive partition re-sizer 'fips' ('\dosutils\fips20'). Fips will split existing primary FAT16 and FAT32 (DOS, Windows 3.x, Windows 9x) partitions and create a new primary partition. It is a console program, but really easy to handle. The whole process usually doesn't take more than 15 minutes.


'Fips' will only split primary partitions. If you want to split your 'C:' drive, this restriction is of no importance to you, since C: always resides on a primary partition.
If you want to split a drive other than C:, you want to check if it is on a primary partition: open a DOS-Window and type 'fdisk'. Choose option '4' to show the partition table. If the drive you want to split is marked 'PRI', everything's OK.


Run Windows' own defragmentation program on the drive you want to split: Open 'My Computer', get the right-click context menu for the drive, choose 'Properties' - 'Extras' - 'Optimize'.

Now prepare a boot-diskette. Put a diskette into your diskette drive and choose 'format' from the context menu in 'My Computer'.
If the diskette is blank, mark 'Only copy system files' and hit 'Start'. If the diskette has data on it, mark 'full format' and 'Copy system files'. Hit 'Start'.

Copy 'fips.exe', 'restorrb.exe' and 'errors.txt' from the 'Fips20' directory of your Mandrake CD to your new boot-diskette.
Leave the disk in the drive.

Running 'Fips'

Note: You can stop 'Fips' at any time by hitting CTRL-c. Also note that there is no key table loaded. You might have to hit 'z' to get 'y'.

  1. Reboot. The system should now boot off the diskette. If not, you have to change the boot order in your computers' BIOS.
  2. Type 'fips'. If your system features multiple partitions, it will ask you, which partition you want to split.
  3. It runs some checks and then asks you if you want to make a backup of your boot-sector. Type 'y'. Also answer 'y' to the next question about the diskette. 'Fips' then writes the backup to your boot-diskette.
  4. Now you should see something like this:
    Old partition Cylinder New Partition
    235MB 134 1736.4MB
    The left value shows you the minimum size that will be reserved for your 'old' partition, the right value the maximum size your new partition will have. The 'Cylinder' value isn't really important here.
    Adjust these values by using the 'left' and 'right' arrow keys on your keyboard. If you are splitting a C: drive, you might at least reserve 500MB for the old partition.
    Hit the 'Enter' key when you're done.
  5. Now 'Fips' will run another test and then present you the new partition table. You now have the chance to reedit the table or create it.
  6. 'Fips' now runs the final test and asks you if you want it to write the new partition scheme to the hard disk. There have been no changes written to disk until now. Answer 'y'.
  7. That's it! Reboot, change the BIOS boot order to boot from CD-Rom first and go right into installing GNU/Linux. Good luck! ;-)
    If you reboot into Windows again, note that some drive letters will have changed. They will revert to their old values once you have installed GNU/Linux onto the new partition.

You'll find more information in 'fips.doc', but you probably won't them.

* section index * top

Legal: All texts on this site are covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB (Tom Berger) and Mandrakesoft 1999-2002.