Tutorial: Adding Additional Hard Drives in Linux
Adding A New (Empty) Hard Drive

Alexander Prohorenko
Monday, June 3, 2002 10:36:33 AM
Let's try to add an absolutely new hard drive in this next example.
The only difference from the previous methodology is that before
mounting the new drive, we need to divide that hard drive into
partitions first and format them to whatever filesystem we want to use.
To keep things simple, we'll assume that this new hard drive is
connected as the Master at the Secondary interface (hdc), just as in
the prior example.
Dividing into partitions is done with the help of 'fdisk' utility:
# fdisk /dev/hdc
Command (m for help): _
For a short manual we need to enter the 'm' command:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
We need to know just few necessary commands: d,p,n,q,w. Don't be afraid
to use them--all your changes will be done only in memory and will
only be written to the hard after the 'w' command is entered. If we
have an error, we just need to cancel all
changes with the command 'q'.
First of all, let's make ourself sure that disk is empty:
Command (m for help): p
Disk /dev/hdc: 64 heads, 63 sectors, 787 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
Command (m for help):
Often sellers of PCs and hardware will pre-divide disks into partitions. In such cases we can use command 'd' (described below) to delete
everything what we do not need.
So, let's create a new parititon (with command 'n'), answering all the
questions as we go:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Choosing the partition type-- primary or extended--we will enter P
for primary.
In choosing number of the partition in this example, we will assign
all of the all free space to one partition. Because this will be the
first and only existing partition, we will assign the number 1:
Partition number (1-4): 1
When setting the number of the first cylinder of the partition, we can
just use the default value, which is recorded when we just press Enter:
First cylinder (1-787, default 1):
Using default value 1
Setting the number of the last cylinder of the partition is easy in
this example, since we are filling the entire drive with one
partition. Again, just press Enter for the default (instead of the number of
the cylinder, we can set size of partition in bytes, kbytes, or megabytes):
Last cylinder or +size or +sizeM or +sizeK (1-787, default 787):
Using default value 787
Command (m for help):
Now, partition is created. We can take a look of new table
of partitions with the help of the 'p' command:
Command (m for help): p
Disk /dev/hdc: 64 heads, 63 sectors, 787 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdc1 1 787 1586560+ 83 Linux
Command (m for help):
If we don't like (for some reason) the location or number of the partition, we
can delete it using 'd' command:
Command (m for help): d
Partition number (1-4): 1
Command (m for help):
If you want to divide the disk into a few partitions, you will need to
repeat all these operations a few times. One thing that is important
to remember is that if the amount of partitions is greater than four, you'll need to create
not primary, but an extended partition across the whole available disk
space. Inside this partition you can create as many logical parts as needed.
Remember, please, that logical partitions always should be numbered
from 5 upwards; it doesn't matter how many primary partitions were created before (one,
three, or none at all).
Next: Formatting a Drive and Wrapping Up »