- NTFS-3G и FUSE позволяват монтиране на дялове NTFS en Linux с безопасно четене и писане.
- Важно е да деактивирате хибернацията и бърз старт в Windows, за да се предотврати монтиране само за четене.
- Автоматизирането на монтирането с /etc/fstab, използвайки UUID, uid, gid и umask, избягва проблеми с разрешенията.
- Достъпът чрез exFAT, NAS или SMB са практични алтернативи, когато NTFS причинява проблеми или искате да сведете до минимум риска.

Когато използвате едновременно Windows и Linux на един и същ компютър , неизбежно възниква една и съща нужда: достъп до данни, съхранявани на NTFS дялове на Windows, от Linux и възможност за сигурно четене и запис в тях . Ако сте свикнали да се борите със съобщения „само за четене“, странни грешки или дискове, които просто не се появяват, тази статия е за вас.
В това ръководство ще видим стъпка по стъпка как Монтирайте NTFS дялове с права за запис на почти всяка Linux дистрибуцияКаква роля играят NTFS-3G и FUSE и как да се автоматизира монтирането към ботуш с /etc/fstabКакви опции за сигурност и разрешения трябва да използвате, как да избегнете типични проблеми, причинени от Windows (хибернация, бързо стартиране и др.) и какви алтернативи имате, ако NTFS ви създава проблеми или искате да сведете до минимум рисковете.
Какво е NTFS-3G и защо е необходим в Linux?

В продължение на много години ядрото на Linux предлагаше само много ограничена поддръжка за NTFS : четенето беше добре, но писането беше изключително ограничено (по същество презаписване на файлове без промяна на размера им). За ежедневна употреба това беше практически безполезно.
За да се преодолее това ограничение, беше въведен NTFS-3G , безплатен драйвер, който имплементира файловата система NTFS в потребителското пространство, използвайки FUSE (Filesystem in Userspace). Това означава, че достъпът до диска не се управлява директно от ядрото, а от потребителски процес, което осигурява по-голяма сигурност и стабилност : ако нещо се повреди, това не срива цялата система.
NTFS-3G ви позволява да създавате, изтривате, преименувате, местите и променяте файлове и директории в NTFS със значителна надеждност . Той е в производство от години, използва се в множество дистрибуции и въпреки че не е официален драйвер на Microsoft, е много зрял и изключително стабилен за нормална употреба.
В повечето съвременни Linux дистрибуции (Ubuntu, Linux Mint, Fedora, Debian, Arch и др.), NTFS-3G и FUSE са инсталирани по подразбиране или само с една команда. Въпреки това е полезно да знаете как да ги проверявате и инсталирате ръчно, тъй като те често не са включени в минималистични среди или сървъри.
Подготовка в Windows: деактивиране на хибернация и бързо стартиране
Преди да променяте каквото и да е в Linux, е изключително важно да разберете защо Linux често монтира NTFS дялове само за четене или отказва да ги монтира напълно. Основният виновник обикновено е Windows и по-точно две функции: хибернация и бързо стартиране.
Започвайки с Windows 8, Microsoft въведе така нареченото Бързо стартиране . Въпреки че изглежда като нормално изключване, системата всъщност запазва част от състоянието на ядрото и драйвера във файл за хибернация . След това, когато я включите, тя зарежда това състояние, вместо да стартира от нулата, което я кара да изглежда стартираща по-бързо.
Проблемът е, че по този начин Windows оставя файловата система NTFS „мръсна“ или заключена , така че тя може да бъде възстановена в първоначалното си състояние без никакви проблеми. Когато след това стартирате Linux, той открива този белег и, за да избегне повреда на дяла, позволява монтирането му само в режим само за четене или дори хвърля грешка, като например „Дискът съдържа нечиста файлова система“.
За да пишете безопасно от Linux на NTFS дяла на Windows, силно се препоръчва да деактивирате бързото стартиране и хибернацията в Windows 10 или 11 или поне да се уверите, че последното изключване е било „истински рестарт“, а не хибридно псевдо-изключване.
Как да деактивирате бързото стартиране в Windows 10/11
Стъпките са много сходни в Windows 10 и 11. В обобщение:
- Отворете Класически контролен панел (Можете да потърсите „контролен панел“ в менюто „Старт“.)
- Въведете „Хардуер и звук“ → „Опции за захранване“.
- Кликнете върху „Изберете действието на бутоните за захранване“.
- Кликнете върху „Промяна на настройките, които в момента не са налични“ за да можете да променяте сивите опции.
- Махнете отметката от квадратчето „Активиране на бързо стартиране (препоръчително)“.
- Запазете промените и рестартирайте компютъра.
След като направите това, когато изключите Windows, системата всъщност ще се отпише от NTFS дяла и Linux вече няма да го вижда като хиберниран или заключен. Ако някога отново срещнете проблема само за четене, проверете дали „Бързо стартиране“ не е било автоматично активирано отново след основна актуализация на Windows , тъй като това се случва по-често, отколкото би трябвало.
Друг вариант, ако не искате да деактивирате напълно Бързото стартиране, е винаги да изключвате Windows, използвайки „Рестартиране“ вместо „Изключване“, точно преди зареждане на Linux. Рестартирането извършва „истинско“ изключване без хибернация, така че дялът е чист и Linux може да го монтира за достъп за четене/запис.
Инсталирайте NTFS-3G и FUSE на вашата Linux дистрибуция
След като Windows вече е под контрол, следващата стъпка е да се уверите, че вашата Linux система има правилно инсталирани FUSE и NTFS-3G . В повечето случаи простото използване на мениджъра на пакети на вашата дистрибуция ще бъде достатъчно.
Типични команди за инсталиране по дистрибуция
В повечето често срещани системи командите биха изглеждали така:
- Debian, Ubuntu, Linux Mint и производни
sudo apt update && sudo apt install ntfs-3g fuse - Fedora, RHEL, Rocky, AlmaLinux
sudo dnf install ntfs-3g fuse - Арч Линукс, Манджаро
sudo pacman -S ntfs-3g - Gentoo
sudo emerge -av ntfs3g
В много съвременни дистрибуции поддръжката на FUSE е активирана по подразбиране. Ако обаче искате да бъдете изключително внимателни, можете да проверите дали модулът на ядрото е зареден с:
lsmod | grep fuse
Ако не върне нищо, можете да го заредите ръчно с:
sudo modprobe fuse
Само в много специфични сценарии (персонализирани ядра, вградени системи и др.) ще е необходимо да прекомпилирате ядрото, включително поддръжка за „Файлова система в потребителското пространство“ . При нормални инсталации на настолни компютри или сървъри, зареждането на модула и инсталирането на пакета е повече от достатъчно.
Идентифицирайте NTFS дяла, който искате да монтирате
Преди да го сглобите, трябва да знаете Кое устройство съответства на NTFS дяла? от Windows или на диска с данни, който искате да използвате. В Linux няма да видите буквите C:, D: и т.н., но маршрути в /dev като /dev/sda3 o /dev/nvme0n1p3.
Най-удобните инструменти за локализиране на дялове са lsblk , fdisk , parted или blkid . Например, за да изброите дяловете и техните файлови системи, можете да използвате:
lsblk -f
Тази команда ще ви покаже колони като NAME, FSTYPE, LABEL, UUID, MOUNTPOINT и т.н. Потърсете редовете, където FSTYPE е „ntfs“ (или exFAT, ако използвате междинен дял между Windows и Linux) и намерете точния дял, който искате да монтирате от Linux.
Друг вариант е да използвате:
sudo fdisk -l | grep -i ntfs
или дори на:
sudo blkid
да се получи директно UUID на дялаИзползването на UUID е силно препоръчително, когато редактирате по-късно. /etc/fstabКато Имената /dev/sdX може да се променят Независимо дали включвате или изключвате дискове, UUID остава стабилен, стига да не ги преформатирате.
Ръчно монтиране на NTFS дял с NTFS-3G
След като устройството бъде локализирано (например / Сътрудничество / sdb1), следващата стъпка е създайте точка на монтиранеТоест, папката, където ще се показва съдържанието на дяла. Често се използва /mnt o /mediaНо можете да изберете кой е най-удобен за вас.
Например, създадохме директория за дяла с данни на Windows:
sudo mkdir -p /mnt/win
И сега монтираме дяла с NTFS-3G:
sudo mount -t ntfs-3g /dev/sdb1 /mnt/win
Ако не виждате никакви грешки, вече би трябвало да можете да получите достъп до /mnt/win с вашия файлов мениджър и да проверите дали можете да създавате, изтривате и редактирате файлове там, без да е необходимо да ги отваряте като root (въпреки че собственикът и разрешенията ще зависят от опциите за монтиране, които ще видим сега).
Ако предпочитате, вместо да посочвате устройството чрез /dev/sdX Можете да го направите, като UUID или по етикет (LABEL):
sudo mount -t ntfs-3g UUID=F2D6FE21D6FDE62F /mnt/win
О, добре:
sudo mount -t ntfs-3g -L Win10 /mnt/win
Конфигуриране на разрешения за запис за потребители без root права
Един от ключовите моменти при монтиране на NTFS от Linux е как да се управляват разрешенията . NTFS има собствен модел на разрешения (Windows ACL), който не съвпада точно с този на Linux, така че NTFS-3G извършва един вид превод в „симулирани“ разрешения, за да може всичко да работи.
На NTFS дялове и други системи, които не поддържат оригинални POSIX разрешения, начинът за контрол на това кой може да прави какво се случва е чрез опции като uid, gid, umask, dmask, fmaskи т.н. Тези опции обикновено са посочени в командата mount или на съответния ред на /etc/fstab.
Типичният сценарий е да искате обикновен потребител (вашият, не root) да има пълни права за четене и запис на NTFS дяла, споделен с Windows. За целта трябва да знаете вашия UID и GID , които можете да получите с:
id
Типичният резултат ще бъде нещо подобно на:
uid=1000(miusuario) gid=1000(migrupo) grupos=1000(migrupo),10(wheel)...
С тези стойности можете да монтирате NTFS дяла по следния начин:
sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=0022 /dev/sdb1 /mnt/win
Тук, uid и gid определят собственика на всички файлове в "Linux изглед"И umask контролира разрешенията по подразбиране (В този пример, достъп за четене за всички и достъп за запис само за собственика). Ако искате всеки потребител да може да пише, можете да коригирате umask (например) 0002 да се даде писмено име на групата).
Автоматично монтиране на NTFS при зареждане чрез /etc/fstab
Ръчното монтиране на файловата система всеки път, когато включвате компютъра си, е досадно, така че обичайната практика е процесът да се автоматизира с помощта на файла /etc/fstab . Този файл определя кои файлови системи се монтират при стартиране, къде и с какви опции.
Преди да го докоснете, е добре да направите резервно копие, в случай че допуснете грешка:
sudo cp /etc/fstab /etc/fstab.bak
След това го редактирайте с любимия си редактор в root режим:
sudo nano /etc/fstab
Общият синтаксис за всеки ред е:
file_system mount_point type options dump pass
За нашия примерен NTFS дял, бихме могли да използваме модерна конфигурация, базирана на UUID, с NTFS-3G и разрешения, присвоени на конкретен потребител:
UUID=1234-ABCD /mnt/win ntfs-3g uid=1000,gid=1000,umask=0022,windows_names 0 0
В този смисъл:
- UUID=1234-ABCD е уникалният идентификатор на NTFS дяла (заменете го с вашия действителен, получен с
blkidolsblk -f). - /mnt/win Това е точката на монтаж, която трябва да съществува предварително.
- ntfs-3g Това налага използването на NTFS-3G драйвера вместо евентуалния драйвер на ядрото.
- uid, gid, umask Те контролират собствеността и разрешенията за файловете.
- имена_на_прозорци Това предотвратява създаването на имена на файлове, които са несъвместими с Windows (символи като
* ? < > |И т.н.). - Двете последни нули се деактивират стоварвам и проверката на fsck в този дял, нещо често срещано при NTFS дискове с данни.
Ако искате да предотвратите автоматичното му монтиране при стартиране, но все пак да можете да го монтирате без root права, когато е необходимо, можете да използвате опции като `noauto,users` в колоната с опции. Например:
UUID=1234-ABCD /mnt/win ntfs-3g noauto,users,uid=1000,gid=1000,umask=0022 0 0
Използването на `user` или `users` позволява на обикновените потребители да монтират или демонтират файловата система (в зависимост от варианта), което може да ви спести необходимостта от постоянно използване на `sudo`.
Веднъж редактирано /etc/fstabМожете да проверите дали синтаксисът е правилен с:
sudo findmnt --verify
И приложете промените без рестартиране, като използвате:
sudo mount -a
Ако не се появи съобщение за грешка, NTFS дялът вече би трябвало да бъде монтиран, както сте дефинирали, при следващото зареждане (или дори незабавно, ако вече не е бил).
Графични инструменти за монтиране на NTFS дялове
Ако намирате командите за досадни или просто предпочитате по-лесен за ползване интерфейс, Linux предлага няколко графични инструмента за управление на дискове и дялове , които работят безпроблемно с NTFS.
На настолни компютри, базирани на GNOME, помощната програма GNOME Disks (често наричана просто „Дискове“) обикновено е предварително инсталирана . От нея можете да видите всички устройства, техните дялове, типа файлова система, състоянието на SMART диска и т.н., и включва бутон за монтиране или демонтиране на NTFS дялове с едно щракване.
В допълнение, GNOME Disks ви позволява да конфигурирате опции за автоматичен монтаж без да пипате /etc/fstab директно: можете да укажете точката на монтиране, дали искате да се монтира при стартиране, дали да се използва името на устройството или UUID и да добавите опции като uid, gid или umaskЗа потребители, които не искат да се затрудняват с терминалТова е чудодейно лекарство.
В KDE среди имате KDE Partition Manager , много пълен и донякъде по-технически, който също така поддържа лесно монтиране и демонтиране на NTFS дялове и предлага разширени функции за разделяне, проверка и поправяне на файлови системи.
И накрая, GParted е друг много популярен инструмент за управление на дялове. Макар че не е толкова фокусиран върху постоянното монтиране, колкото GNOME Disks, той е отличен за визуализиране на структурата на диска , преоразмеряване и етикетиране на дялове и проверка дали Linux правилно разпознава вашите NTFS дискове.
Типични грешки: NTFS дялове в режим само за четене
Един от най-често срещаните проблеми при работа с NTFS от Linux е, че дялът се показва като „само за четене“, въпреки че имате инсталиран NTFS-3G. Това обикновено се проявява в невъзможността за създаване на папки, изтриване на файлове или преименуване на каквото и да било, освен ако не отворите файловия мениджър като root (което не се препоръчва за ежедневна употреба).
Най-честата причина, както вече споменахме, е, че Windows е оставил дяла в хибернация или с поставен флаг „dirty bit“ . В този случай Linux открива риска от повреда и монтира файловата система в безопасен режим (ro).
Правилното решение в тези случаи не е да се наложи монтиране за запис, а по-скоро да се върнете към Windows и да извършите пълно изключване без хибернация или да деактивирате Бързото стартиране. Друг вариант е да стартирате Windows, да извършите нормално изключване след деактивиране на Бързото стартиране или да изпълните проверка на диска от Windows (chkdsk), за да почистите състоянието на диска.
В NTFS-3G има параметър за монтиране, наречен remove_hiberfile позволява принудително монтиране на дял, който Windows е оставил в хибернация, премахвайки файла за хибернация в процеса:
sudo mount -t ntfs-3g -o remove_hiberfile /dev/sdXn /mnt/win
Използването на тази опция означава загуба на състоянието на хибернация на Windows и ако имате нещо важно, което чака да се направи, може да се окажете в неприятна ситуация. Това е един вид „див режим“: може да ви измъкне от затруднено положение, но е най-добре да го използвате, знаейки какво правите и винаги архивирайки всичко важно.
Други проблеми с достъпа: разрешения и грешки във файловата система
Дори без хибернация, може да има случаи, в които не можете да променяте определени файлове или папки в NTFS дяла . Това обикновено се дължи на разрешенията, зададени в Windows за тези специфични пътища (ACL, които отказват достъп на вашия потребител или общата група).
В тези ситуации идеалното решение е да прегледате и коригирате разрешенията от Windows (раздел „Защита“ в свойствата на папката), за да разрешите достъп за четене/писане на „Всички“ (или на съответния потребител), и след това да монтирате отново от Linux.
Ако подозирате вътрешни проблеми в структурата на NTFS, Linux предлага инструмента ntfsfix , който може да премахне флага „dirty“ и да поправи някои малки грешки , въпреки че не замества chkdsk на Windows . Можете също да използвате fdisk -l, за да проверите таблицата на дяловете и да локализирате проблемния дял.
sudo fdisk -l
Във всеки случай, общата препоръка е дълбоките поправки на файловата система NTFS да се извършват от Windows с нейните вградени помощни програми (chkdsk и др.), а ntfsfix да се използва като спомагателен инструмент, а не като заместител.
Безопасно ли е да се пише в NTFS от Linux?
Този въпрос възниква постоянно: какъв е маржът на безопасност при запис в NTFS от Linux, използвайки NTFS-3G ? Въпреки че не е официален драйвер на Microsoft, реалността е, че той е в производство от много години и е щателно тестван.
Четенето на NTFS данни от Linux е практически безрисково : отварянето и копирането на файлове без запис на диска не би трябвало да създава проблеми. Възможно е да възникнат проблеми при запис, но в момента стабилността на NTFS-3G е много висока и шансовете за повреда на диска са изключително ниски , при условие че:
- Windows Не оставяйте дяла в хибернация или с чакащи грешки..
- Не изключвайте външни устройства без разглобете ги правилно (размонтиране).
- Не използвайте дистрибуции остарял без актуализации от години.
В редките случаи, когато нещо се обърка, обикновено става въпрос само за повреда на определен файл (неправилно копиран, разрязан наполовина и т.н.), но не и за внезапна загуба на четливост на целия диск. Въпреки това, ако съдържанието, което съхранявате, е критично важно, винаги си струва да поддържате резервни копия и да сведете до минимум ненужните записи.
От версия 5.15 насам, драйверът NTFS3 е интегриран и в ядрото на Linux, разработено от Paragon, което теоретично предлага по-добра производителност . Въпреки това, много хора все още предпочитат NTFS-3G поради неговата зрялост, интеграцията на помощни програми за поправка и контрола на потребителското пространство, предлаган от FUSE.
Кога е препоръчително да се използва exFAT или други файлови системи вместо NTFS?
Ако все още имате проблеми с NTFS след опитите си или просто искате по-неутрален формат както за Windows, така и за Linux , exFAT е силно препоръчителен вариант . Тази файлова система, наследник на FAT32 , елиминира много от ограниченията ѝ (максимален размер на файла и др.) и е съвместима с Windows и съвременните Linux дистрибуции.
exFAT е особено полезен за външни твърди дискове и USB флаш устройства , които ще свързвате към различни компютри и операционни системи . Linux се справя доста добре с exFAT и в много случаи записът е дори по-сигурен и предвидим, отколкото с NTFS, когато се използва като „мост“ файлова система.
Има обаче едно важно предупреждение: не можете да използвате exFAT като системен дял на Windows . Microsoft позволява NTFS само за устройството, където е инсталирана операционната система. Но за споделени устройства с данни exFAT е много подходящ вариант.
Имайте предвид, че форматирането в exFAT изтрива всички данни на дяла, така че ще трябва да копирате данните си на друго място, преди да преформатирате. Всеки мениджър на дялове (GParted, GNOME Disks, KDE Partition Manager и др.) ще ви позволи да направите промяната само с няколко кликвания.
Ако искате максимална сигурност и производителност в Linux и не е необходимо да осъществявате достъп до него от Windows , най-добре е да използвате ext4 (или други като XFS, Btrfs и др.) за работните си дялове и да оставите NTFS или exFAT само за тези, които ще споделяте или свързвате с машини с Windows.
Алтернативи, когато Linux не може да чете NTFS директно
В по-сложни среди, дори с NTFS-3G, може да не успеете лесно да получите достъп до NTFS дисковете си от Linux или може да предпочетете да не рискувате директно да докосвате дяла на Windows от страх от евентуална повреда.
Много практичен вариант е да използвате друго устройство като „мост “ за мрежов достъп. Например, ако вашият рутер има USB порт с поддръжка на съхранение , можете да свържете NTFS устройството там. Много съвременни рутери могат да монтират NTFS устройства и да ги споделят чрез SMB/SAMBA в локалната мрежа, така че Linux ще вижда устройството като мрежово устройство, а не като локално устройство.
Ако имате NAS сървър у дома, подходът е подобен: свързвате NTFS устройството към NAS, то го монтира (повечето поддържат NTFS без проблеми) и осъществявате достъп до него от Linux през мрежата, използвайки SMB или NFS. Използвайки мрежата, избягвате конфликти на драйвери и допълнително намалявате риска от повреда.
Друг интересен подход, но в обратната посока, е да получите достъп до вашите Linux ext4 дялове от Windows, използвайки приложения на трети страни, като Paragon Linux File System . Тези инструменти ви позволяват да отваряте, четете и пишете във файлови системи на Linux, сякаш са NTFS, елиминирайки необходимостта от ръчно редактиране на NTFS дялове от Linux.
Можете също да използвате WSL (Windows Subsystem for Linux) , която интегрира Linux среда в Windows. Въпреки че WSL работи предимно чрез команди и не е много лесен за употреба, той може да бъде полезен в специфични сценарии за преместване на данни между системи, без да се разчита много на конфигурации с двойно зареждане.
Накратко, да се сглоби NTFS дялове на Windows с права за запис в Linux В днешно време това е доста контролиран процес: с правилно конфигурирани NTFS-3G и FUSE, деактивирано бързо стартиране на Windows и /etc/fstab настроен с UUID, uid, gid и съответните опцииМожете да работите с файловете си почти толкова удобно, колкото ако сте в Windows, като се възползвате и от графични инструменти като GNOME Disks или KDE Partition Manager, и винаги имайте предвид, че ако средата се усложни, exFAT, NAS или мрежов достъп ви дават еднакво валидни алтернативи, за да запазите данните си в безопасност и достъпни от двата свята.
Страстен писател за света на байтовете и технологиите като цяло. Обичам да споделям знанията си чрез писане и това е, което ще направя в този блог, ще ви покажа всички най-интересни неща за джаджи, софтуер, хардуер, технологични тенденции и много други. Моята цел е да ви помогна да се ориентирате в дигиталния свят по лесен и забавен начин.
