Como o kernel do Linux lida com o sistema de arquivos NTFS do Windows?

Como o kernel do Linux lida com o sistema de arquivos NTFS do Windows?

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 -Tsonda 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).

informação relacionada