NTFS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page NTFS and the translation is 100% complete.
Not to be confused with NFS.


Az NTFS (New Technology File System) a Microsoft által kifejlesztett saját tulajdonú adathordozó-fájlrendszer Windows és Windows-alapú operációs rendszerek számára.

Két fő módszer létezik az NTFS támogatás elérésére Linux használata esetén. A Linux kernel 5.15 tartalmazza az új NTFSv3 meghajtóprogramot, amely teljes mértékben támogatja az NTFS fájlrendszert, beleértve a tömörítési képességeket is. Emellett létezik egy FUSE fájlrendszer-meghajtóprogram, az NTFS-3G - amely lassabb, de stabilabb és időtállóbb megoldást kínál.

Telepítés

Kernel

A Linux kernel 5.15 előtt a fő vonalba integrált régi NTFS kernel-meghajtóprogram nagyon korlátozott funkcionális támogatást nyújtott az NTFS fájlrendszer számára. A kernel beállításinformációi a támogatást "részleges, de biztonságos" jelzőkkel határozták meg. A régi meghajtóprogram képes volt meglévő fájlok felülírására, de nem volt képes fájlokat vagy könyvtárakat létrehozni, törölni vagy átnevezni. A Linux 5.15-től kezdődően a régi NTFS kódot lecserélték az új Paragon-féle kernelbe integrált NTFS-meghajtóra, amelyet "NTFSv3" néven ismerünk. Ez az új meghajtóprogram már teljes körű funkciókkal rendelkezik, beleértve a teljes írás-olvasási képességeket és a tömörítési támogatást is.

A legtöbb NTFS-felhasználó számára érdemes engedélyezni a FUSE-alapú NTFS-3G megvalósítást azokon a rendszereken, amelyek az 5.15 előtti kernelt futtatják.

Natív támogatás

Linux 5.15 és újabb verziók esetén a következő kernelopciókat kell engedélyezni az új NTFSv3 meghajtóhoz:

KERNEL Az új NTFSv3 meghajtóprogram engedélyezése, amely opcionális támogatást nyújt a Windows tömörített fájlok (lxz/xpress) olvasásához (CONFIG_NTFS3_FS, CONFIG_NTFS3_LZX_XPRESS)
File systems  --->
    DOS/FAT/NT Filesystems  --->
        <*> NTFS Read-Write file system support Search for <code>CONFIG_NTFS3_FS</code> to find this item.
        <*> activate support of external compressions lzx/xpress Search for <code>CONFIG_NTFS3_LZX_XPRESS</code> to find this item.

NTFS-3G (FUSE megvalósítás)

Az 5.15 előtti Linux verziókban az NTFS olvasási/írási képességek FUSE segítségével történő eléréséhez a következő kernelopciókat kell engedélyezni:

KERNEL NTFS engedélyezése FUSE segítségével az NTFS-3G használatával (CONFIG_FUSE_FS)
File systems  --->
    <*> FUSE (Filesystem in Userspace) support Search for <code>CONFIG_FUSE_FS</code> to find this item.

A sys-fs/ntfs3g szoftvercsomagra is szükség van (tekintse meg az emerge szekciót lentebb).

Emerge

NTFS-3G

Important
A következő csomagra csak az NTFS-3G használata esetén van szükség. Nincs szükség rá natív támogatás esetén!

Mivel az NTFS-3G egy FUSE-alapú fájlrendszer, ezért felhasználói térbeli segédprogramokat igényel. A FUSE a Filesystem in Userspace rövidítése, amelynek bizonyos hátrányai vannak a kernel térben működő fájlrendszer-meghajtóval szemben, nevezetesen ez a kisebb teljesítményt jelenti.

Amennyiben "csak olvasható fájlrendszer" hibákat tapasztal, akkor szükséges lehet a suid USE jelölőzászló engedélyezése.

USE flags for sys-fs/ntfs3g Open source read-write NTFS driver that runs under FUSE

+fuse Enable ntfs-3g FUSE driver
+mount-ntfs Install mount.ntfs symlink
+ntfsprogs Enable ntfsprogs
acl Add support for Access Control Lists
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
ntfsdecrypt Build and install the ntfsdecrypt application.
static-libs Build static versions of dynamic libraries as well
suid Enable setuid root program(s)
xattr Add support for extended attributes (filesystem-stored metadata)

A USE jelölőzászlók áttekintése és szükséges módosítása után telepítse a FUSE felhasználói térbeli szoftvereszközöket. Ez lehetővé teszi az NTFS fájlrendszerek kezelését:

root #emerge --ask sys-fs/ntfs3g

Használat

Létrehozás

Warning
A mkfs.ntfs parancs visszafordíthatatlanul törli annak a partíciónak a tartalmát, amelyet a formázásra kijelöltek. Győződjön meg róla, hogy a megfelelő partíciót választja ki, mielőtt futtatná ezt a parancsot!

Az NTFS fájlrendszer létrehozásához a /dev/sda1 partíción (szükséges hozzá a ntfsprogs USE jelölőzászló):

root #mkfs.ntfs /dev/sdyX

Kérjük, hogy cserélje ki a /dev/sdyX értéket arra a tényleges partícióra, amelyet Ön formázni szeretne.

Felcsatolás

Többféle módon lehet egy NTFS fájlrendszert felcsatolni:

  • mount - Manuális felcsatolás.
  • /etc/fstab - Számítógép indításakor történő felcsatolás.
  • removable media - Igény szerinti automatikus felcsatolás.
  • AutoFS - Automatikus felcsatolás a hozzáféréskor.

Natív támogatás

Az NTFS3 meghajtóprogram használata amely a Linux kernel 5.15 és újabb verzióiban elérhető:

root #mount -t ntfs3 /dev/device /path/to/mountpoint
Note
A mount /dev/device /path/to/mountpoint parancs sikertelen lehet, még akkor is, ha az ntfs3 meghajtóprogram be van töltve. Ennek egyik oka lehet, hogy az /etc/filesystems fájlban nem szerepel az ntfs3 sor, ami lehet az előre beállított beállítás. Ebben az esetben egyszerűen győződjön meg róla, hogy a parancsot -t ntfs3 opcióval hajtja végre.

FUSE (NTFS-3G)

Az olvasásra és írásra egyaránt alkalmas meghajtóprogram használata az ntfs3g szoftvercsomag által biztosítva:

root #mount -t ntfs-3g /dev/device /path/to/mountpoint

BitLocker

További információért tekintse meg a UEFI Dual boot with Windows 7/8, BitLocker szekciót.

A Linux dm-crypt natív támogatást nyújt a BitLocker és a BitLocker to Go számára, kivéve néhány nagyon régi változatot (például a Windows Vista). Bár a cryptsetup képes olvasni a BitLocker fejlécét bitlk, a fő követelmény az, hogy a Linux kernel támogassa az alkalmazott titkosítási algoritmust.

Tip
További részletekért a dm-crypt-ről olvassa el a kapcsolódó man súgóoldalakat: cryptsetup (8), crypttab (5).

A Windows fájlrendszer használatához, amely BitLocker-rel van titkosítva Linuxon, az első lépés a BitLocker helyreállítási kulcs beszerzése az adott kötethez Microsoft Windowsban. Példa egy ilyen helyreállítási kulcsra:

FILE 00112233-4455-6677-8899-AABBCCDDEEFF.keyBitLocker recovery key for specific volume UUID
001122-334455-667788-990011-223344-556677-890123-456789
Tip
Kérjen segítséget a Microsoft támogatási infrastruktúrájától a BitLocker egyedi helyreállítási kulcsának beszerzéséhez. A jelen írás idején a következő támogatási weboldal ismerteti a folyamatot Windows 10 és 11 esetében: Find your BitLocker recovery key.

Linux rendszeren a cryptsetup képes automatikusan dekódolni azokat a köteteket, amelyek az /etc/crypttab fájlban be vannak állítva. Ha systemd profile rendszert használ, akkor tekintse meg a sys-fs/cryptsetup configuration dokumentációt a tartós beállításhoz (például automatikus BitLocker dekódoláshoz számítógép indításkor).

Először tárolja a helyreállítási kulcsot egy fájlban. Kényelmes hely az ilyen titkosítási kulcsok tárolására például a /etc/cryptsetup-keys.d lehet. Ha a Windows BitLocker kötetazonosítója az előző példához hasonlóan 00112233-4455-6677-8899-AABBCCDDEEFF lenne, akkor létrehozhatja a következő fájlt: /etc/cryptsetup-keys.d/00112233-4455-6677-8899-AABBCCDDEEFF.key.

root #mkdir /etc/cryptsetup-keys.d
root #echo 001122-334455-667788-990011-223344-556677-890123-456789 > /etc/cryptsetup-keys.d/00112233-4455-6677-8899-AABBCCDDEEFF.key
Warning
Mint minden titkosítási kulcs esetében, itt is rendkívüli óvatosság szükséges a kulcsokhoz való hozzáférés biztosításakor. Mivel a BitLocker kulcs titkosítatlan szöveg formátumban van tárolva, a kulcsot tartalmazó fájlhoz való hozzáférést korlátozni kell:
root #chmod 444 /etc/cryptsetup-keys.d/*.*

Ezután azonosítsa a BitLocker partíciót. Ez lehet bármilyen Linux által támogatott azonosító, például UUID vagy LABEL. Az alábbi példa a partíció UUID-ját használja, amelyet a gdisk segítségével lehet azonosítani (alternatívaként használható a parted is), valamint a lsblk parancsot:

root #gdisk -l /dev/nvme0n1
GPT fdisk (gdisk) version 1.0.9
 
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present
 
Found valid GPT with protective MBR; using GPT.
Disk /dev/nvme0n1: 3907029168 sectors, 1.8 TiB
Model: SSD0000SSD2G                            
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 4205 sectors (2.1 MiB)
 
Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          534527   260.0 MiB   EF00  EFI system partition
   2          534528          567295   16.0 MiB    0C01  Microsoft reserved
   3          567296      3902930943   1.8 TiB     0700  Windows boot partition
   4      3902932992      3907028991   2.0 GiB     2700  Windows RE
root #lsblk -o +PARTUUID
NAME                      MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS      PARTUUID
nvme0n1                   259:0    0  1,8T  0 disk                   
├─nvme0n1p1               259:1    0  260M  0 part                   00000000-0000-0000-0000-000000000000
├─nvme0n1p2               259:2    0   16M  0 part                   00000000-1111-0000-0000-000000000000
├─nvme0n1p3               259:3    0  1,8T  0 part                   00112233-aabb-4455-ccdd-66778899eeff
└─nvme0n1p4               259:4    0    2G  0 part                   00000000-2222-0000-0000-000000000000

Az előző példában láthatjuk, hogy a Windows partíció a 3-as számú partíció, /dev/nvme0n1p3, és a partíció UUID-je vagy PARTUUID értéke 00112233-aabb-4455-ccdd-66778899eeff. Fontos megjegyezni, hogy ez a partíció UUID különbözik a Windows által a BitLocker számára megadott kötet UUID-tól.

Ezután hivatkozzon a helyreállítási kulcs fájlra, amely sima szöveg formátumban tárolja a kulcsot, az /etc/crypttab fájlban. Például:

FILE /etc/crypttabcrypttab beállítás
windows_bitlk  PARTUUID=00112233-aabb-4455-ccdd-66778899eeff  /etc/cryptsetup-keys.d/00112233-4455-6677-8899-AABBCCDDEEFF.key  bitlk,discard,nofail
Note
Lehetőség van arra, hogy közvetlenül az eszköz elérési útját használja, például /dev/nvme0n1p3, a partíció UUID helyett, például PARTUUID=00112233-aabb-4455-ccdd-66778899eeff. Ennek hátránya azonban az, hogy bizonyos rendszerbeállítások módosításai során a különféle beállításfájlokat frissíteni kell, például ha az eszközszámok megváltoznak: a nvme0n1 nvme1n1-re változhat, ha SSD-ket áthelyeznek vagy új SSD-t adnak hozzá. Emellett választhat egy másik nevet is a mapper eszközhöz (például windows_bitlk), valamint a BitLocker helyreállítási kulcsot tartalmazó fájlhoz. Ahelyett, hogy a Windows által hozzárendelt BitLocker UUID-t használná, célszerű lehet az adott célját tükröző nevet adni a fájlnak, például Windows-BitLocker-volume.key vagy Additional-Data-Volume-BitLocker.key. Ügyeljen arra, hogy a példákban szereplő elnevezéseket az Ön rendszerén használt megnevezésekre cserélje.

A /etc/crypttab fájl esetében szabadon hozzáadhat vagy eltávolíthat opciókat az igényeinek megfelelően. Például a nofail opció megakadályozza, hogy a systemd indítási hibát jelezzen, ha a BitLocker kötet valamilyen okból nem érhető el. Ennek hiányában az operációs rendszer indítása leállhat, ha a BitLocker dekódolása sikertelen, és csak egy systemd mentőhéjhoz biztosít hozzáférést.

Az automatikus felcsatolás érdekében egy BitLocker titkosított NTFS partíciót a /etc/fstab fájlban is be kell állítani. Az NTFS partíciónak a dekódolt cryptsetup névre kell hivatkoznia, például /dev/mapper/windows_bitlk. Példabeállítás:

FILE /etc/fstabEgy fstab NTFS BitLocker példa
/dev/mapper/windows_bitlk  /mnt/windows  ntfs3  noatime,discard,sys_immutable,showmeta,acl,hidden,hide_dot_files,nofail  0 0

Hasonlóan az /etc/crypttab fájlhoz, az /etc/fstab fájlban is alkalmazható a nofail opció. Ez az opció megelőzi a hibákat abban az esetben, ha valamilyen okból a BitLocker dekódolása sikertelen, vagy ha az NTFS partíció piszkos, azaz a fájlrendszer sérülésének elkerülése érdekében az NTFS partíció nem kerül felcsatolásra. Ugyanakkor a rendszer indítása a systemd segítségével nem akad meg.

A következő újraindítás után a Windows NTFS partíciónak a titkosítás alól visszafejtettnek, és felcsatoltnak kell lennie. Ugyanakkor a BitLocker kötet egy működő operációs rendszeren is dekódolható újraindítás nélkül. Példa erre:

root #cryptsetup open --type bitlk --allow-discards --key-file /etc/cryptsetup-keys.d/00112233-4455-6677-8899-AABBCCDDEEFF.key /dev/nvme0n1p3 windows_bitlk
root #mount /mnt/windows

Ezt követően minden művelet az NTFS-partíción ugyanúgy elindítható, mint bármely szokásos (titkosítatlan) kötet esetében:

root #umount /mnt/windows
root #ntfsfix -n /dev/mapper/windows_bitlk
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/mapper/windows_bitlk was processed successfully.

Hibaelhárítás

NTFS-3G

NTFS-partíció kényszerített felcsatolása, miután a Windows hibernálva lett

A Windows által vezérelt NTFS-fájlrendszerek hibernált állapotba kerülhetnek ahelyett, hogy rendesen leállnának, annak érdekében, hogy csökkentsék a rendszerindítási időt. Ilyen esetekben nem lesz lehetséges az NTFS-partíció csatolása, hacsak a hiberfil.sys fájl nincs eltávolítva. Az alábbi parancs használható egy hibernált partíció kényszerített csatolására, amelynek eredményeképp a hiberfájl fájl el lesz távolítva, tehát minden adat a fájlban el fog veszni. A Windowsnak tiszta indítást kell végrehajtania a működés folytatásához:

root #mount -t ntfs-3g -o remove_hiberfile /path/to/device /path/to/mountpoint

A Windows rendszerben a nem megfelelő leállítások elkerülése érdekében futtatható a powercfg /h off parancs egy rendszergazdai parancssorból. Ez kikapcsolja a hibernálást, ami valószínűleg növeli az indítási időt a Windows indításakor, azonban előnye, hogy a meghajtót megfelelően csatolás nélkül állítja le.

Tip
Ha nem lehetséges rendszergazdai hozzáférést szerezni a hibernálás megakadályozásához egy Windows 10 rendszeren, akkor próbáld ki az alábbi kerülő megoldást:
  1. Indítsa el a Windows operációs rendszert a Windows bejelentkezési képernyőjére.
  2. Kattintson a bekapcsológombra (jobb alsó sarokban), majd nyomja meg és tartsa lenyomva a shift billentyűt, és kattintson a Restart (Újraindítás) gombra.
  3. Válassza a speciális lehetőségeket, majd indítsa újra az UEFI firmware beállításaihoz.
  4. Az UEFI firmware-ben válassza ki a megfelelő indítási bejegyzést a Linux számára.
Ez arra kényszeríti a Windows rendszert, hogy tiszta leállítást hajtson végre, amely lehetővé teszi az NTFS-3G számára a fájlrendszer tiszta csatolását.

ntfsfix

Időnként szükséges egy NTFS formázott partíció javítása Linux rendszerről. A ntfsfix eszköz erre a feladatra való:

root #ntfsfix /dev/nvme0n1p3
Mounting volume... $MFTMirr does not match $MFT (record 3).
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 3...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/nvme0n1p3 was processed successfully.

További olvasnivaló a témában

Külső források

Hivatkozások