NTFS
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:
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:
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
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
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
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.
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:
00112233-4455-6677-8899-AABBCCDDEEFF.key
BitLocker recovery key for specific volume UUID001122-334455-667788-990011-223344-556677-890123-456789
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
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:
/etc/crypttab
crypttab beállításwindows_bitlk PARTUUID=00112233-aabb-4455-ccdd-66778899eeff /etc/cryptsetup-keys.d/00112233-4455-6677-8899-AABBCCDDEEFF.key bitlk,discard,nofail
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:
/etc/fstab
Egy 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.
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:
- Indítsa el a Windows operációs rendszert a Windows bejelentkezési képernyőjére.
- 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.
- Válassza a speciális lehetőségeket, majd indítsa újra az UEFI firmware beállításaihoz.
- Az UEFI firmware-ben válassza ki a megfelelő indítási bejegyzést a Linux számára.
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
- FAT — egy fájlrendszer, amelyet eredetileg az MS-DOS-hoz hoztak létre (később pedig a pre-NT Microsoft Windows rendszerekhez is alkalmazták).
- Dislocker — FUSE-based filesystem driver capable of reading NTFS BitLocker encrypted partitions.
- UEFI Dual boot with Windows 7/8 — describes how to dual boot Microsoft Windows on a UEFI computer.
Külső források
- NTFS at Microsoft's TechNet
- Linux kernel NTFS filesystem documentation
- Linux kernel NTFS3 filesystem documentation