From RAID and FAT to FDISK and Disk Administrator, heres everything you need to know about hard disks and partitioning.
Ready, Set, Drive!
From RAID and FAT to FDISK and Disk Administrator, here’s everything you need to know about hard disks and partitioning.
The evolution of hard disks goes from punch cards (weve
all heard the story about the guy who dropped his punch
cards and as of last week is still trying to get them
in the correct order) to the fast-forwarding and rewinding
of tape drives and thenfinallyto fixed drives.
As you may know, a fixed drive (or hard disk) is made
up of several flimsy disks called platters. These platters
spin around a rod called a spindle. The platters make
thousands of rotations per minute as a read/write head
can make changes to the data based on the magnetic positions
of the disk. This contraption is safely stored inside
a hard disk case where your operating system, bank software,
and love letters are converted to ones and zeros.
The platters are divided up like a pie into areas called
sectors. The pie-shaped sectors are divided into strips
called tracks. Tracks are numbered from the outside of
the sector to the center of the sector starting with zero.
A disk sector is a specific piece of the track on a specific
sector.
Generally speaking, weve got two kinds of pies,
er, disks: IDE Disk Systems and SCSI. In the olden days,
drive sizes were increasing faster than the technology
available to use them. Your exit strategy was to invest
in SCSI (Small Computer System Interface)and I do
mean invest. These SCSI drives werent cheap. Compaq
and Western Digital put their heads together and, after
saying, "Ouch!" created a less expensive drive
that had a controller integrated on the diskthus
the Integrated Drive Electronics (IDE) drive.
IDE drives topped out at an amazing 528M disk size. From
that opportunity evolved Enhanced IDE drives, which can
support drives of several gigabytes and that, incidentally,
have average disk speeds greater than 10 Mbps.
As SCSI prices lower and SCSI speed increases, these
drives are becoming an easy choice for servers and perhaps
even workstations. The other advantage of SCSI is that
you can connect eight devices to one shared cableincluding
the SCSI controller card.
Under the Hood
I dont know how many times Ive heard some
wise-guy tech respond to any computer problem, "Just
FDISK the drive." (OK, I havent been counting,
but Id guess Ive heard it somewhere between
87 and 234 times.) FDISK is a standard tool you use to
prepare your drives to work with MS-DOS, Windows 95, and
Windows 98. You can also use FDISK to prepare a drive
to install Windows NT.
If we were starting from scratch with just a blank disk
in your computer, wed boot off a DOS floppy containing
the FDISK and Format utilities. First, wed fire
up FDISK and choose to create a DOS partition. FDISK would
ask if wed like a primary partition, an extended
partition, or a logical partition. For starters, wed
want to create a primary partition. This is a partition
that can be marked as active so you can boot off of that
hard drive.
After creating the primary partition and marking it as
active, you can then create some additional partitions
through FDISK. If you have additional space on your drive,
youd then want to create an extended drive. This
is the same idea as adding a new wing to your mansion.
Youd add this large addition and then set up smaller
rooms within the new addition. An extended drive is the
addition, and the logical drives would fit into the extended
drive as smaller partitions.
A typical drive may have a primary C: partition (around
400M) where well only install our operating system.
The extended partition could be around 800M, and inside
of this well create two logical drives, D and E.
D will store all of our applications and is around 300M.
E, which is around 500M, will give us plenty of room for
our data.
I Dont Feel FAT
After creating the partitions for our drive, we then
use the format utility to format our partitions so we
can start saving data to the drive. The C: drive, our
active partition, will also need to be "sysed."
Easy enough; you just use the syntax:
format C: /s
"Sys-ing" the drive formats it and then copies
the operating system files from your boot floppy to your
hard disk so you can boot off the hard disk in lieu of
your bootable floppy.
When you format your drive, youre getting that
drive ready to accept and track data. The file system
youll be using with DOS, Windows 95, and possibly
Windows 98 and NT is FATthe File Allocation Table.
FAT is a reliable file system thats been in use
for years. Windows 95 OSR2 and Windows 98 have seen the
advent of a leaner version of FAT (exactly what were
all looking for, right?) called FAT32. Partitions formatted
with FAT32 use drive space more efficiently than FAT partitions,
so less disk space is wasted. As it stands, FAT32 can
only be seen by Windows 95 OSR2 and Windows 98.
You might be asking yourself, "Is it time for lunch?"
Or you could be asking yourself, "Why the heck dont
I just create one big C: drive? Why partition at all?"
On a workstation, theres nothing wrong with that
idea. The one advantage to partitioning your drive is
that you can put all of your data on one drive and your
backup program will only have to back up the partition
with the data. Another reason is because of the size of
partitions. Under Windows 95 and Windows 98, FAT partitions
are limited to 2G. FAT32 partitions are limited to 2T.
Drive over Here
Partitions have many roles on an NT Server: security,
ease of use, and organization. When installing Windows
NT Server, youre given the opportunity to hop out
from the install program and delete or create partitions.
With FDISK you could, if your BIOS allows it, boot from
the Windows NT Server CD, delete, create, and format partitions
all on the road to NT. Sounds like fun.
A typical drive on an NT server could look like this:
The C: partition is approximately 100M, has DOS installed
on the drive, and is formatted with FAT. The only NT-related
files on this partition are the low-level files that ignite
the launch of NT. Partition D: could be approximately
a gigabyte and stores the WINNT directory and applications.
Finally, partition E: could house home folders and user
data.
In this scenario, the C: drive is the system partition
because it has the system-specific files needed to boot
NT. The D: drive on this server is called the boot partition
because it has all the NT operating system files needed
to boot into NT. Specifically, it has the WINNT directory
and its contents.
Put It on Cruise Control
After youve installed NT (and, of course, added
all the appropriate service packs), you decide to add
a couple of hard disks to your computer. Just like you
would with DOS, Windows 95, and Windows 98, you need to
partition and format the drives. The big difference between
those OSs and NT is that in NT youll work through
the Disk Administrator utility.
NTs Disk Administrator is FDISK all grown up. You
can still create primary, extended, and logical drives,
but you can also do so much more. As a bonus, everything
is color-coded and very easy to work with.
In NT, youre allowed to have four primary partitions
on one drive. Now I know youre excited about that.
What this means is that we can now have four different
partitions that we can mark as active one at a timewhich
means we can have four different OSs that may require
their own primary, active partition to boot up. We could
also have three primary partitions, or one extended partition
in which we would create some logical drivesjust
like before with good old FDISK.
Honest, Officer, Its Not
My Fault
NT Server also offers some fault tolerance for drives.
You may also have heard this as RAID (Redundant Arrays
of Inexpensive Disksinexpensive is only relative
to whose money is paying for the disks). The idea of RAID
is that my data is safe if a hard disk should fail. Sure,
we all know backups are the best way to keep our data
(and jobs) safe, but what about the data in use between
last nights backup and this afternoons disk
failure? Thats where RAID comes into the picture.
Windows NT Server supports two levels of fault tolerance:
RAID 1 and RAID 5. RAID 1 is a mirror set. To create a
mirror set, I need two drives and an NT Server. When I
create a mirror set through Disk Administrators
Fault Tolerance menu, any data that I write to the original
partition is mirrored to the duplicated partition on the
second drive. I can mirror partitions or the entire drive.
If Disk 0 fails, I can still access my data off of Disk
1.
Mirror sets should be mandatory in smaller networks with
only one NT Server. Heres why: If you have only
one domain controller, all your eggs are in one basket.
If that drive fails in a major way, your data is gone
and your little domain is in peril. That means lots of
work: Recover the data (we hope from backup), restore
the registry, and print out fresh copies of your resume.
Meanwhile users arent getting any data off the server
because its down, so theyre playing FreeCell
while the boss watches you rebuild the server.
If, however, you had a mirror set on that system, you
could boot into NT from an NT boot disk (for more on this,
see "Creating
an NT Boot Disk"), use the second drive where
your data is safe and sound, and replace the broken drive
with a new one that evening. Youd be a hero.
The second type of fault tolerance NT Server supports
is RAID 5, stripe sets with parity. Parity is when you
make a farce out of a classical piece of literature, or
an establishment, in a story or theatrical format. Wait
a minute, thats parody. Parity is information that,
when compared against data on the remaining drives, can
reconstruct the data for any member of the stripe set
that may fail.
Stripe sets with parity write data in 64K chunks across
the drives in a stripe. The parity information is written
for each stripe of data to each drive in rotation. NT
stripe sets with parity can have anywhere from three to
32 drives (see Figure 1).
|
Figure 1. Stripe sets
with parity write data in 64K chunks across the drives
in a stripe. The parity information is written for
each data to each drive in rotation. |
The catch in NT Server, however, is that you cant
stripe your system or boot partition. Thats why
mirror sets are a good idea for any server.
Creating
an NT Boot Disk |
Creating an NT boot disk
is so easy that you should make one even
if you dont think youll ever
need it. To create an NT boot disk:
- Format the floppy on an NT computer.
- Copy these files to the floppy:
Intel |
RISC |
-
Ntldr |
-
Osloader.exe |
-
Ntdetect.com |
-
Hal.dll |
-
Ntbootdd.sys (for SCSI drives
with SCSI BIOS disabled) |
|
-
Boot.ini |
|
- Unless you really trust the reliability
of floppies, make another NT boot
disk and keep it someplace safelike
with your mothers secret recipe
for key lime pie.
- After creating your boot disk, always
test things out. The day you need
to use the boot disk, you dont
want to discover you didnt copy
all the files.
- If youre creating the boot
disk to recover from a failed mirror
set, dont forget to edit the
disk value (SCSI) or the rdisk value
(multi) before booting off the floppy.
You have to tell the boot.ini to look
on the mirrored drive.
|
|
|
Drive Twice as Far
Besides creating fault tolerance, Disk Administrator
also helps you manage multiple drives. Lets say
that for some odd reason you end up with 120M of unformatted
space on Disk 0 and 345M of free space on Disk 1. Itd
sure be great if we could somehow merge these two areas
of free space into one neat partition. We can. Through
the partition menu in Disk Administrator you can create
a volume set out of these two hard drives or up to 32
hard drives.
A volume set lets you create a single partition over
multiple drives. In Windows Explorer it looks just like
another partition. But the data actually writes to the
first member of the volume set and then spills over to
the second member, fills that drive up, waterfalls over
to the next member, and so on.
What if you add another drive and end up with several
hundred megabytes that arent part of a partition?
You can extended your volume set to include this new free
spaceif the volume set is using NTFS. If the drive
is using the old standby of FAT instead of NTFS, you have
two choices: create a new partition out of the free space,
or convert your volume set to NTFS and then extend the
volume set to include the free space.
Thats right, convert, not format. To convert a
FAT partition to NTFS, hop out to a command prompt and
use this syntax:
convert <driveletter>: /fs:ntfs
When you reboot, your drive will be "automagically"
converted to NTFS. Your data is safe and sound, and now
you can take advantage of NTFS.
[To read more about taking advantage of NTFS, see
Michael Chacons "NT
Insider" column this month.Ed.]
Sometimes Youre the Bug
As fun as it is, Disk Administrator can also ruin your
day. Besides the obvious danger of wiping out partitions,
you can also stop NT from booting properly.
I mentioned earlier that NT could have four primary partitions
or three primary partitions and one extended partition.
If you have a primary partition and an extended partition,
any new partitions you create on the drive will be primary
partitions. Sounds logical, right?
The problem is that pesky boot.ini file. The boot.ini
file is where that list of operating systems and countdown
timer comes from when you boot up an NT machine. Boot.ini
will sit out on your active partition. Its used
during boot-up to point NTLDR to the partition where the
Windows NT operating system files are stored. The beef
here is that the boot.ini doesnt address our partitions
in the same friendly way we do. The boot.ini uses ARC
(Advanced RISC Computing) naming conventions to identify
drives and partitions. Heres a typical boot.ini
file:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows
NT Server version 4.0"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows
NT Server version 4.0 [VGA mode]"/basevideo /SOS
C:\="MS-DOS"
Heres a translation. The timeout value represents
how the boot process waits for you to choose an operating
system before it automatically loads according to the
default line. You can edit the countdown timer and the
default operating system through the boot.ini, but youd
be better off working through the System Applet on the
StartUp | Shutdown tab.
Multi means either that the disk isnt SCSI or that
it is SCSI but its accessed through a SCSI BIOS.
If the SCSI BIOS were disabled, youd see SCSI here
instead of multi. The zero that follows multi is the ordinal
number of the hardware adapter. Disk is the SCSI bus number.
If its multi then this value is always 0. Rdisk
is the ordinal number of the disk. This value is simply
ignored for SCSI controllers because they manage their
own drives. Remember, drives are numbered starting with
0.
Partition is the ordinal number of the partition. In
this case, were looking for the partition D, or
partition number two. Heres where all the fun starts.
Primary partitions are numbered first, then logical partitions.
If we have the primary C: partition and one extended partition
with the logical D: and E: drives in this extended partition,
wed see C: as partition number 1, D: as partition
number 2, and E: as partition number 3. So, if the WINNT
directory is on the D: partition, our boot.ini looks just
like the boot.ini listed earlier.
Once again: If we create a new partition in Disk Administrator,
this new partition must be a primary partition because
we already have our limit of one extended partition. This
new primary partition can really screw things up. Now
our logical drives D and E change from ARC number 2 and
ARC number 3 to ARC number 3 and ARC number 4. Disk Administrator
is kind enough to remind you of this and to remind you
to edit the boot.ini. If you shrug this message off and
rebootgasp!you wont be able to boot
into NT! NTLDR is looking for the WINNT directory on partition
2; there isnt a WINNT directory on this partition
because the WINNT directory is hiding out on the newly
renumbered partition 3 (the old number two). See Figures
2 and 3 for more detail.
|
Figure 2. Be careful when
you create a new partition in Disk Administrator to
edit the boot.ini file accordingly. Here the WINNT
directory is located on partition 2. |
|
Figure 3. After adding
a new primary partition, however, all the partition
numbers have been changed. The boot.ini file may point
to the wrong partition number to find the WINNT directory. |
So now what? You somehow need to edit that boot.ini file
on your C: drive. You can do this by booting to DOS and
using attrib shr commands and then editing the file
through DOS Editor to point to partition 3. Or... Id
recommend having a trusty NT bootable floppy where you
could edit the boot.ini, boot off the floppy to get into
NT, edit the boot.ini, and then act like you meant to
do that screw-up all along. Indeed, hard drives can almost
be fun, and they can certainly get you into trouble.