Manually Mounting a USB Flash Drive in Linux

Share
Share

By Jason Jones
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.

procedure to manually mount drive once

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.

procedure to manually mount drive for repeated use

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.

Share
(Visited 38 times, 1 visits today)

Comments

  • Avatar photo baynix09 says:

    hiii, please, i understand the the tutorial till the third stage, but i dont understand the fourth command. my problem is, what will i input here “SCSI device” in the case where my device is /dev/sdd
    kidndly please reply quick, thanks in advance

  • Avatar photo baynix09 says:

    also, i have this error msg “wrong fs type, bad option, bad superblock on /dev/sdd,
    missing codepage or helper program, or other error
    In some cases useful info is found in syslog – try
    dmesg | tail or so “

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    Avatar photo
    299,263 views