Price: $69.95 ($29.95 upgrade)
Reviewer: Roderick Smith
PowerQuest was the first company to develop a popular commercial product to modify a computer's partitions non-destructively. Developed originally for OS/2 and then ported to DOS and MS Windows, previous versions of PartitionMagic have been able to create, destroy, resize and copy FAT-16, FAT-32, HPFS and NTFS partitions, as well as convert from FAT-16 to any of the other formats. Needless to say, this has been a great boon to those with multiple operating systems, since it frees them from the tyranny of fixed partition sizes, allowing changes to disk resource allocation without the need to back up to tape, re-partition and restore. Up to version 3.05, however, PartitionMagic included no Linux-specific support. We could modify file systems for DOS, MS Windows and OS/2, but if we needed to modify Linux file systems, we had to do the backup/re-partition/restore dance or use various other workarounds, such as creating new partitions for spillover from existing partitions. PartitionMagic 4.0 promises to change this, with support for Linux EXT2 and Linux swap partition types.
PartitionMagic 4.0 contains an impressive array of features for partition management. These features are included:
The ability to create and delete partitions: when created, partitions can be formatted for FAT-16, FAT-32, HPFS, NTFS, EXT2 or Linux swap. Partition table entries will automatically be marked with the appropriate file system type.
The ability to move and resize partitions: this feature applies to all supported partition types, including Linux swap. For FAT, allocation block sizes are adjusted automatically as appropriate. Unlike previous versions of PartitionMagic, 4.0's move and resize features are integrated into one. Partitions can be moved and resized in one user-interface operation and they can be resized towards or away from the beginning of the drive as well as the end. Such operations may result in two or more actual actions, however.
Partition copy: this copies a partition from one location to another, including across physical disks, and works with all supported partition types. This makes it possible to replace a hard drive easily by copying multiple operating systems to a new drive with a single program. The copies are fast, too; I timed a copy of my Linux /home directory from one drive to another at 3:40 in PartitionMagic, vs. 5:38 using a tar pipe in Linux. The downside is that the copy seems to be doing a semi-raw copy followed by (if necessary) a resize, meaning that fragmentation is maintained on the copy.
The Boot Magic boot loader: this utility manages the booting of multiple operating systems. In principle, it is much like LILO; when installed to a partition, it resides on a FAT partition and re-directs the boot process to another partition. It is graphical in nature, however, so may be more user friendly in operation than LILO. Boot Magic, like LILO but unlike OS/2's Boot Manager, does not require the allocation of its own partition.
The ability to manage (but not create) IBM Boot Manager partitions: this may be of interest to OS/2 users and those who installed Boot Manager using PartitionMagic 3.0x.
File system conversion: FAT-16 file systems can be converted to FAT-32, HPFS or NTFS (but not to EXT2). FAT-32 partitions can be converted to FAT-16 partitions.
Drive integrity checks: this performs operations similar to those done by Linux's e2fsck or MS Windows' CHKDSK or SCANDISK.
Operation from DOS or MS Windows: the OS/2 native executable has been dropped, and there is no native Linux version. Linux users can create a working system from Linux alone, however, as described below.
Batch mode operation: a series of partition changes can be set up which PartitionMagic will then run in sequence. This allows you to do other things while your computer re-configures itself unattended. In case of an error, the batch execution will halt.
“Wizards” to advise and help guide the user through processes such as balancing free disk space, adding a new operating system, etc.
In addition, PartitionMagic has a handful of other features that are of interest primarily to DOS or MS Windows users. For example, it has the ability to move applications from one FAT partition to another and diagnostics to help determine the best possible partition sizes for optimum FAT allocation block use.
PartitionMagic is available for download directly from PowerQuest's web site (via an on-line secure order form that asks for a credit card number) and as a retail package. I purchased my copy via the web site, using my existing 2.02 license number to obtain the upgrade pricing. The entire download is on the order of 50MB, so you will need several hours and/or a fast net connection if you choose to get it in this way. I received ample documentation in Adobe PDF format.
The program is definitely geared towards MS Windows users: when burned to CD, the files create a CD that includes an auto-install program when inserted into a MS Windows machine. Some of the more esoteric features seem to be present only in the MS Windows version of the program, but the one of greatest potential interest to Linux users, Boot Magic, requires a FAT partition to operate in the first place, so this is not a major loss. The installation files include a directory called “linux” which contains two disk images that can be copied to blank 1.44MB floppies. The first of these is a bootable OpenDOS 7.01 disk image with the main DOS PartitionMagic 4.0 executable and a few support files, including a Microsoft mouse driver. The second image includes help files for accessing PartitionMagic's help system from the first disk. Thus, those with Linux and no other OS can still use PartitionMagic by booting this floppy. It can, of course, be customized with other mouse drivers or features. Some of my testing, described below, was done with this DOS disk and some of it was done with MS Windows. Aside from the “Wizards”, the DOS and MS Windows versions of the program perform similarly.
I ran PartitionMagic through a series of tests on my system. I have a SCSI-based computer using a Symbios 53c860-based SCSI host adapter with a secondary adapter based on the Initio 9100UW chip. I ran tests with my SCSI hard disks attached to each of these adapters, with similar results both times. My hard disks include a 4GB Micropolis UltraSCSI, a 2GB Micropolis Fast SCSI-2 and a 2GB IBM UltraSCSI. Since one of the 2GB drives was used entirely for Linux swap space and temporary storage for CD-ROM creation, I was able to use it as a test-bed drive, copying file systems from the other two drives and modifying them with impunity. Most of my tests involved copying, moving and resizing EXT2 and HPFS partitions, although I also tried some operations on FAT-16 and FAT-32 partitions.
In operation, PartitionMagic 4.0 was relatively easy to use and worked as advertised—some of the time. Unfortunately, it produced errors of one sort or another on my system at least as often as it functioned correctly. Sometimes the errors would appear at the end of an operation and not have any apparent ill effect. A few times they would appear at the beginning of an operation, causing it to abort. Other times, particularly with copy operations, errors would occur at the end of an operation and abort it. I also encountered file system corruption on some tests, particularly tests involving HPFS. The one time I encountered ext2fs corruption, e2fsck was able to correct the problems.
For a number of reasons, I am certain that my physical hard drive system is not to blame for these problems. First, I did a low-level format on the IBM drive I was using as a test bed, so I am certain it was free from physical defects. Second, PartitionMagic 4.0 reported no errors on the drive when it was configured to check for them prior to each operation. Third, problems occurred on both the IBM and the Micropolis 2GB when I reconfigured my system to use it for the tests. Fourth, problems occurred with both the Symbios 53c860 board and the Initio board as the host for the hard disks. Finally, problems did not occur when I tried the same operations with PartitionMagic 2.02 (when they were possible with that version of the program).
Thus, I am quite certain that PartitionMagic 4.0 has some serious bugs. These bugs are so severe and so obvious that I find it hard to believe a reputable company would ship a product knowing these bugs existed. Therefore, I must conclude that PowerQuest did not know they existed (although I have now filed extensive bug reports with them) and that something about my system was turning up bugs in the software. Perhaps the peculiar drive geometry on my first physical disk (1018 cylinders, 133 heads, 62 cylinders), produced by the Symbios host adapter, has something to do with it; or maybe PowerQuest simply did minimal testing with SCSI systems; or perhaps their testing used relatively simple partitioning. My drives each have at least two partitions and problems tended to turn up more frequently with three or more partitions.
In addition to the out-and-out primary function bugs, Partition Magic has a number of limitations, some of which would not even occur to many people except that the program really can do so much. Specifically:
The Boot Magic program had problems booting a FreeBSD partition on my system.
The program has problems with some Linux-created partition tables. Specifically, and according to the PartitionMagic documentation, Linux's fdisk creates extended partitions with logical partitions listed in order of creation, which may not be the same as the order of the partitions themselves (e.g., sda6 may appear before sda5). PartitionMagic 4.0 will choke on such partition tables, though version 2.02 doesn't seem to have any problem with them.
There appears to be no way to merge the contents of two partitions; if you have, say, /usr and /usr/X11R6 on two partitions on one drive, you can't turn them into one partition from within PartitionMagic (although you can increase the size of /usr, reboot to Linux, copy /usr/X11R6 to the enlarged /usr, reboot to PartitionMagic, delete /usr/X11R6 and increase the size of /usr again).
Re-sizing or moving a Linux boot partition will render the partition unbootable (assuming LILO is being used to load a kernel image off that partition). Linux users would do well to ensure that they have a floppy with a kernel image, and also a full-fledged Linux boot system with a text editor to handle any necessary changes in /etc/fstab after moving, adding or deleting partitions.
The batch nature of the operations can result in some truly brainless series of operations. If you enter a partition resize operation, then decide you want to perform a different resize on the same partition, both will most likely be executed, although one would do. Fortunately, you can clear the entire queue of changes; however, you can't delete a single operation.
The above may appear to paint a rather bleak picture—to some extent, this is justified. The types of operations performed by PartitionMagic are inherently dangerous and bugs in such a program are a serious matter. On the other hand, my suspicion that the bugs manifest due to something specific about my system may mean that others may have better luck. PowerQuest also has a good reputation for producing reliable software, so I have high hopes that they will correct these problems. Assuming this happens, PartitionMagic 4.0x will be an excellent program and a must-have utility for anyone managing multiple operating systems on one computer. The $69.95 price may seem a bit high, but if you have ever spent most of a day juggling partitions around using tape backups, removable disks or some similar mechanism, you'll recognize the appeal of being able to do that quickly and on the fly. If you own a previous version of PartitionMagic, the $29.95 upgrade price represents a true savings for any Linux user, since it radically improves on the program's utility for the Linux community.
The best possible way to use PartitionMagic seems to be as an exclusive means of managing partitions on a drive. Because of incompatibilities such as the one mentioned above with Linux's fdisk, I recommend using PartitionMagic to create all the new partitions on a disk. If you find yourself with a disk that PartitionMagic won't handle because of Linux-created logical partitions, you may be able to use Linux's fdisk to delete the offending partitions and recreate them in the correct order. If you're careful to create new partitions of precisely the correct size, your partitions will still be usable, but I strongly recommend backing them up before attempting such an operation.
If version 4.01 is not available by the time you read this, I recommend waiting for it unless you are in immediate need of Partition Magic's abilities. If you must use version 4.0, use it cautiously: back up all data before changing a partition, then run e2fsck, CHKDSK, or SCANDISK on any modified partitions immediately thereafter. (You may need to specify the -f option to e2fsck to be sure it runs on the partition.) A spot check of the integrity of the data after a modification would also be a good idea. Of course, these suggestions also apply to any program that does low-level operations on a hard disk, but given the problems I encountered with PartitionMagic 4.0, they apply even more strongly to it.
Roderick Smith can be reached via e-mail at firstname.lastname@example.org.