Estou lendo um texto (Guia de estudo RW Smith LPIC_1) que diz:
O Linux pode ler NTFS de maneira confiável e sobrescrever arquivos existentes, mas o kernel do Linux não pode gravar novos arquivos em uma partição NTFS.
O que significa que o “kernel” não pode gravar novos arquivos em uma partição NFTS?
Em outro lugar diz:
NTFS-3G é um driver NTFS de leitura/gravação que reside no espaço do usuário e não no espaço do kernel. É usado como driver NTFS padrão por algumas distribuições Linux.
Qual a diferença entre o espaço do kernel e o espaço do usuário?
Além disso, como temos acesso às unidades do Windows em sistemas de inicialização dupla, por que não podemos ver o tipo do sistema de arquivos do Windows com comandos como df -T
?
Responder1
Que não havia suporte adequado para leitura/gravação de NTFS antes do NTFS-3G. Inicialmente, em um sistema de inicialização dupla, era possível gravar um arquivo em uma partição NTFS, mas na reinicialização, no Windows NT/XP, você teria que fazer uma verificação do sistema de arquivos para corrigir os (meta)dados no disco. Portanto, era comum ter uma partição VFAT para troca de dados entre Windows NT/XP e Linux, pois o driver para esse tipo de sistema de arquivos não apresentava essa limitação/problemas.
Desde a introdução do NFTS-3G (2006) isso não é mais necessário e você pode gravar novos arquivos e atualizar os existentes, reinicializar no Windows e usar esses arquivos sem fazer uma verificação do sistema de arquivos. (Naquela época eu já havia dispensado a reinicialização e estava usando o Windows em máquinas virtuais).
O NTFS-3G é executado no espaço do usuário, o que significa que ele não tem acesso direto aos dados e rotinas do kernel, mas precisa passar por chamadas do sistema como qualquer programa normal (e em contraste com um driver de espaço (dispositivo) do kernel).
Quanto a df -T
, parece funcionar com Fuse e identifica (corretamente) o tipo de sistema de arquivos como fuseblk
. O Fuse não sabe nada sobre NTFS, portanto não fornece nenhuma investigação mais profunda. Nem df -T
sonda o disco, apenas pergunta ao driver do sistema de arquivos que tipo ele está manipulando (se pudesse, você não teria que montar um sistema de arquivos para que ele aparecesse df -T
, nesse caso ele poderia apenas testar os blocos do dispositivo diretamente e Adivinhe).