New Technology File System (NTFS - 新技术文件系统) 是由 Microsoft 创建的专有文件系统,广泛用于 Microsoft 的 Windows 操作系统。
默认情况下,大多数 Linux 发行版无法挂载 NTFS,但是可以安装允许我们执行此操作的驱动程序,以便我们可以读取和写入数据到 NTFS 磁盘。
在本示例中,我将 VMDK 文件从基于 Windows 的虚拟机添加到 CentOS 7 Linux 虚拟机。
当我们运行“fdisk -l”时,我们可以看到磁盘已被识别(在系统重新启动后),但它尚未挂载以供我们访问数据。
我们可以看到 Linux 系统的主磁盘 /dev/sda,而 /dev/sdb 是我们的 1GB NTFS 磁盘,它具有 /dev/sdb1 NTFS 分区。
[jack@onitroad ~]# 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: 0x0004c930 Device Boot Start End Blocks Id System /dev/sda1 * 2048 616447 307200 83 Linux /dev/sda2 616448 4810751 2097152 82 Linux swap / Solaris /dev/sda3 4810752 41943039 18566144 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: 0xfc757b2a Device Boot Start End Blocks Id System /dev/sdb1 128 2091135 1045504 7 HPFS/NTFS/exFAT
默认情况下,当我尝试挂载 NTFS 磁盘时,会出现以下错误。
[jack@onitroad ~]# mkdir /windows [jack@onitroad ~]# mount /dev/sdb1 /windows/ mount: unknown filesystem type 'ntfs'
安装所需的软件包
为了执行挂载,我们需要安装 ntfs-3g 包,它是一个 Linux NTFS 用户空间驱动程序。
如果我们使用的是 CentOS/RHEL,此软件包来自 EPEL,因此如果我们尚未将系统配置为使用 EPEL 存储库,请运行以下命令。
[jack@onitroad ~]# yum install epel-release -y
现在我们应该能够从 EPEL 存储库安装 ntfs-3g 包。
[jack@onitroad ~]# yum install ntfs-3g -y
否则,如果我们使用的是 Ubuntu/Debian,我们应该能够立即运行“apt-get install ntfs-3g”。
在我的 Debian 8 安装中,它已经可用,所以我能够毫无问题地挂载 NTFS。
挂载 NTFS 磁盘
我们现在可以成功执行挂载而没有任何错误。
[jack@onitroad ~]# mount /dev/sdb1 /windows/ [jack@onitroad ~]# blkid /dev/sdb1 /dev/sdb1: LABEL="NTFS" UUID="CA4A1FD94A1FC0DD" TYPE="ntfs"
我们可以确认 NTFS 磁盘现在被视为已被操作系统挂载。
[jack@onitroad ~]# df -h /windows/ Filesystem Size Used Avail Use% Mounted on /dev/sdb1 1021M 11M 1011M 2% /windows
此时我们应该能够在已挂载的 NTFS 磁盘上读写数据。
自动挂载 NTFS
我们可以在 /etc/fstab 文件中创建一个条目,以便我们的 NTFS 磁盘在系统启动时自动挂载。
下面是我放入 fstab 文件的条目示例。
这会将磁盘挂载到 /ntfs 目录。
/dev/sdb1 /windows ntfs-3g defaults 0 0
添加此配置后,NTFS 磁盘应在系统启动时自动挂载。
在执行重新启动之前,建议先运行“mount -a”命令并确认磁盘安装没有错误。
如果在引导期间发生错误,我们可能会遇到无法正常引导的系统,因此首先进行测试很重要。