Я читаю текст (Учебное пособие RW Smith LPIC_1), в котором говорится:
Linux может надежно читать NTFS и перезаписывать существующие файлы, но ядро Linux не может записывать новые файлы в раздел NTFS.
Что означает, что «ядро» не может записывать новые файлы в раздел NFTS?
В другом месте говорится:
NTFS-3G — это драйвер NTFS для чтения/записи, который находится в пространстве пользователя, а не в пространстве ядра. Он используется как драйвер NTFS по умолчанию некоторыми дистрибутивами Linux.
Чем пространство ядра отличается от пространства пользователя?
Кроме того, если у нас есть доступ к дискам Windows в системах с двойной загрузкой, почему мы не можем увидеть тип файловой системы Windows с помощью таких команд, как df -T
?
решение1
Что до NTFS-3G не было надлежащей поддержки чтения/записи NTFS. Изначально, в системе с двойной загрузкой, можно было записать файл на раздел NTFS, но при перезагрузке в Windows NT/XP вам пришлось бы выполнить проверку файловой системы, чтобы исправить (мета)данные на диске. Поэтому было обычным иметь раздел VFAT для обмена данными между Windows NT/XP и Linux, так как драйвер для этого типа файловой системы не имел этого ограничения/проблем.
С появлением NFTS-3G (2006) в этом больше нет необходимости, и вы можете записывать новые файлы и обновлять существующие, перезагружать Windows и использовать эти файлы без проверки файловой системы. (К тому времени я в значительной степени отказался от перезагрузки и вместо этого использовал Windows на виртуальных машинах).
NTFS-3G работает в пространстве пользователя, то есть у него нет прямого доступа к данным и процедурам ядра, а он должен проходить через системные вызовы, как и любая обычная программа (и в отличие от драйвера пространства ядра (устройства)).
Что касается df -T
, похоже, что он работает с Fuse и (правильно) определяет тип файловой системы как fuseblk
. Fuse ничего не знает о NTFS, поэтому не обеспечивает более глубокого зондирования. Он также не df -T
зондирует диск, он просто спрашивает драйвер файловой системы, какой тип он обрабатывает (если бы он мог, вам не пришлось бы монтировать файловую систему, чтобы она появилась в df -T
, в этом случае он мог бы просто зондировать блоки устройства напрямую и делать предположения).