『学了就忘』Linux基础命令 — 39、挂载U盘和挂载NTFS分区
1、在Linux系统中挂载U盘
(1)插入U盘
我们需要把鼠标点入虚拟机里,在插入U盘,虚拟机才能识别新插入的U盘,否则U盘会被真实机识别。虚拟机识别U盘后会出现如下提示。
还要注意一点,在真实机的安装完虚拟机之后,会有几个服务会被开启,如下图所示:
其中VMware USB Arbitration Service
服务一定要开启,否则上边操作,虚拟机也不能识别出U盘。
(2)查询U盘设备文件名
U盘会和硬盘共用设备文件名,所以U盘的设备文件名不是固定的(U盘编号在硬盘后边顺延),需要手工查询。
查询命令:
# 查询硬盘(查询系统中已识别的硬盘,先能识别,才能挂载。)
[root@localhost ~]# fdisk -l
下图就是U盘的信息:
可以看到这个8GB的U盘被识别为sdb4
。这个是Linux系统自动识别的,识别成什么名称就用什么名称。
(3)挂载U盘
挂载命令如下:
# 创建挂载空目录
[root@localhost mnt]# mkdir usb
# 挂载U盘。
# 因为U盘在Windows分区中是FAT32文件系统格式,
# 在Linux系统中识别是vfat 文件系统格式
[root@localhost ~]# mount -t vfat /dev/sdb4 /mnt/usb/
(4)U盘中的中文乱码
如果U盘中有中文,会发现中文是乱码。Linux要想正常显示中文,需要两个条件:
- 安装了中文编码和中文字体
- 操作终端需要支持中文显示(纯字符终端<Linux系带的终端>,是不支持中文编码的)
而我们当前系统是安装了中文编码和字体,而XShell远程终端是Windows下的程序,当然是支持中文显示的。那之所以挂载U盘还出现乱码,是需要在挂载的时候,手工指定中文编码,例如:
# 挂载U盘,指定中文编码格式为UTF-8,加入-o iocharset=utf8(手工指定挂载之后文件的字符编码)
[root@localhost ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
# 注意:需要先卸载,再重新挂载。
(5)U盘卸载
可以执行以下命令:
[root@localhost ~]# umount /mnt/usb/
之前说Linux系统的vfat
代表fat32
文件系统,在Windows系统中fat32
文件系统并没有被淘汰,但是Windows系统中最常用的文件系统是NTFS。
在LInux系统默认不识别NTFS分区的,下面说一下Linux系统如何识别挂载NTFS分区,但是要注意,即使能识别并挂载,也是只读的。
2、在Linux系统中挂载NTFS分区
提示:Linux系统中不能直接读取NTFS和FAT文件系统内容,也只能通过
mount
等命令读取Windows系统中的NTFS和FAT文件系统的内容。
(1)Linux的驱动加载顺序
- (1)驱动直接放入系统内核之中。这种驱动主要是系统启动加载必须的驱动,数量较少。
- (2)驱动以模块的形式放入硬盘。大多数驱动都已这种方式保存,保存位置在
/lib/modules/3.10.0-862.el7.x8664/kernel/
中。(Linux系统中以.ko
结尾的文件就是驱动文件) - (3)驱动可以被Linux识别,但是系统认为这种驱动一般不常用,默认不加载。如果需要加载这种驱动,需要重新编译内核,而NTFS文件系统的驱动就属于这种情况。
- (4)硬件不能被Linux内核识别,需要手工安装驱动。当然前提是厂商提供了该硬件针对Linux的驱动,否则就需要自己开发驱动了。
如果你给标准的服务器安装系统,绝大对数的驱动都是以前两种方式就安装好了的。装完系统后,基本上不需要在单独安装驱动程序。
(2)使用NTFS-3G安装NTFS文件系统模块
如果要识别NTFS文件系统,也非必须重新编译Linux系统内核,那样做非常的麻烦。用下面第三方软件即可解决,非常方便。
- 下载
NTFS-3G
插件
我们从网站http://www.tuxera.com/community/ntfs-3g-download/下载NMFS-3G
插件到Linux服务器上。 - 安装
NTFS-3G
插件
在编译安装NTFS-3G
插件之前,要保证gcc
编译器已经安装。
具体安装命令如下:
# 解压
[root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz
# 进入解压目录
[root@localhost ~]# cd ntfs-3g_ntfsprogs-2013.1.13
# 编译器准备。没有指定安装目录,安装到默认位置中
[root@localhost ntfs-3g_ntfsprogs-2013.1.13] # ./configure
# 编译
[root@localhost ntfs-3g_ntfsprogs-2013.1.13] # make
# 编译安装
[root@localhost ntfs-3g_ntfsprogs-2013.1.13] # make install
安装就完成了,已经可以挂载和使用Windows的NTFS分区了。不过需要注意挂载分区时的文件系统不是ntfs
,而是ntfs-3g
。(如果是编译Linux系统内核完成的识别NTFS文件系统,就用ntfs
,而不是用ntfs-3g
。)
挂载命令如下:
[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点
# 例如:
[root@localhost ~]# mount -t ntfs-3g /dev/sdb1 /mnt/win
注意:就是能识别NTFS分区,也是只读的。