Many Linux users have several operating systems installed, often necessitated by hardware setup systems that run under other operating systems, typically DOS or some flavour of Windows. A small section on how best to deal with this is therefore included here.
Leaving aside the debate on weather or not DOS qualifies as an operating system one can in general say that it has little sophistication with respect to disk operations. The more important result of this is that there can be severe difficulties in running various versions of DOS on large drives, and you are therefore strongly recommended in reading the Large Drives mini-HOWTO. One effect is that you are often better off placing DOS on low track numbers.
Having been designed for small drives it has a rather unsophisticated file system (FAT) which when used on large drives will allocate enormous block sizes. It is also prone to block fragmentation which will after a while cause excessive seeks and slow effective transfers.
One solution to this is to use a defragmentation program regularly but
it is strongly recommended to back up data and verify the disk before
defragmenting. All versions of DOS have chkdsk
that can do some
disk checking, newer versions also have scandisk
which is somewhat
better. There are many defragmentation programs available, some versions
have one called defrag
. Norton Utilities have a large suite of
disk tools and there are many others available too.
As always there are snags, and this particular snake in our drive paradise is called hidden files. Some vendors started to use these for copy protection schemes and would not take kindly to being moved to a different place on the drive, even if it remained in the same place in the directory structure. The result of this was that newer defragmentation programs will not touch any hidden file, which in turn reduces the effect of defragmentation.
Being a single tasking, single threading and single most other things operating system there is very little gains in using multiple drives unless you use a drive controller with built in RAID support of some kind.
There are a few utilities called join
and subst
which
can do some multiple drive configuration but there is very little
gains for a lot of work. Some of these commands have been removed in
newer versions.
In the end there is very little you can do, but not all hope is lost.
Many programs need fast, temporary storage, and the better behaved
ones will look for environment variables called TMPDIR
or
TEMPDIR
which you can set to point to another drive. This is
often best done in autoexec.bat
.
SET TMPDIR=E:/TMP
Not only will this possibly gain you some speed but also it can reduce fragmentation.
There have been reports about difficulties in removing multiple primary
partitions using the fdisk
program that comes with DOS. Should this
happen you can instead use a Linux rescue disk with Linux fdisk
to
repair the system.
Most of the above points are valid for Windows too, with the exception of Windows95 which apparently has better disk handling, which will get better performance out of SCSI drives.
A useful thing is the introduction of long filenames, to read these from
Linux you will need the vfat
file system for mounting these partitions.
The most important thing is the introduction of the new file system
FAT32
which is better suited to large drives. The snag is that
there is very little support for this today, not even in NT 4.0 or
many drive utility systems. A stable driver for Linux is coming soon
but is not yet ready for prime time. Stay tuned for updates.
Disk fragmentation is still a problem. Some of this can be avoided by doing a defragmentation immediately before and immediately after installing large programs or systems. I use this scheme at work and have found it to work quite well. Purging unused files and emptying the waste basket first can improve defragmentation further.
Windows also use swap drives, redirecting this to another drive can give you some performance gains. There are several mini-HOWTOs telling you how best to share swap space between various operating systems.
Very recently someone started a project supporting ext2fs
support
for Win95 which you can read about at this
web site.
The trick of setting TEMPDIR
can still be used but not all
programs will honour this setting. Some do, though. To get a good
overview of the settings in the control files you can run sysedit
which will open a number of files for editing, one of which is the
autoexec
file where you can add the TEMPDIR
settings.
Much of the temporary files are located in the /windows/temp
directory and changing this is more tricky. To achieve this you can
use regedit
which is rather powerful and quite capable of
rendering your system in a state you will not enjoy, or more
precisely, in a state much les enjoyable than windows in general.
Registry database error is a message that means seriously bad news.
Also you will see that many programs have their own private temporary
directories scattered around the system.
Setting the swap file to a separate partition is a better idea and much less risky. Keep in mind that this partition cannot be used for anything else, even if there should appear to be space left there.
The only special note here is that you can get a file system driver for
OS/2 that can read an ext2fs
partition.
This is a more serious system featuring most buzzwords known to marketing. It is well worth noting that it features software striping and other more sophisticated setups. Check out the drive manager in the control panel. I do not have easy access to NT, more details on this can take a bit of time.
One important snag was recently reported by acahalan at cs.uml.edu : (reformatted from a Usenet News posting)
NT DiskManager has a serious bug that can corrupt your disk when you have several (more than one?) extended partitions. Microsoft provides an emergency fix program at their web site. See the knowledge base for more. (This affects Linux users, because Linux users have extra partitions)
There is a little bit of confusion in this area between Sun OS vs. Solaris.
Strictly speaking Solaris is just Sun OS 5.x packaged with Openwindows and
a few other things. If you run Solaris, just type uname -a
to see your
version. Parts of the reason for this confusion is that Sun Microsystems
used to use an OS from the BSD family, albeight with a few bits and pieces
from elsewhere as well as things made by themselves. This was the situation
up to Sun OS 4.x.y when they did a "strategic roadmap decision" and decided
to switch over to the official Unix, System V, Release 4 (aka SVR5),
and Sun OS 5 was created.
This made a lot of people unhappy. Also this was bundled with other things
and marketed under the name Solaris, which currently stands at release
2.6 .
This is quite familiar to most Linux users. Note however that the file system
structure is quite different and does not conform to FSSTND so any planning
must be based on the traditional structure. You can get some information by
the man page on this: man hier
. This is, like most manpages, rather brief
but should give you a good start. If you are still confused by the structure
it will at least be at a higher level.
This comes with a snazzy installation system that runs under Openwindows, it will help you in partitioning and formatting the drives before installing the system from CD-ROM. It will also fail if your drive setup is too far out, and as it takes a complete installation run from a full CD-ROM in a 1x only drive this failure will dawn on you after too long time. That is the experience we had where I used to work. Instead we installed everything onto one drive and then moved directories across.
The default settings are sensible for most things, yet there remains a little oddity: swap drives. Even though the official manual recommends multiple swap drives (which are used in a similar fashion as on Linux) the default is to use only a single drive. It is recommended to change this as soon as possible.
Sun OS 5 offers also a file system especially designed for temporary files,
tmpfs
. This is a kind of souped up RAM disk, and like ordinary RAM disks
the contents is lost when the power goes. If space is scarce parts of the
pseudo drive is swapped out, so in effect you store temporary files on the
swap partition. Linux does not have such a file system; it has been discussed
in the past but opinions were mixed. I would be interested in hearing comments
on this.
The only comment so far is: don't! Under Solaris 2.0 it seem that
creating too big files in /tmp
can cause a out of swap space
kernel panic trap. As the evidence of what has happened is as lost as
any data on a RAMdisk after powering down it can be hard to find out
what has happened. What is worse, it seems that user space processes
can cause this kernel panic and unless this problem is taken care of
it is best not to use tmpfs
.
Also see the note on Combining swap and /tmp.
Trivia: There is a movie also called Solaris, a science fiction movie that is very, very long, slow and incomprehensible. This was often pointed out at the time Solaris (the OS) appeared...