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

4

Estou lendo um texto (Guia de estudo do R. W. Smith LPIC_1) que diz:

Linux can reliably read NTFS and can overwrite existing files, but the Linux kernel can’t write new files to an NTFS partition.

O que significa que kernel não pode gravar novos arquivos na partição do NFTS?

Em outro lugar, diz:

NTFS-3G is a read/write NTFS driver that resides in user space rather than in kernel space. It’s used as the default NTFS driver by some Linux distributions.

Como o espaço do kernel é diferente do 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 de sistema de arquivos do Windows com comandos como df -T ?

    
por SRYZDN 07.01.2015 / 17:17

1 resposta

4

Não houve suporte de leitura / gravação NTFS adequado antes do NTFS-3G. Inicialmente, em um sistema dual boot, era possível escrever um arquivo em uma partição NTFS, mas ao reinicializar, no windows NT / XP, você teria que fazer uma verificação do sistema de arquivos para obter os (meta) dados no disco corrigidos. Portanto, era comum ter uma partição VFAT para troca de dados entre o Windows NT / XP e o Linux, pois o driver para esse tipo de sistema de arquivos não tinha essa limitação / problemas.

Desde a introdução do NFTS-3G (2006), isso não é mais necessário e você pode escrever 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 tinha 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 tem que passar por chamadas do sistema como qualquer programa normal (e em contraste com um driver de espaço do kernel ).

Quanto ao df -T , que parece operar com o Fuse e que (corretamente) identifica o tipo de sistema de arquivos como fuseblk . O fusível não sabe nada sobre o NTFS, portanto ele não fornece uma análise mais profunda. O df -T não testa o disco, ele apenas pergunta ao driver do sistema de arquivos, que tipo ele está manipulando (se você não precisasse montar um sistema de arquivos para ele aparecer em df -T , nesse caso ele poderia apenas testar o disco) blocos de dispositivos diretamente e faça uma suposição).

    
por 07.01.2015 / 17:59

Tags