Manually Mounting a USB Flash Drive in Linux
Posted: 16 Feb 2005
*note* Before you begin trying to do this manually, make sure Linux
has not all ready mounted your drive to your Desktop automatically.
There are two ways to manually mount your flash drive in
Linux.
The first
way we'll describe should be used if you are going to rarely mount your
drive, or only mount it once.
The second
way we'll explain should be used if you plan on using your flash drive on a
more regular basis.
Plug in the flash drive into one of the USB ports on your
computer. | These usually are found on the back-side
of your computer. Some newer models also have some ports on the front
panel.
After you've plugged it in, you'll want to open a terminal window
and become the "root" user. This user is the only one which can access the
commands to manually mount your drive. To become the root user, type in the
following commands.
[jason@linux:~> su
Password:
linux:/home/jason #
|
When it asks for your password,
enter the root password. (You won't see any typing on the screen when you enter
your password. This is normal, and makes your computer more
secure.)
After you've become root, enter the following command into the
same terminal window to see if your computer has recognized the flash drive you
plugged in.
linux:/home/jason # lsusb
Bus 002 Device 003: ID 08ec:0010 M-Systems Flash Disk Pioneers DiskOnKey
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
linux:/home/jason #
|
This information tells me that
the system recognized one USB device named "M-Systems Flash Disk Pioneers
DiskOnKey" That is good. Yours will most likely have a different name, so look
for the name of your flash disk's manufacturer in the
output.
*note* My system only has one USB device plugged in. If
you have multiple devices plugged in, it will recognize them as well as your
flash device, so your output will most likely look very differently than
mine.
If your output doesn't list anything that looks like your flash
drive, I'd recommend trying different USB ports on your computer to see if it
can get listed. You must get your computer to recognize your flash drive in
order to continue with this tutorial.
After successful recognition of
your USB drive, you'll want to create a directory where your USB drive will be
mounted. I entered the following commands into the same terminal window to do
this.
linux:/home/jason # cd Desktop/
linux:/home/jason/Desktop # mkdir flash
linux:/home/jason/Desktop #
|
- The "cd Desktop" command tells the computer to go into the Desktop
directory (this is where I want to make the directory, so I can access the
flash drive directly from my Desktop)
- The "mkdir flash" command makes a directory named "flash" which we're
going to use to mount the flash drive.
With that done, we need to get
the appropriate device which is attached to your flash drive.
To do this,
simply issue the following command in the same terminal window.
dmesg
| grep -i "SCSI device"
linux:/home/jason/Desktop # dmesg | grep -i "SCSI device"
SCSI device sda: 31520 512-byte hdwr sectors (16 MB)
SCSI device sda: 31520 512-byte hdwr sectors (16 MB)
SCSI device sda: 31520 512-byte hdwr sectors (16 MB)
linux:/home/jason/Desktop #
|
As you can see, there are three
lines of output, but they are all the same. The information we're interested in
is the output immediately after "SCSI device". On my machine it's
sda.
This is the device we're looking for. On most machines this
will be the case. If you've got a newer machine with an SATA drive or a SCSI
drive in it, the output will most likely be quite different. The words you'll be
looking for will probably be sdb or sdc. To make sure you select
the correct device, simply look for some information that describes your flash
drive. For example, my flash drive has 16 megabytes of storage on it. On the
output, the words (16 MB) would be a good indicator of that being my
flash drive.
When you've found the correct device (sda, sdb, sdc, etc...)
enter the following command into the same terminal window:
linux:/home/jason/Desktop # pwd
/home/jason/Desktop
linux:/home/jason/Desktop # mount -t vfat -o uid=jason,gid=users /dev/sda /home/jason/Desktop/flash
linux:/home/jason/Desktop #
|
There's quite a bit there, so
let's break it down.
- "pwd" is used to see where the path is to your Desktop, so we can
accurately mount the flash drive. You'll use the line after it later.
- The next command is the command to mount your flash drive to the flash
directory. Let's break that down so we can understand it.
- "mount" is the command used.
- "-t vfat" tells the command to mount the "vfat" filesystem (which most
flash drives are).
- "-o uid=jason,gid=users" makes the mount accessible by the "jason" user.
You'll want to change this to the user with which you use to log in.
Example: if you use the username "jhamilton" to log in, you'd use "-o
uid=jhamilton,gid=users" instead.
- "/dev/sda" points to the correct device. Make sure you use the same
device you found earlier. Example: If you found your correct device to be
"sdc" earlier, you'd use "/dev/sdc" instead.
- "/home/jason/Desktop/flash" is the directory to which you want the
device to be mounted. You'll want to use the results of the "pwd" command
here. Example: If the line after the "pwd" command was
"/home/jhamilton/Desktop" you'd use "/home/jhamilton/Desktop/flash"
instead.
Your flash drive is now mounted and ready to use.
If you followed the instructions exactly, there is a new folder on your desktop
named "flash" which can be used to put files, images, music, or anything else
you want!
When you're done copying, simply pop out the drive and you're
on your way.
This is the way you should mount your drive if you plan on using it
often.
Plug in the flash drive into one of the USB ports on your
computer. | These usually are found on the back-side
of your computer. Some newer models also have some ports on the front
panel.
After you've plugged it in, you'll want to open a terminal window
and become the "root" user. This user is the only one which can access the
commands to manually mount your drive. To become the root user, type in the
following commands.
[jason@linux:~> su
Password:
linux:/home/jason #
|
When it asks for your password,
enter the root password. (You won't see any typing on the screen when you enter
your password. This is normal, and makes your computer more
secure.)
After you've become root, enter the following command into the
same terminal window to see if your computer has recognized the flash drive you
plugged in.
linux:/home/jason # lsusb
Bus 002 Device 003: ID 08ec:0010 M-Systems Flash Disk Pioneers DiskOnKey
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
linux:/home/jason #
|
This information tells me that
the system recognized one USB device named "M-Systems Flash Disk Pioneers
DiskOnKey" That is good. Yours will most likely have a different name, so look
for the name of your flash disk's manufacturer or name in the
output.
*note* My system only has one USB device plugged in. If
you have multiple devices plugged in, it will recognize them as well as your
flash device, so your output will most likely look very differently than
mine.
If your output doesn't list anything that looks like your flash
drive, I'd recommend trying different USB ports on your computer to see if it
can get listed. You must get your computer to recognize your flash drive in
order to continue with this tutorial.
After successful recognition of
your USB drive, you'll want to create a directory where your USB drive will be
mounted. I entered the following commands into the same terminal window to do
this.
linux:/home/jason # cd Desktop/
linux:/home/jason/Desktop # mkdir flash
linux:/home/jason/Desktop #
|
- The "cd Desktop" command tells the computer to go into the Desktop
directory (this is where I want to make the directory, so I can access the
flash drive directly from my Desktop)
- The "mkdir flash" command makes a directory named "flash" which we're
going to use to mount the flash drive.
With that done, we need to get
the appropriate device which is attached to your flash drive.
To do this,
simply issue the following command in the same terminal window.
dmesg
| grep -i "SCSI device"
linux:/home/jason/Desktop # dmesg | grep -i "SCSI device"
SCSI device sda: 31520 512-byte hdwr sectors (16 MB)
SCSI device sda: 31520 512-byte hdwr sectors (16 MB)
SCSI device sda: 31520 512-byte hdwr sectors (16 MB)
linux:/home/jason/Desktop #
|
As you can see, there are three
lines of output, but they are all the same. The information we're interested in
is the output immediately after "SCSI device". On my machine it's
sda.
This is the device we're looking for. On most machines this
will be the case. If you've got a newer machine with an SATA drive or a SCSI
drive in it, the output will most likely be quite different. The words you'll be
looking for will probably be sdb or sdc. To make sure you select
the correct device, simply look for some information that describes your flash
drive. For example, my flash drive has 16 megabytes of storage on it. On the
output, the words (16 MB) would be a good indicator of that being my
flash drive.
Now, enter the simple command as follows:
linux:/home/jason/Desktop # pwd
/home/jason/Desktop
linux:/home/jason/Desktop #
|
This command is simply to tell us
what the path is to your Desktop. We'll be using this later.
After that
is done, the first thing to do is make a backup of a *very* important file named
"/etc/fstab" by issuing the following command:
linux:/home/jason # cp /etc/fstab /etc/fstab.bak
linux:/home/jason #
|
Now, we're going to need to tell
your computer to set itself up to mount your flash drive every time your
computer is turned on. To do this you'll need to add something like the
following line to the "/etc/fstab" file. (yours might vary a little bit
depending on the information you've received previously)
/dev/sda
/home/jason/Desktop/flash vfat users,noauto,uid=jason,gid=users 0 0
Some of the information might be different for you. If you didn't find
sda for your device before, you'll have to enter the appropriate device.
Example: If you found "sdc" for your device, you would change the "/dev/sda"
line to "/dev/sdc".
You will also change the
/home/jason/Desktop/flash line to the appropriate directory. Example: If the
line after the "pwd" command was "/home/jhamilton/Desktop" you'd use
"/home/jhamilton/Desktop/flash" instead of
"/home/jason/Desktop/flash".
Also, you'll need to change the "uid=jason"
line to reflect the username you enter when you start Linux. Example: If you
type in "JHamilton" when you log into NLD, you'll want to change "uid=jason" to
"uid=JHamilton".
With that, you should be good to go.
Now
we're gonna enter the command to alter the /etc/fstab file. To do this issue the
following command in your terminal window:
*note* Be sure to use
your own info from above!
linux:/home/jason/Desktop # echo "/dev/sda /home/jason/Desktop/flash vfat users,noauto,uid=jason,gid=users 0 0" >> /etc/fstab
linux:/home/jason/Desktop #
|
Now your /etc/fstab file has been
altered, and you're ready to mount your flash drive.
to do so, simply
enter the following commands:
linux:/home/jason/Desktop # exit
linux:/home/jason/Desktop # mount flash
linux:/home/jason/Desktop #
|
And your flash drive should be
mounted! You can now drag 'n' drop things into your "flash" folder on your
Desktop!
When you turn your computer off, in order to mount it again,
simply go to your Desktop directory in a new terminal by typing "cd Desktop" and
then type in "mount flash" and it'll be mounted again.
|