NTFS FAQ (Frequently Asked Questions)

English Italian Japanese Vietnamese German Simplified Chinese French Spanish Brazilian Traditional Chinese Russian

Esta FAQ é parte do Projeto Linux NTFS.
A versão mais recente pode ser encontrada em
ntfs.html

Se voce tem uma questão de NTFS que não é respondida nessa FAQ, ou voce tem comentários sobre a FAQ, por favor envie um email: linux-ntfs-dev@sourceforge.net

Conteudos

Legendas

** - Perguntas mais frequentes
!! - Outras coisas interessantes
NB - Tenha muita atenção

 Comandos ou saídas na tela

1. Questões Gerais sobre NTFS

  1.1 O que é NTFS?
  1.2 O NTFS é melhor do que FAT/FAT32?
  1.3 Devo utilizar NTFS? (Ou atualizar?)
!! 1.4 O NTFS é o mesmo em cada versão do Windows?
  1.5 Quais são os limites do NTFS?

2. Volumes NTFS

  2.1 Como eu leio um volume NTFS do Windows 95/98/ME ou DOS?
  2.2 Como eu converto um volume FAT para um volume NTFS?
!! 2.3 Como eu converto um volume NTFS para um volume FAT?
  2.4 Como eu deleto um volume NTFS?
  2.5 Como eu desfragmento um volume NTFS?
** 2.6 Como eu redimensiono um volume NTFS?

3. Linux e NTFS

!! 3.1 Quais versões de NTFS o Linux pode ler?
** 3.2 O driver pode gravar em um volume NTFS, também?
  3.3 Que características do NTFS o Linux suporta?
  3.4 O que deveria fazer se alguma coisa der errado?
** 3.5 Como eu adiciono suporte NTFS ao Linux?
  3.6 Qual versão é a melhor?
  3.7 Que outras ferramentas existem?
  3.8 Como o driver Linux NTFS foi escrito?
  3.9 Quem nós podemos agradecer?

4. Montando volumes NTFS

  4.1 Eu posso montar um volume NTFS?
  4.2 Quanto seguro é o driver NTFS?
  4.3 Que partição deveria eu usar?
  4.4 Que versão do driver NTFS eu tenho?
!! 4.5 Como eu monto um volume NTFS?
  4.6 Opções comuns do mount.
  4.7 Opções do Mount para o driver original.
  4.8 Opções do Mount para o novo Driver.
** 4.9 Como eu mudo as permissões de um volume NTFS montado?
!! 4.10 Como eu monto um volume NTFS automaticamente?

5. Bootando em Sistemas Operacionais com NTFS

  5.1 Eu posso bootar o Windows num volume NTFS?
  5.2 Como eu uso o lilo?
  5.3 Como eu uso o grub?

6. Distribuições Linux

  6.1 Quais distribuições suportam NTFS fora do produto?
  6.2 Porque a RedHat não suporta NTFS?
  6.3 O que faz o Linux RedHat travar quando se acessa um volume NTFS?
  6.4 Alguma distribuição instala sobre NTFS?

7. O novo driver Linux NTFS

  7.1 O que é o novo Driver NTFS?
  7.2 Eu tenho de usa-lo?
  7.3 Como eu uso o novo driver Driver?
  7.4 O que é um patch?
  7.5 O que eu faço se ainda não entender?
  7.6 Quando o novo código estará no Kernel Linux?
  7.7 Posso escrever um wrapper para o driver Windows?

Voltar ao inicio


1. Questões Gerais NTFS

1.1 What is NTFS?

NTFS é uma abreviação para Sistema de arquivos de Tecnologia Nova (New Technology Filesystem). NT por causa de ele ter sido originalmente usado no Windows NT e um Sistema de arquivos é apenas como o computador armazena os arquivos em disco. Diferentes sistemas operacionais, armazenam arquivos em diferentes modos.

NTFS é usado pelo Windows NT, 2000, XP e Windows Server 2003.

Voltar ao inicio

1.2 O NTFS é melhor do que FAT/FAT32?

Em resumo, sim. É de longe mais robusto, ele suporta nomes de arquivo Unicode, segurança apropriada, compressão e encriptação. A falha principal é que voce somente pode ler no Windows NT, 2000 or XP, ex: voce não pode usar um disco de Boot DOS e depois ler seus dados.

Como sempre há excessões a essa regra. Linux teve um driver para NTFS desde Dezembro de 1997. Também há um programa que dá ao DOS suporte NTFS (ver a Seção 2.1 para mais detalhes).

Voltar ao inicio

1.3 Devo utilizar NTFS? (Ou atualizar?)

Não, voce não precisa, apesar de a maioria achar que é uma boa idéia. Voce provavelmente nem percebera a diferença. A única coisa, é que voce não poderá converter de voltar para FAT (veja Seção 2.3 para mais detalhes).

NB Voce pode instalar o Windows NT em um sistema de arquivo FAT16 e Windows 2000 ou XP sobre um sistema de arquivos FAT32. Depois voce pode atualizar para NTFS mais tarde.

Voltar ao inicio

1.4 O NTFS é o mesmo em cada versão do Windows?

Não. Elas se parecem similar, mas versões mais novas tem características extras. Por exemplo, no Windows 2000 existem quotas.

NTFSVersão Windows
v1.2NT 3.51, NT 4
v3.02000
v3.1XP, Server 2003

Versão 1.2 é algumas vezes conhecida como 4.0.
Versões 3.0 e 3.1 são algumas vezes referenciadas como 5.0 e 5.1.

Voltar ao inicio

1.5 Quais os limites do NTFS?

Grande. NTFS suporta arquivos acima de 263 bytes de tamanho. Volumes NTFS podem estar acima de 263 unidades de alocação(clusters) e cada unidade (cluster) pode estar acima de 64KiB longos. Isto dá ao NTFS um limite superior de aproximadamente 500 trilhões de gigabytes.

Voltar ao inicio


2. Volumes NTFS

2.1 Como eu leio um volume NTFS do Windows 95/98/ME ou DOS?

Infelizmente, voce não pode. Essas versões de Windows somente podem entender FAT. NTFS pode somente ser lido pelo Windows NT, 2000 e XP.

Entretanto, com pouco trabalho, voce pode usar um punhado de utilitários de SysInternals "NTFS para Windows 98" e "NTFSDOS" que permitem voce ler NTFS do Windows 95, 98 e DOS. Se voce está preparado para pagar, existem versões que irão ate mesmo gravar em NTFS (N.B. É muito caro).

Voltar ao inicio

2.2 Como eu converto um volume FAT para um volume NTFS?

Abra uma janela de comandos e digite (substituindo x: com o volume correto):

    convert x: /fs:ntfs
    

Se o volume está em uso, a conversão irá acontecer quando fizer o próximo reboot.

NB O comando não é facilmente revertido. Veja a próxima FAQ.

Voltar ao inicio

2.3 Como eu converto um volume NTFS para um volume FAT?

A resposta mais simples é, "Voce não pode". Há uma exceção se voce tem dinheiro. Partition Magic, disponível de norton.com pode converter entre vários sistemas de arquivos, incluindo NTFS e FAT.

Voltar ao inicio

2.4 Como eu deleto um volume NTFS?

Isto depende de qual Sistema Operacional voce está usando

DOS, Windows 95/98/ME: fdisk. Use um disco de boot, ou faça o Windows ir ao modo DOS. Depois rode fdisk. Se voce tem mais do que um disco, primeiro selecione este. Depois voce terá que deletar uma partição non-DOS. Seja muito cuidadoso, suas mudanças irão ser efetuadas imediatamente.

Windows NT: Gerenciamento do Computador.

Windows 2000, XP e Server 2003: Gerenciador de Discos Lógicos. Inicie no Painel de Controle, selecione Ferramentas Administrativas, depois Gerenciamento do Computador.

Voltar ao inicio

2.5 Como eu desfragmento um volume NTFS?

Depois do volume estar em uso por um tempo, depois de muitas escritas ao disco, os arquivos podem tornar-se fragmentados. O que não é num local consecutivo sobre o disco, mas em pequenos pedaços. Isto causa lentidão quando tentamos acessar esses arquivos.

Windows 2000, XP e Server 2003 tem um um programa de desfragmentação embutido. Para usuários de Windows NT, há um programa grátis que faz o mesmo serviço. Diskeeper Lite pode ser baixado de: http://diskeeper.com

Voltar ao inicio

2.6 Como eu redimensiono um volume NTFS?

Use nosso programa estável e largamente usado, ntfsresize. Ou mesmo melhor, um dos particionadores fáceis de usar (DiskDrake, QTParted, YAST, EVMS, Partman, GParted, etc) que o integra. Para mais informações, por favor leia Faq ntfsresize.

Voltar ao inicio


3. Linux and NTFS

3.1 Quais versões de NTFS o Linux pode ler?

O Driver Linux pode ler todas as versões de NTFS. Cada versão é ligeiramente diferente, mas o driver somente tem que interpretar os arquivos e diretórios. Todos os índices que o NTFS mantem podem ser seguramente ignorados.

Quando o driver torna possível gravar em um volume NTFS, então pode ser que as habilidades irão variar de acordo com a versão do NTFS em que se vai gravar.

Voltar ao inicio

3.2 O driver pode gravar em um volume NTFS, tambem?

Não realmente, mas se voce somente precisa copiar arquivos do Linux para Windows numa maquina com dual-boot, veja "Como gravar em NTFS" abaixo para um possível caminho de contornar sobre a falta de suporte a gravação. Para suporte a gravação em Linux, leia os.

Há dois drivers, atualmente. O driver original, no 2.4 tem algum código de escrita(gravação) nele, mas é extremamente perigoso usa-lo. A possibilidade de destruição de seu sistema de arquivos é muito alta.

O novo driver, introduzido em 2.5.11, tem algum código de escrita(gravação), mas é muito limitado. O driver pode sobrescrever arquivos existentes, mas ele não pode mudar o tamanho, adicionar novos ou deletar arquivos existentes.

Adicionar suporte a escrita(gravação) tomará muito tempo. NTFS é construído como uma base de dados. Algumas mudanças que voce faz, necessitam fazer mudanças em muitos lugares, para consistencia. Fazendo uma bobagem e o sistema de arquivos ficara danificado, fazendo bobagens demais ai o sistema de arquivos estará destroído. Também, os desenvolvedores atuais estão trabalhando em NTFS como um hobby, durante os tempos livres. Se voce gostaria de ajudar, por favor envie email para: linux-ntfs-dev@sourceforge.net

Como gravar em NTFS. Se voce esta usando uma maquina com dual-boot e apenas necessita de suporte a escrita de NTFS para transferir arquivos do Linux para Windows, voce pode ao inves de usar um driver Windows para ext2/ext3 e, enquanto esta rodando Windows, ler arquivos da partição Linux ao invés. Deste modo, usando dois driver somente-leitura, voce ainda pode copiar arquivos de um tipo de sistema de arquivo para o outro.

Nós conhecemos esse drivers Windows de código aberto para sistemas de arquivos Linux ext2 e ext3, quarto dia de Junho, 2003:

Voltar ao inicio

3.3 Que características do NTFS o Linux suporta?

NTFS suporta uma ampla variedade de características, mas poucas estão honradas pelo Driver Linux NTFS.

O Driver Linux NTFS suporta: nomes de arquivo Unicode (convertidos dentro código de pagina local, ou utf8); arquivos comprimidos; arquivos sparse.

Entretanto, o driver não pode ler arquivos encriptados, ele ignora informações de segurança do Windows e ignora quotas estabelecidas pelo Windows.

Voltar ao inicio

3.4 O que deveria fazer se alguma coisa der errado?

O driver é amigavelmente seguro somente-leitura, mas é impossível testar cada eventualidade. Se alguma coisa der errado, por favor ajude-nos a encontrar o problema e conserta-lo.

Envie email ao time de desenvolvimento em linux-ntfs-dev@lists.sourceforge.net e conte a nos qual versão do driver voce esta usando, qual versão Linux (uname -a) e qual versão de NTFS (Win NT, 2K ou XP).

Adicionalmente, se existirem alguns logs (/var/log/messages) que voce achar talvez sejam úteis, por favor inclua-os.

Obrigado.

Voltar ao inicio

3.5 Como eu adiciono suporte NTFS ao Linux?

Muitos usuários não terão que compilar nada para ativar suporte NTFS. Quase todas as distribuições Linux (com notáveis exceções da RedHat) vem com suporte NTFS fora do produto.

Se voce esta usando RedHat 9 (Shrike), 8.0 (Psyche) or 7.3 (Valhalla), então voce simplesmente pode instalar um rpm para o suporte NTFS. O rpm vem com instruções detalhadas.

Se voce tem uma versão mais velha do RedHat, ou outra distribuição que não inclui suporte NTFS, então voce irá ter que compilar o kernel voce mesmo. Isto não é tão dificil como parece. De uma olhada na Página de Compilação para maiores detalhes.

Voltar ao inicio

3.6 Qual versão é a melhor?

A nova versão do driver é melhor. Ela é melhor escrita, muito mais rápida, tem poucos erros e é SMP-segura. O novo driver esta disponível no 2.5.11 e adiante e um patch está disponível para adicionar o novo driver aos kernels 2.4.

Voltar ao inicio

3.7 Que outras ferramentas existem?

No momento, existem somente poucas ferramentas e elas e elas estão auxiliando os desenvolvedores. Nos mantemos uma lista de status de todas as nossas ferramentas.

Naturalmente as prioridades destinam em conseguir suporte a código de escrita NTFS.

Voltar ao inicio

3.8 Como o Driver Linux NTFS foi escrito?

A Microsoft não lançou nenhuma documentação sobre os aspectos internos do NTFS, então nós tivemos que fazer engenharia reversa no sistema de arquivo do rascunho. O método foi aproximadamente:

  1. Olhar no volume com um editor hexa
  2. Executar algumas operações, ex: criar um arquivo
  3. Usar o editor hexa para procurar mudanças
  4. Classificar e documentar as mudanças
  5. Repetir os passos 1-4 para sempre

Se isso parece bastante trabalho, então voce provalvemente entenderá quanto duro foi a tarefa. Agora entenda tudo direitinho sobre NTFS e o que nos documentamos para beneficio dos outros: ../ntfs/index.html

Realmente escrevendo o driver foi de longe mais simples do que recolher as informações.

Voltar ao inicio

3.9 Quem nós agradecemos?

Primeiro nos agradecemos Martin von Löwis. Ele criou o driver original NTFS de volta em 1995. Foi adicionado ao Kernel Linux em Dezembro de 1997 (2.1.74). He foi ajudado pelas seguintes almas gentis:

Albert Cahalan, Anton Altaparmakov, Damon Casale, David Dillard, Domagoj Pensa, Joseph Malicki, Matthew Fanto, Olof Wolgast, Rani Assaf, Régis Duchesne, Richard Russon, Steve Dodd, Werner Seiler.

Depois nós temos de agradecer Anton Altaparmakov, ele foi seu entusiasta o qual manteve o projeto vivo. Numa época quando o projeto estava efetivamente sem manutenção, ele examinou e estabilizou o código. Ele foi resescrever dos rascunhos de preferência a ter uma base limpa para progredir com o suporte de escrita. Ele foi ajudado por:

Pawel Kot, Richard Russon.

Voltar ao inicio


4. Mountando volumes NTFS

4.1 Eu posso montar um volume NTFS?

É claro. O Driver pode ler todas as versões de NTFS, mas ele é somente-leitura.

Voltar ao inicio

4.2 Quanto seguro é o driver NTFS?

Quando usado somente-leitura, ambos o Original e os novos Drivers são seguros para uso geral. Eles não irão fazer quaisquer mudanças para o seu sistema de arquivos, então eles não podem causar nenhum dano.

Adicionalmente, o novo Driver é SMP-seguro.

Voltar ao inicio

4.3 Que partição deveria usar?

No Linux os discos são nomeados hda, hdb para dois discos na primeira controladora IDE e hdc, hdd para a o terceiro e quarto discos. SCSI discos são nomeados sda, sdb, etc, na ordem em que são descobertos.

Um modo simples de olhar para um volume NTFS é usando:

    fdisk -l
    

A saida parecerá como:

    Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
    Units = cylinders of 4032 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
       /dev/hda1             1      2125   4283968+  07  NTFS/HPFS
       /dev/hda2          2126     19851  35735616   0f  Win95 Ext'd (LBA)
       /dev/hda5   *      2126      4209   4201312+  83  Linux
       /dev/hda6          4210      4465    516064+  82  Linux swap
    

Voltar ao inicio

4.4 Que versão do driver NTFS eu tenho?

Se sua versão de kernel é 2.4.*, ou 2.5.0 - 2.5.10, então voce provalvelmente tem o driver original NTFS. Se voce tem a 2.5.11 ou posterior, então voce pegou o novo driver NTFS.

Um teste melhor é olhar através dos logs do kernel para as mensagens de log do NTFS. Tente qualquer um desse comandos (voce precisará ser root para ler os logs).

    dmesg | grep -i ntfs
    grep -i ntfs /var/log/messages
    

A versão do Driver Original é 1.1.*, visto que o novo Driver é versão 2.*.

Voltar ao inicio

4.5 Como eu monto um volume NTFS?

Primeiro de tudo, seria uma boa idéia checar se seu kernel entende NTFS. O comando abaixo irá dar uma lista de todos os sistemas de arquivos que o Linux entenda. Se voce ve ntfs, então voce está OK. Tambem poderia ser uma boa idéia ler o manual mount, man mount.

    cat /proc/filesystems
    

Seguindo voce necessitará criar um lugar para montar o volume NTFS. Então voce poderá monta-lo.

    mkdir /mnt/windows
    mount /dev/hda1 /mnt/windows -t ntfs -r
    

NB Para alterar as permissões de sistemas de arquivos montados, veja a opção umask em Section 4.6. Se voce gostaria de ter o volume montado automaticamente na hota do boot, veja Section 4.10.

Quando voce terminar, voce pode desmontar a partição com qualquer um dos:

    umount /mnt/windows
    umount /dev/hda1
    

NB O comando é chamado umount (somente com um 'n').

Voltar ao inicio

4.6 Opções mount comuns.

Essas opções mount são comuns a ambos os drivers. É recomendado tambem ler a pagina de manual para o mount. A formar geral do mount é:

    mount device directory [options]
    

Opções adicionais para a -o option podem ser dadas individualmente, ou como um parametro separado por virgulas. Esse dois comandos são equivalentes:

    mount /dev/hda1 /mnt/windows -o X -o Y -o Z
    mount /dev/hda1 /mnt/windows -o X,Y,Z
    
-t ntfs
Diz ao mount o tipo de sistema de arquivo que ele irá montar. Esta opção não é necessária, desde que o mount saiba como identificar maioria tipos de sistemas de arquivos.
-r
Mount the volume, read-only. By default, mount will attempt to mount the volume read-write. Unless forced, the driver will automatically mount the filesystem read-only.
-o ro
Este é o mesmo que -r.
-o umask={VALUE}
As permissões padrão dadas ao volume NTFS montado são rwx------ (isto é por razões de segurança). O parametro umask controla as permissões dos arquivos e diretórios. Para maiores detalhes e exemplos, veja a Seção 4.9.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
    
-o uid={USERID}
Por padrão todos os arquivos num volume NTFS montado irão ser possuídos pelo root. Se voce fornecer um parâmetro uid voce pode definir o proprietário dos arquivos. O userid pode ser algum nome de /etc/passwd, ou algum número representando um id de usuário.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
    
-o gid={GROUPID}
Por padrão todos arquivos num volume NTFS montado terão um grupo proprietário do root. Se voce fornecer um parâmetro gid voce pode definir o grupo dos arquivos. O groupid pode ser algum nome de /etc/group, ou algum número representando uma id do grupo.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
    

Voltar ao inicio

4.7 Opções do Mount para o Driver Original.

Para encontrar qual driver voce está usando, veja a Seção 4.4. Esta seção discute as opções para o driver Original somente. Todas as opções mount comuns são discutidas na Seção 4.6.

Muitas opções tomam um parâmetro true ou false.
Voce precisa trocar true com yes ou 1.
Voce precisa trocar false com no ou 0.

-o iocharset={NAME}

NTFS armazena todos os arquivos e nomes de diretórios em Unicode o qual pode representar quaisquer caractere de qualquer linguagem. Por padrão o driver Linux NTFS converte os names para ASCII o é correto para algumas pessoas, mas não é bom se suas linguagens incluem letras como å or é.

NLS (Native Language Support) controla como caracteres são mostrados. Voce pode escolher entre utf8 o qual, como Unicode, pode representar todos os caracteres, ou seu próprio código de pagina, ex: iso8859-1 (Europa Ocidental), iso8859-2 (Europa Central), gb2312 (Chines Simplificado), iso8859-8 (Hebreu). Abaixo estão alguns exemplos de comandos mount:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=gb2312
    
utf8=true

Se seu kernel não suporta utf8, então voce pode usar esta opção para funcionar com suporte utf8 support do driver NTFS. Voce deveria usar -o iocharset=utf8 onde for possivel.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o utf8=true
    
-o posix={BOOL}

Windows preserva o caso de nomes de arquivos, mas ele não distingue quando voce le. Entretanto voce pode criar um arquivo chamado MeuNomedeArquivo e depois abri-lo perguntando por mEUnOMEdearquivo.

Por padrao o Linux é case sensitive, MeuArquivo, MeuArquivo e meuarquivo são todos arquivos diferentes. Se voce gostaria que o Linux comportasse como o Windows, para um volume NTFS, defina a opção posix para verdadeiro. Definindo a opção para falso irá fazer o driver comportar como o Linux (o padrão).

    mount /dev/hda1 /mnt/windows -t ntfs -r -o posix=true
    
-o show_sys_files={BOOL}

Se esta opção esta definida para verdadeiro, então o metadados do sistema de arquivos será vísivel. Se não está visível, ele ainda podem ser explicitamente listados providenciando seus nomes, ex: ls -l \$MFT.

NB Por causa de uma limitação da glibc, $MFT podem não aparecer em listagens porque ele está no inode numero zero.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o show_sys_files=true
    

Voltar ao inicio

4.8 Opções do Mount para o Novo Driver.

Para encontrar qual driver voce está usando, veja a Seção 4.4. Esta seção discute as opções para o Novo Driver somente. Todas as opções comuns do mount são discutidas na Seção 4.6.

Muitas opções tomam um parametro true ou false.
Voce precisa true com yes ou 1.
Voce precisa trocar false com no ou 0.

-o nls={NAME}

NTFS armazena todos os arquivos e nomes de diretórios em Unicode o que pode representar qualquer caractere de qualquer linguagem. Por padrão o driver Linux NTFS converte os nomes para ASCII o que é correto para algumas pessoas, mas não é bom se suas linguagens incluem letras como å ou é.

NLS (Native Language Support) controla como os caracteres são mostrados. Voce pode escolher entre utf8 o qual, como o Unicode, pode representar todos os caracteres, ou seu próprio código de pagina, ex: iso8859-1 (Europe Ocidental), iso8859-2 (Europa Central), gb2312 (Chinês Simplificado), iso8859-8 (Hebreu). Abaixo estão alguns exemplos de comandos mount:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=gb2312
    
-o fmask={VALUE}
-o dmask={VALUE}

O parametro umask altera as permissões de ambos arquivos e diretorios (veja a Seção 4.6 para relembrar). fmask trabalha sobre arquivos e dmask trabalha sobre diretórios do mesmo modo. O efeito das opções podem ser combinanadas, também. Aqui estão alguns exemplos:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o dmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0077,dmask=0222
    
-o case_sensitive={BOOL}

Windows preserva o caso de nomes de arquivos, mas ele não distingue quando voce le. Entretanto voce pode criar um arquivo chamado MeuNomeArquivo e então abri-lo perguntando por mEUnomeaRQUIVO.

Por padrão o Linux é case sensitive, MeuArquivo, MeuArquivo e meuarquivo são todos arquivos diferentes. Se voce gostaria que o Linux comportasse como o Windows, para um volume NTFS volume, defina opção case_sensitive para false. Definindo a opção para true irá fazer o driver comportar como o Linux (o padrão).

    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=false
    
-o sloppy={BOOL}

Por padrão, o driver irá recusar montar se alguma das opções estiverem incorretas. Adicionando o parametro sloppy o driver irá simplesmente ignorar parametros ruins.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=false
    
-o errors={VALUE}

Esta opção controla como o driver lida com problemas. O padrão é tentar e continuar. Qualquer corrupão irá ser marcada e contornada. A alternativa é deixar o driver tentar e recuperar. No momento somente a recuperação que o driver pode fazer é substituir o setor de boot com o backup(cópia).

    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=continue
    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=recover
    

Voltar ao inicio

4.9 Como eu mudo as permissões de um volume NTFS?

Há tres opções para controlar as permissões e o proprietário dos arquivos e diretórios. Estes são: umask, uid and gid. Estes são mencionados em Opções comuns de mount.

Abaixo estão alguns exemplos de cada opção e como elas afetam os arquivos. Nós usamos o mesmo comando mount cada vez e apenas mostrar as opções.

    mount /dev/hda1 /mnt/windows -t ntfs -r
    

umask é um filtro de permissões, então ele trabalha de modo oposto ao chmod. Permissões completas são equivalentes a 777 (rwxrwxrwx). A umask de 0222 (-w--w--w-) deixa 555 (r-xr-xr-x).

A umask padrão é definida para 0077, por razões de segurança.

    mount ... -o umask=0277

    -r-x------ 1 root    root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o umask=0222

    -r-xr-xr-x 1 root    root    28096 Aug 24 1996 chkdsk.exe
    

Assim mesmo os arquivo ainda tem um proprietário e um grupo de root. A seguir nos tentamos as opções uid e gid.

    mount ... -o uid=flatcap

    -r-x------ 1 flatcap root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o gid=winuser

    -r-x------ 1 root    winuser 28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o uid=flatcap,gid=winuser

    -r-x------ 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Finalmente nós combinamos poucas opções para um controle preciso. Abaixo nós permitimos ao usuario flatcap controle completo, o grupo de usuários winuser leu as permissões e outras pessoas não tem acesso em tudo.

    mount ... -o umask=0027,uid=flatcap,gid=winuser

    -rwxr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Voltar ao inicio

4.10 Como eu monto um volume NTFS automaticamente?

Uma vez que voce esta feliz com seu comando mount, voce pode ensinar o Linux como montar o volume automaticamente adicionando uma linha /etc/fstab (tabela do sistemadearquivo).

Abaixo estão alguns exemplos comandos mount e seus equivalentes fstab.
NB Não se preocupe sobre o significado de 0 0 no final.

    mount /dev/hda1 /mnt/windows -t ntfs -r

    /dev/hda1 /mnt/windows ntfs ro                                    0 0
    

Aqui nos transformamos -r dentro do equivalente -o ro.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

    /dev/hda1 /mnt/windows ntfs ro,umask=0222                         0 0
    
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222,uid=flatcap,gid=winuser

    /dev/hda1 /mnt/windows ntfs ro,umask=0222,uid=flatcap,gid=winuser 0 0
    

Voltar ao inicio


5. Bootando Sistemas Operacionais em NTFS

5.1 Eu posso bootar o Windows num volume NTFS?

Sim, ambos grub e lilo pode bootar o Windows de um volume NTFS. O que realmente acontece, é que o carregador de boot Linux encontra o carregador de boot NTFS e da o controle a ele.

Voltar ao inicio

5.2 Como eu use lilo?

Adicione esta entrada ao /etc/lilo.conf, então rode novamente lilo.

    other = /dev/hda1
        table = /dev/hda
        label = Windows
    

O other aponta para a partição contendo o Windows e os pontos da table aponta para a tabela de partição do disco.

Voltar ao inicio

5.3 Como eu use o grub?

Adicione esta entrada ao /boot/grub/grub.conf

    title Windows
        root (hd0,0)
        makeactive
        chainloader +1
    

De acordo com a numeração de discos do grub, /dev/hda é hd0, hdb é hd1, etc. As partitições são numeradas do zero. Entretanto, hda1 é hd0,0, hdc4 é hd2,3.

Voltar ao inicio


6. Distribuições Linux

6.1 Quais distribuições suportam NTFS fora da caixa?

As distribuições Linux que são conhecidas em suportar NTFS são: Mandrake, Debian, SuSE, Gentoo and Caldera

De fato, se a configuração é, que se o nome não é RedHat, então elas suportarão NTFS.

Voltar ao inicio

6.2 Porque a RedHat não suporta NTFS?

Eu realmente gostaria de saber. Os rumores são que é uma preocupação legal.

Voltar ao inicio

6.3 Porque o Linux RedHat trava quando se acessa um volume NTFS?

Cheque qual versão de kernel voce está usando com o comando uname -a. Se a versão é 2.4.9 então é importante para voce atualizar seu kernel. Veja o Website da RedHat para maiores detalhes.

Se voce preferir, voce poderia compilar seu próprio kernel. Veja Como eu adiciono suporte NTFS support ao Linux? para maiores detalhes.

Voltar ao inicio

6.4 Alguma distribuição instala sobre NTFS?

Não completamente. Phat Linux pode instalar sobre uma partição FAT dentro do Windows, depois bootar dos arquvos dentro do Windows. O Novo Driver quase tem suporte suficiente para eles executar este truque usando NTFS.

Voltar ao inicio


7. O Novo Driver Linux NTFS

7.1 O que é o Novo Driver NTFS?

É uma completa reescrita do driver NTFS. O driver original foi escrito num período de muitos anos. No inicio nós conheciamos pouco sobre NTFS ou Linux e o código fonte tornou dificil de manter.

Nós criamos um novo driver, com nosso conhecimento, o qual é muito mais simples, mais rápido e mais fácil de manter.

Voltar ao inicio

7.2 Eu tenho de usa-lo?

Não. Ha já um driver NTFS no kernel Linux atual, então voce não precisa usar o novo driver. O driver original, embora velho, é confiável suficiente para uso diário.

Voltar ao inicio

7.3 Como eu uso o novo Driver?

Nós lançamos o novo driver como um patch para o código fonte do kernel Linux oficial.

../downloads.html
http://www.kernel.org/pub/linux/kernel/v2.4/

Voltar ao inicio

7.4 O que é um patch?

Um patch é um conjunto de mudanças para um conjunto de arquivos textos. Desde que nós somente alteramos o código NTFS, é ineficiente liberar todos os códigos de kernel toda vez que nós fazemos uma pequena mudança. Nós fazemos nossos patches contra os lançamentos oficiais do kernel linux.

Uma vez que descompactou o fonte, mude o diretório dentro do diretório fonte e uso o comando (substituindo o caminho path e o patchname quando necessário):

    patch -p1 < path/to/patchname
    

Isto irá modificará o código fonte. Deveria não existir rejeições ou falhas. A seguir construa o kernel como o normal. Há instruções para isto em toda parte nesta FAQ.

Voltar ao inicio

7.5 O que eu faço se eu ainda não entender?

Sinto muito. Nós tentamos ajudar todos nós podemos, mas nós temos uma quantidade limitada de tempo. Há poucos sites que poderiam ajudar voce entender os conceitos básicos sobre Linux. Alternativamente, encontre se não há um Grupo de Usuários Linux perto de voce.

Voltar ao inicio

7.6 Quando o novo código estará no Kernel Linux?

Há dois kernels para considerar. O novo código já está no desenvolvimento do Kernel Linux. Ele foi introduzido no 2.5.11.

O Kernel Linux Kernel estável, atualmente o 2.4.20, ainda tem o driver velho. Nós estamos feliz com o estado do código, mas nós ainda temos de convencer os Deuses do Kernel Gods que ele é bom.

Até que seja incorporado, nós faremos lançamentos frequentes na forma de patch.

Voltar ao inicio

7.7 Posso escrever um wrapper para o driver Windows?

Parece uma grande idéia, dar inicio, mas há numerosos problemas.

O maior problema técnico é juntar o sistema Windows de DLL ao Linux VFS. Ele poderia ser feito, mas não ficaria amigável. Ele poderia rodar como parte do kernel que significaria que se algo der errado ele danificara a maquina. Sem o fonte, nós não poderíamos contornar o problema.

O maior problema a seguir é a compatibilidade. Que versão de sistema de arquivo do Windows nós usariamos? Apanhando um limitaríamos seu uso, tornar o wrapper versátil para todos eles seria um pesadelo de programação.

E ficaria pior. As implicações legais de distribuir arquivos de sistema Windows poderia causar problemas. Tambem a natureza proprietária do driver faria que outros programadores do kernel não investigassem algum dos problemas se alguém usasse o wrapper NTFS.

De qualquer modo, houve um bravo homem que o fez. Jan Kratochvil's Captive é o tal wrapper de driver Windows. Ele permite escrita em arquivos NTFS, mas é conhecido por ter erros (bugs) e é muito mais devagar do que o driver Linux NTFS. Captive é baseado no ReactOS e usa o driver LUFS. Provavelmente se a quantidade de trabalho que foi colocada dentro do desenvolvimento do Captive fosse gasta no driver Linux NTFS, nós teríamos um driver confiável e completamente de código aberto com suporte a escrita.

Voltar ao inicio


Esse documento é uma tradução da NTFS FAQ de Richard Russon com o copyright citado abaixo. Esse documento em português foi traduzido por Marlon Bastida marlon-fedora@uol.com.br qualquer sugestão, comentário ou correção, envie um email clicando em meu nome.