External (USB) drives¶
Introduction¶
I’m using Debian GNU/Linux and I backup my data to external (USB) drives. This page describes how I’ve setup those drives, that is how I’ve recreated a partition table (with a single Linux type partition) and how I’ve formatted and labeled the partition with the ext4 filesystem. This of course erases all the data on the drive, so don’t do that if your external drive contains precious data that you must preserve and retain!
Indications about how to format to FAT32 are also provided.
Recreating the partition table¶
Device identification¶
I’ve plugged in the USB drive and have identified the associated device by
checking the output of the dmesg command (as root). The last lines
should contain the name of the device (probably something like /dev/sdb or
/dev/sdc) for the just mounted drive.
Alternatively, a fdisk -l command (as root) can be used, as it shows
all the disk devices on the system.
Deletion of existing partitions and creation of the new partition¶
Launch fdisk as root with the device as argument:
fdisk /dev/sdb # As root.
Check current partition table with command p.
Delete first partition with command d. If there are more than one
partition, repeat command d as many times as needed.
Create a new partition with command n. fdisk now asks for a few questions.
Answer p (primary), 1 (partition number) and just press enter when
asked for the first and last sectors. fdisk may propose to remove the
signature, accept.
Then use command t to select the partition type. Enter “linux”. Use L
to see the list of possible codes.
Finally, write the new partition table to the disk with command w.
A fdisk -l /dev/sdb command (as root) should show the newly created
partition.
Formatting the new partition¶
Use mkfs.ext4 (as root) to format the newly created partition with the
ext4 filesystem. Note the -L option used to provide the label:
mkfs.ext4 -L <label> /dev/sdb1 # As root.
If you omit the label or want to change it, you can run later:
e2label /dev/sdb1 <label> # As root.
To show the label, just do:
e2label /dev/sdb1 # As root.
FAT32 formatting¶
For a FAT32 formatting instead of a ext4 formatting, the procedure is similar. The differences are:
In fdisk, choose partition type 0c;
Format with
mkfs.vfat -F 32 -n <label> /dev/sdb1;Change label with
mlabel -i /dev/sdb1 ::<label>(mlabel -i /dev/sdb1 -sto show the label).
On Debian GNU/Linux, mkfs.vfat is in package dosfstools and mlabel
is in package mtools. You can install them with:
apt-get install dosfstools mtools # As root.
Chances are that dosfstools is already installed.
NTFS formatting¶
For an NTFS formatting, the procedure is similar again.
In fdisk, choose partition type 7;
Format with
mkfs.ntfs -L <label> /dev/sdb1(it takes a while, but you can use option-ffor faster execution);Change label with
ntfslabel /dev/sdb1 <label>(ntfslabel /dev/sdb1to show the label).
On Debian GNU/Linux, mkfs.ntfs and ntfslabel are in package
ntfs-3g. You can install it with the following command but chances are that
it is already installed:
apt-get install ntfs-3g # As root.
