Systém souborů NTFS (New Technology File System) je proprietární souborový systém vytvořený společností Microsoft a je hojně využíván v operačních systémech Windows společnosti Microsoft.
Ve výchozím nastavení většina distribucí Linuxu neumí připojit systém NTFS, nicméně je možné nainstalovat ovladač, který nám to umožní, abychom mohli číst a zapisovat data na disk NTFS.
V tomto příkladu jsem připojil soubor VMDK z virtuálního počítače se systémem Windows k virtuálnímu počítači se systémem Linux CentOS 7.
Při spuštění příkazu ‚fdisk -l‘ vidíme, že disk je rozpoznán (po restartu systému), avšak ještě není připojen, abychom mohli přistupovat k datům. Vidíme primární disk pro systém Linux /dev/sda, zatímco /dev/sdb je náš 1GB disk NTFS, který má oddíl /dev/sdb1 NTFS.
~]# 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
Při pokusu o připojení disku NTFS se standardně zobrazí níže uvedená chyba.
~]# mkdir /windows ~]# mount /dev/sdb1 /windows/mount: unknown filesystem type 'ntfs'
Instalace potřebných balíčků
Pro provedení připojení musíme nainstalovat balíček ntfs-3g, což je ovladač NTFS pro uživatelský prostor systému Linux. Tento balíček pochází z repozitáře EPEL, pokud používáte systém CentOS/RHEL, takže pokud jste ještě nenakonfigurovali svůj systém tak, aby používal repozitář EPEL, spusťte následující příkaz.
~]# yum install epel-release -y
Nyní bychom měli být schopni nainstalovat balíček ntfs-3g z úložiště EPEL.
~]# yum install ntfs-3g -y
Jestliže používáte Ubuntu/Debian, měli byste být schopni rovnou spustit příkaz ‚apt-get install ntfs-3g‘. V mé instalaci Debianu 8 již byla k dispozici, takže jsem mohl NTFS bez problémů připojit.
Montáž disku NTFS
Můžeme nyní úspěšně provést připojení bez jakýchkoli chyb.
~]# mount /dev/sdb1 /windows/ ~]# blkid /dev/sdb1/dev/sdb1: LABEL="NTFS" UUID="CA4A1FD94A1FC0DD" TYPE="ntfs"
Můžeme potvrdit, že operační systém nyní vidí disk NTFS jako připojený.
~]# df -h /windows/Filesystem Size Used Avail Use% Mounted on/dev/sdb1 1021M 11M 1011M 2% /windows
V tuto chvíli byste měli být schopni číst a zapisovat data na připojený disk NTFS.
Automatické připojení NTFS
Můžeme vytvořit položku v souboru /etc/fstab, aby se náš disk NTFS automaticky připojil při spuštění systému. Níže je uveden příklad položky, kterou jsem umístil do svého souboru fstab. Tím se disk připojí do adresáře /ntfs.
/dev/sdb1 /windows ntfs-3g defaults 0 0
Po přidání této konfigurace by se měl disk NTFS připojit automaticky při spuštění systému. Před provedením restartu se doporučuje nejprve spustit příkaz ‚mount -a‘ a potvrdit, že se disk připojí bez chyb. Pokud během spouštění systému dojde k chybám, může se stát, že systém nebude správně spuštěn, proto je důležité jej nejprve otestovat.
Shrnutí
Viděli jsme, že disk NTFS je možné v systému CentOS 7 Linux snadno připojit po instalaci balíčku ntfs-3g, který nám poskytuje potřebné ovladače.