Het New Technology File System (NTFS) is een eigen bestandssysteem gemaakt door Microsoft en wordt veel gebruikt in Microsoft’s Windows besturingssystemen.
De meeste Linux distributies zijn standaard niet in staat om NTFS te mounten, het is echter mogelijk om een driver te installeren die ons in staat stelt om dit wel te doen zodat we gegevens kunnen lezen en schrijven naar een NTFS schijf.
In dit voorbeeld heb ik het VMDK bestand van een Windows gebaseerde virtuele machine gekoppeld aan een CentOS 7 Linux virtuele machine.
Als we ‘fdisk -l’ uitvoeren kunnen we zien dat de schijf wordt herkend (na een systeem reboot), maar hij is nog niet aangekoppeld zodat we toegang hebben tot de data. We zien de primaire schijf voor het Linux systeem /dev/sda, terwijl /dev/sdb onze 1GB NTFS schijf is die de /dev/sdb1 NTFS partitie heeft.
~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk 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 LinuxDisk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xfc757b2a Device Boot Start End Blocks Id System/dev/sdb1 128 2091135 1045504 7 HPFS/NTFS/exFAT
Als ik standaard de NTFS schijf probeer te mounten, krijgen we de onderstaande foutmelding.
~]# mkdir /windows ~]# mount /dev/sdb1 /windows/mount: unknown filesystem type 'ntfs'
Installeren Benodigde Pakketten
Om de mount uit te voeren, moeten we het ntfs-3g pakket installeren, dat is een Linux NTFS userspace driver. Dit pakket komt van EPEL als u CentOS/RHEL gebruikt, dus als u uw systeem nog niet hebt geconfigureerd om de EPEL repository te gebruiken, voert u het volgende commando uit.
~]# yum install epel-release -y
Nu zouden we het ntfs-3g pakket uit de EPEL repository moeten kunnen installeren.
~]# yum install ntfs-3g -y
Of als u Ubuntu/Debian gebruikt, zou u gewoon ‘apt-get install ntfs-3g’ meteen moeten kunnen uitvoeren. In mijn Debian 8 installatie was het al beschikbaar, dus ik kon NTFS zonder problemen mounten.
Mount The NTFS Disk
We kunnen nu met succes de mount uitvoeren zonder fouten.
~]# mount /dev/sdb1 /windows/ ~]# blkid /dev/sdb1/dev/sdb1: LABEL="NTFS" UUID="CA4A1FD94A1FC0DD" TYPE="ntfs"
We kunnen bevestigen dat de NTFS schijf nu door het besturingssysteem wordt gezien als gemount.
~]# df -h /windows/Filesystem Size Used Avail Use% Mounted on/dev/sdb1 1021M 11M 1011M 2% /windows
Op dit punt zou u in staat moeten zijn om gegevens te lezen en te schrijven op de aangekoppelde NTFS schijf.
Monteer NTFS automatisch
We kunnen een entry maken in het /etc/fstab bestand zodat onze NTFS schijf automatisch wordt gemount bij het opstarten van het systeem. Hieronder staat een voorbeeld van de entry die ik in mijn fstab bestand heb gezet. Hierdoor wordt de schijf gemount in de /ntfs directory.
/dev/sdb1 /windows ntfs-3g defaults 0 0
Als deze configuratie is toegevoegd, zou de NTFS schijf automatisch moeten mounten bij het opstarten van het systeem. Voordat u opnieuw opstart, is het aanbevolen om eerst het commando ‘mount -a’ uit te voeren en te bevestigen dat de schijf zonder fouten aankoppelt. Als er fouten optreden tijdens het opstarten, kunt u achterblijven met een systeem dat niet goed opstart, dus het is belangrijk om eerst te testen.
Samenvatting
We hebben gezien dat het mogelijk is om eenvoudig een NTFS schijf te mounten in CentOS 7 Linux zodra het ntfs-3g pakket is geïnstalleerd dat ons voorziet van de benodigde drivers.