How to Mount USB Device in CentOS 7 (NTFS and Linux FS)

USB Hard Disk Drive or USB Flash Drive (Pen drive) is a popular external device that can be used to backup data or transfer data from one device to other device. In GUI (Graphical User Interface) Operating System such as Window or GNOME Desktop in Linux can automatically mount USB device and can show data in it if the File System of that device is supported. But all users do not like or always do not have GUI mode of Operating System specially the CentOS or Red Hat Linux user. In this case, USB device must be mounted manually and then access data from it. On the other hand, by default Linux (CentOS or Red Hat) does not support NTFS File System. But most of the USB devices are usually formatted with NTFS which is a Windows supported file system. To read or write data from NTFS formatted disk in CentOS or Red Hat Linux, a third party application named NTFS-3G have to be used. How to create or delete disk partition with fidisk utility was discussed in my previous article. In this article, I will discuss how to format USB devices and how to mount USB devices in CentOS or Red Hat Linux to read or write data from USB devices. I will also discuss how to install NTFS-3G to read or write data from NTFS USB device from CentOS or Red Hat Linux.

How to Mount USB Hard Disk or USB Flash Drive in CentOS 7

If you insert a USB Hard Disk or USB Flash Drive in CentOS 7 or Red Hat 7 Linux, you will find a new SD (SCSI Disk) drive with available drive letter (such as sdb or sdc) is attached in /dev directory. You will also find that a partition is automatically created such as sdb1 or sdc1. After inserting USB device, issue the flowing command to find your newly created partition.

[root@localhost ~]# fdisk -l

 

 

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x00096c2a

 

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1026047      512000   83  Linux

/dev/sda2         1026048     5220351     2097152   82  Linux swap / Solaris

/dev/sda3         5220352    41943039    18361344   83  Linux

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x100d3780

 

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     1026047      512000   83  Linux

 

Disk /dev/sdc: 15.9 GB, 15938355200 bytes, 31129600 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xfdc01076

 

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1   *          63    31129599    15564768+   c  W95 FAT32 (LBA)

From the above output, you can see a new device /dev/sdc is attached and its size is 15.9 GB. You can also see a new partition /dev/sdc1 has been created automatically and the partition is with FAT32 which is supported both Window and Linux Operating System. So, we can easily mount this partition to a mount point such as  /usb directory in our CentOS 7 or Red Hat 7 Linux with the following commands.

[root@localhost ~]# mkdir /usb

 

[root@localhost ~]# mount /dev/sdc1 /usb

[root@localhost ~]# df -HT

Filesystem     Type      Size  Used Avail Use% Mounted on

/dev/sda3      xfs        19G  5.1G   14G  28% /

devtmpfs       devtmpfs  506M     0  506M   0% /dev

tmpfs          tmpfs     514M  127k  514M   1% /dev/shm

tmpfs          tmpfs     514M  7.5M  507M   2% /run

tmpfs          tmpfs     514M     0  514M   0% /sys/fs/cgroup

/dev/sda1      xfs       521M  122M  400M  24% /boot

/dev/sdb1      xfs       521M   27M  495M   6% /data

/dev/sdc1      vfat       16G  8.2k   16G   1% /usb

From the above output, we can see that our USB device (/dev/sdc1) has been mounted to /usb directory. Now you can keep data or copy data from this USB device by browsing /usb directory with cd command.

[root@localhost ~]# cd /usb

 

[root@localhost usb]# ls

data  file1

But FAT32 (vfat) has a limitation. It cannot transfer more than 2 GB file size at a time in Linux and in Windows it can transfer 4 GB file size at a time. So, if you need to transfer more than 2GB file size at a time, you have to first format it to other Linux supported file system such as ext4 or xfs that can overcome this limitation.

So, if you wish to transfer more than 2 GB file size at a time, format the USB device with Linux supported file system with following command and then mount the partition to the mount point ( /usb directory).

[root@localhost ~]# mkfs.xfs -f /dev/sdc1

 

meta-data=/dev/sdc1              isize=256    agcount=4, agsize=972798 blks

=                       sectsz=512   attr=2, projid32bit=1

=                       crc=0

data     =                       bsize=4096   blocks=3891192, imaxpct=25

=                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=2560, version=2

=                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@localhost ~]# mount /dev/sdc1 /usb

[root@localhost ~]# df -HT

Filesystem     Type      Size  Used Avail Use% Mounted on

/dev/sda3      xfs        19G  5.1G   14G  28% /

devtmpfs       devtmpfs  506M     0  506M   0% /dev

tmpfs          tmpfs     514M  127k  514M   1% /dev/shm

tmpfs          tmpfs     514M  7.5M  507M   2% /run

tmpfs          tmpfs     514M     0  514M   0% /sys/fs/cgroup

/dev/sda1      xfs       521M  122M  400M  24% /boot

/dev/sdb1      xfs       521M   27M  495M   6% /data

/dev/sdc1      xfs        16G   34M   16G   1% /usb

Now you can see the USB device is formatted with xfs file system. So, you are now eligible to transfer more than 2GB file at a time.

After using USB device, you generally remove the USB device from your system. But before removing you should unmount the USB device from the mount point (/usb directory) with the following command.

[root@localhost usb]# cd

 

[root@localhost ~]# umount /usb

How to Mount NTFS USB Device in CentOS 7 Linux

The NTFS is a Windows Operating System supported File System. So, CentOS or Red Hat Linux cannot usually mount a NTFS formatted USB HDD or USB Flash Drive. If you insert a NTFS USB device and run fdisk command, you will find a new partition and the partition file system is NTFS.

[root@localhost ~]# fdisk -l

 

 

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x00096c2a

 

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1026047      512000   83  Linux

/dev/sda2         1026048     5220351     2097152   82  Linux swap / Solaris

/dev/sda3         5220352    41943039    18361344   83  Linux

 

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x100d3780

 

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     1026047      512000   83  Linux

 

Disk /dev/sdc: 16.2 GB, 16231956480 bytes, 31703040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xc3072e18

 

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1   *          48    31703039    15851496    7  HPFS/NTFS/exFAT

As it is a NTFS USB device, CentOS 7 or Red Hat Linux cannot usually mount it until you format it with Linux supported File System or use a third party tool. As we do not want to format it and want to use NTFS USB device, we will us third party open source tool named NTFS-3G that will help to mount NTFS formatted Disk in CentOS 7 or Red Hat 7 Linux.

The NTFS-3G is present in EPEL (Extra Packages for Enterprise Linux) repository. So, we have to enable EPEL repository before installing NTFS-3G. The following commands show how to enable EPEL Repository in CentOS 7 or Red Hat 7 Linux.

[root@localhost ~]# yum install wget –y

 

[root@localhost ~]# ~] wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

[root@localhost ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

[root@localhost ~]# rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm

EPEL Repository is now enabled and we are ready to install NTFS-3G. To install NTFS-3G, issue the following command from your command prompt.

[root@localhost ~]# yum install ntfs-3g –y

NTFS-3G is now installed and ready to work. NTFS-3G works with FUSE module. FUSE module is by default included with CentOS 7 or Red Hat 7 Linux. However, if you find that FUSE module is not present in your kernel, issue the following command to install and load the FUSE driver module.

[root@localhost ~]# yum install fuse –y

 

[root@localhost ~]# modprobe fuse

We are now ready to mount the above NTFS USB device in our CentOS 7 or Red Hat 7 Linux. First create the mount point for NTFS device with the following command.

[root@localhost ~]# mkdir  /backup

Now mount the NTFS USB device to the mount point with the following command.

[root@localhost ~]# mount -t ntfs-3g /dev/sdc1 /backup

You can now find that the NTFS USB device is mounted to the mount point with the following command.

[root@localhost ~]# df -HT

 

Filesystem     Type      Size  Used Avail Use% Mounted on

/dev/sda3      xfs        19G  5.2G   14G  28% /

devtmpfs       devtmpfs  506M     0  506M   0% /dev

tmpfs          tmpfs     514M  127k  514M   1% /dev/shm

tmpfs          tmpfs     514M  7.5M  507M   2% /run

tmpfs          tmpfs     514M     0  514M   0% /sys/fs/cgroup

/dev/sda1      xfs       521M  122M  400M  24% /boot

/dev/sdb1      xfs       521M   27M  495M   6% /data

/dev/sdc1      fuseblk    17G  5.0G   12G  31% /backup

Now go to your NTFS USB device by browsing backup directory and you will find that your files are present there.

[root@localhost ~]# cd /backup

 

[root@localhost backup]# ls

Activator  Autorun.inf  bootmgr      BREB visit              BSTI  PLI        sources  System Volume Information AL.ico     boot         bootmgr.efi  BREB Visit Report.docx  efi   setup.exe  support  Time extension letter.docx

You can now do any file operation here. If you want to make mount point permanent at the boot time, simply add the following line at the end of /etc/fstab file. The mount point will remain as permanent.

/dev/sdc1    /backup    ntfs-3g        defaults    0    0

[root@localhost ~]# vim /etc/fstab

 

UUID=bee34176-dd55-479e-95c5-9545912d14b9 /                       xfs     defaults        1 1

UUID=dede0f3e-6c9a-4185-afb4-f129fb873246 /boot                   xfs     defaults        1 2

UUID=40464ff6-29e5-4492-9698-1b8229ca58f6 swap                    swap    defaults        0 0

/dev/sdb1                                /data  xfs     defaults        0 0

/dev/sdc1       /backup   ntfs-3g       defaults        0 0

[root@localhost ~]# mount –a

If you want to remove the NTFS USB device, just delete the above fstab (/etc/fstab) entry and unmount with the following command and then remove your device.

[root@localhost backup]# cd

 

[root@localhost ~]# umount /backup

If you face any confusion to follow above steps properly, watch the below video about mounting USB device in CentOS 7 Linux and hope your confusion will be removed.

How to mount USB device (both Linux supported File System and NTFS) in CentOS 7 or Red Hat 7 Linux has been discussed in this article. I hope you are now  able to mount your USB device in your CentOS 7 or Red Hat 7 Linux. However, if you face any confusion to follow above steps properly, feel free to discuss in comment or contact with me from Contact page. I will try my best to stay with you.

Why not a Cup of COFFEE if the solution?

how-to-mount-usb-device-in-centos-7-ntfs-and-linux-fs

ABU SAYEED

I am a system administrator and like to share knowledge that I am learning from my daily experience. I usually work on MikroTik, Redhat/CentOS Linux, Windows Server, physical server and storage, virtual technology and other system related topics. Follow Me: Facebook, Twitter and Linkedin.

Your name can also be listed here. Have an IT topic? Submit it here to become a System Zone author.

Leave a Reply

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

*