Como montar partições e drives NTFS no Linux

Qualquer distro Linux atual tem suporte completo a leitura e escrita em sistemas de arquivos Windows, o que inclui o NTFS.
Os exemplos que seguem, foram aplicados a uma máquina Ubuntu 14.04 LTS, mas valem para Debian, Fedora ou qualquer outra distro Linux popular e atualizada.

Se você não estiver conseguindo realizar alguma operação com o drive, provavelmente falta algum módulo no seu kernel ou você não configurou algo adequadamente —. Neste texto, vou tentar mostrar algumas dicas de como montar partições NTFS, com todas as funções possíveis habilitadas.
Como montar partição NTFS no Linux - capa do tutorial

Cuidados básicos ao montar drives ou partições NTFS ou FAT32

Uma vez montado o drive, o Linux irá mostrar arquivos e pastas (diretórios) que, no Windows, estariam escondidos — o que pode expor arquivos de sistema. Portanto, é importante ter cuidado para não apagar o que não deve.

O Windows 7 armazena o estado do sistema em um arquivo em disco, quando entra em hibernação.
Ao “acordar”, restaura seu estado a partir daquele arquivo.
Isto quer dizer que você pode perder alterações feitas, durante a hibernação, em um drive compartilhado em uma máquina Windows (versão 7 e superior). — Manual do Ubuntu.

Um típico HD Windows costuma ter uma partição chamada “SYSTEM“, com tamanho entre 100 e 200 megabytes. A menos que você saiba o que está fazendo, não há qualquer necessidade de montá-la no Linux. A mesma dica vale para partições de recuperação do sistema, que costumam ser chamadas de “RECOVERY“.

Sistemas de arquivos comuns no Windows

Basicamente, os sistemas de arquivos mais comuns em sistemas Windows são estes:

  • O Windows 7, Vista, XP 2000, antigos sistemas NT e o Windows Server 2003 e 2008, são formatados com NTFS. O FAT32 é raramente usado, como padrão, nestas versões.
  • As versões anteriores, raramente usam o NTFS — O padrão é o FAT32.
  • Drives e cartões flash (pendrives, cartões SD etc) são tipicamente formatados como FAT16. Em alguns casos, é usado o exFAT.

Você pode verificar quais sistemas de arquivos estão sendo usados nos drives e dispositivos conectados ao seu computador com o comando fdisk:


sudo fdisk -lu

A relação dos sistemas de arquivos conectados pode ser extensa. O exemplo abaixo, mostra informações de um pendrive, conectado em /dev/sdc1 (no meu sistema):

Disco /dev/sdc: 4009 MB, 4009754624 bytes
84 cabeças, 22 setores/trilhas, 4237 cilindros, total de 7831552 setores
Unidades = setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico/físico): 512 bytes / 512 bytes
Tamanho da E/S (mínimo/ideal): 512 bytes / 512 bytes
Identificador do disco: 0x00054216

Dispositivo Boot      Início        Fim      Blocos   Id  Sistema
/dev/sdc1              62     7831551     3915745    7  HPFS/NTFS/exFAT

Use o comando grep para obter um resultado mais compacto:


sudo fdisk -l | grep -i ntfs

/dev/sdc1              62     7831551     3915745    7  HPFS/NTFS/exFAT

No decorrer deste artigo, vou usar este dispositivo como exemplo — não esqueça de adaptar os exemplos dados à situação do seu sistema.

Suporte a NTFS no Linux

O Linux usa o driver ntfs-3g para ler e alterar partições NTFS.
O driver vem pré-instalado em várias distribuições — no Ubuntu, ele é parte da distro desde a versão 11.10.
Se você estiver usando uma distro Linux atual, provavelmente não precisará fazer nada para trabalhar plenamente com dispositivos e partições NTFS.
Se você estiver tendo problemas para alterar dados em alguma partição NTFS, cheque se o pacote ntfs-3g se encontra instalado em seu sistema.

Configure o Linux para montar automaticamente os dispositivos e partições NTFS

Se você pretende manter o drive sempre conectado à sua máquina Linux e deseja que ele seja sempre montado na inicialização, configurar as opções de montagem no arquivo /etc/fstab é uma boa idéia.
Será necessário adicionar um linha para cada partição a ser montada, no arquivo fstab.
A documentação oficial do Ubuntu, enumera, pelo menos 3 razões para configurar o fstab, em vez de montar pelo seu gerenciador de arquivos (Nautilus, no Ubuntu):

  • Quando mais de uma conta de usuário estiver ativa durante uma sessão — com o uso do fstab, é possível montar uma vez só, para todo mundo poder usar.
  • Quando você tem softwares ou bibliotecas configurados para usar a partição ou o drive em questão, na inicialização, você vai querer que tudo esteja pronto para eles, sem a sua interferẽncia.
  • Conveniência de ter um procedimento a mais automatizado no seu sistema.

Como configurar o fstab

Uma das melhores formas de automatizar o processo de montagem de um drive ou partição no Linux é fazê-lo pelo seu nome de volume — isto é especialmente útil, quando se trata de um pendrive, que vai ser conectado/desconectado sempre.

Por ora, use o comando blkid, para saber mais sobre a localização das unidades que já se encontram conectadas ao seu sistema:


sudo blkid

No nosso exemplo, o dispositivo que interessa é o último da lista:

/dev/sda1: UUID="ce32e86c-e404-4f84-8125-74d0fc4897f7" TYPE="swap" 
/dev/sda2: UUID="a2ab821d-ae58-42fc-9384-f96dfcdc22cc" TYPE="ext4" 
/dev/sdb1: UUID="eb8e4cca-42c6-498d-b5ba-cd397096b3e9" TYPE="ext4" 
/dev/sdc1: LABEL="NTFS-FLASH" UUID="4D016F2B3DF4A3CE" TYPE="ntfs"

De acordo com a listagem, acima, a partição a ser configurada no fstab é a /dev/sdc1 que, neste caso, corresponde a um drive flash USB (pendrive) — note que o nome do volume (LABEL) é NTFS-FLASH e o seu UUID é 4D016F2B3DF4A3CE.
Comece por criar um ponto de montagem ou mountpoint para cada dispositivo, que você for configurar no fstab.
O ponto de montagem é um diretório, que pode ter qualquer nome. Eu gosto de usar um nome semelhante ao do volume a ser montado:


sudo mkdir /media/ntfsflash

A seguir, faça backup do fstab:


sudo cp /etc/fstab /etc/fstab.original

Agora, abra o fstab com o seu editor preferido (eu vou de nano):


sudo nano /etc/fstab

Agora adicione a seguinte linha ao arquivo do fstab, para montar o dispositivo pelo seu UUID:


UUID=4D016F2B3DF4A3CE  /media/ntfsflash  ntfs-3g  defaults,windows_names,locale=pt_BR.utf8  0 0

Não se esqueça de substituir o UUID e ponto de montagem /media/ntfsflash por valores adequados ao seu sistema.
Se o seu idioma não for português do Brasil, você vai precisar adequar esta variável também.
Use o comando locale para determinar qual o valor mais adequado para você:


locale | grep LANG

Quando terminar de editar o fstab, grave as alterações e feche o editor.
Caso não saiba, para gravar as alterações no nano, use a combinação de teclas Ctrl+o.
Para fechar e sair do editor, use Ctrl+x.

Exemplo de execução do comando blkid
Clique, para ver detalhes.

A nova configuração do fstab terá efeito na próxima inicialização do sistema.
Se tiver pressa para ver o resultado, use o comando mount:


sudo mount -a

O comando, acima, monta todos (all) os dispositivos disponíveis e citados no fstab.
Se quiser, use o mount, para verificar se o seu dispositivo foi montado:


mount

/dev/sdb1 on / type ext4 (rw,errors=remount-ro,discard)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)

...

/dev/sda2 on /home type ext4 (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=justincase)
/dev/sdc1 on /media/ntfsflash type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)[/plain]

Como montar uma partição NTFS como apenas-leitura

Uma solução fácil para montar uma partição NTFS com restrição a escrita é usar o driver NTFS antigo.
Substitua a linha que você adicionou ao fstab por esta:

UUID=4D016F2B3DF4A3CE  /media/ntfsflash  ntfs  defaults,umask=222  0 0

Novamente, não se esqueça de adequar o exemplo ao seu caso.
O método preferível é usar o driver atual e especificar que a partição deve permanecer apenas para leitura.
Coloque a cláusula ‘ro’, logo após ‘defaults’:

UUID=4D016F2B3DF4A3CE  /media/ntfsflash  ntfs-3g  defaults,ro,windows_names,locale=pt_BR.utf8  0 0

Isto irá permitir que o acesso ocorra em condições maiores de segurança ao sistema externo.

Como montar um drive ou partição NTFS na linha de comando do Linux

Para montar um dispositivo NTFS, usando um comando no terminal, use o exemplo abaixo.
Não esqueca de substituir os valores do exemplo dado pelos que se adequam ao seu sistema:


sudo mount -t ntfs-3g /dev/sdc1 /media/ntfsflash/

Você pode montar o dispositivo, com detecção automática do sistema de arquivos:


sudo mount -t auto /dev/sdc1 /media/ntfsflash/

Referências

Como formatar um drive no Linux, com mkfs

O mkfs torna fácil formatar drives de vários tipos, no Linux, tais como pendrives, cartões de memória, HDs, SSDs etc.
O aplicativo permite várias opções e parâmetros de uso, que lhe conferem grande versatilidade para realizar a tarefa.
O mkfs pode criar uma variedade de sistemas de arquivos em um dispositivo — usualmente (mas não exclusivamente) um disco rígido.
sistema de arquivos - disco rígido - usb - pendrive

Como usar o mkfs

É importante ser cuidadoso.
— não é possível desfazer a formatação depois. Portanto tenha sempre a certeza de que está formatando o drive certo.
O nome (endereço) do drive vai ser algo parecido com “/dev/hda1” ou “/dev/sdc2”.
Você pode também formatar e criar um sistema de arquivos em um arquivo — semelhante a um disco rígido virtual.
Para formatar um pendrive, localizado em /dev/sdc1, comece por desmontar o dispositivo:

sudo umount /dev/sdc1

Agora já é possível criar um sistema de arquivos nele.
O comando, a seguir, formata e apaga todo o conteúdo do dispositivo — e cria um sistema de arquivos vfat nele:

sudo mkfs -t vfat -n pendrive -I /dev/sdc1

Sistemas de arquivo suportados pelo mkfs

Os sistemas de arquivos (filesystems) mais usados, são suportados pelo mkfs:

  • xfs,
  • ext2, ext3, ext4,
  • xia,
  • xfs
  • vfat, msdos, dos,
  • minix,
  • bfs etc.

O aplicativo tem opções apropriadas a cada sistema de arquivos em particular. Ele é um frontend para estes outros programas:

  • mkdosfs
  • mke2fs
  • mkfs.bfs
  • mkfs.ext2
  • mkfs.ext3
  • mkfs.ext4
  • mkfs.minix
  • mkfs.msdos
  • mkfs.vfat
  • mkfs.xfs
  • mkfs.xiafs

Cada um deles tem uma página de manual e um sistema de ajuda próprio — que vale a pena consultar sempre.
Você pode ver a relação deles no seu PC com o comando ls:

ls /sbin/mk*

Linux mkfs
Se você não especificar o sistema de arquivos a ser construído no dispositivo, o mkfs vai usar o ext2 como padrão.

Como verificar se há setores ruins no drive, antes de formatar

Alguns dos aplicativos, da lista acima, tem opções mais avançadas, que permitem verificar a saúde do dispositivo de armazenamento antes de formatar e criar um sistema de arquivos nele.
Para criar um sistema de arquivos VFAT em um pendrive que você pretenda usar para ver filmes, proceda da seguinte forma, para fazer uma checagem no sistema de arquivos do dispositivo após a formatação:

sudo mkfs -t vfat -c -v -n "meus_filmes" /dev/sdc1

O que produzirá uma saída semelhante a esta:

mkfs.fat 3.0.26 (2014-03-07)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows
Auto-selecting FAT32 for large filesystem
/dev/sdc1 has 124 heads and 62 sectors per track,
hidden sectors 0x0002;
logical sector size is 512,
using 0xf8 media descriptor, with 7870462 sectors;
drive number 0x80;
filesystem has 2 32-bit FATs and 8 sectors per cluster.
FAT size is 7671 sectors, and provides 981886 clusters.
There are 32 reserved sectors.
Volume ID is aafb6b57, volume label meus_filmes.
Searching for bad blocks 106080... 212192... 318560... 424288... 530272... 636624... 743008... 849248... 955360... 1061472... 1167968... 1275104... 1381728... 1488096... 1594336... 1701200... 1808480... 1916256... 2022496... 2128864... 2234976... 2341344... 2448096... 2554720... 2661584... 2768864... 2875488... 2981984... 3087968... 3194208... 3300832... 3407456... 3514192... 3620576... 3727824... 3834080... 

Na linha de comando, acima:

  • a opção -c, pede para que o aplicativo faça uma checagem no drive, após a formatação.
  • a opção -v, liga a “verbosidade”.
  • a opção -n, nomeia o novo dispositivo (no máximo 11 letras)

Uma forma alternativa e equivalente de execução é a seguinte:

sudo mkfs.vfat -c -v -n "meus_filmes" /dev/sdc1

Os resultados são os mesmos.

Qual o sistema de arquivos mais recomendado

Se você tentar esta busca no Google, vai encontrar inúmeros fóruns, onde esta questão é debatida, às vezes intensamente e quase nunca com resultados 100% conclusivos.
O fato é que o tipo mais adequado de sistema de arquivos varia de acordo com o tipo de dispositivo — pendrive, HD, SSD etc —, de acordo com a aplicação — reproduzir filmes, guardar arquivos de backup etc —, entre tantos outros fatores.
Vou ser extremamente simplista na minha afirmação, a seguir, apenas para não te deixar sem resposta — mas você deve pesquisar antes de decidir, sempre.

Sistemas de arquivos mais indicados para pendrive

Se o seu dispositivo removível for para armazenar filmes em mp4, mkv etc., para assistir na TV, você vai precisar que ele use um sistema de arquivos reconhecido pelo aparelho: os mais comuns, portanto, são VFAT e NTFS.
Em pendrives maiores que 16 Gb, vá de NTFS.
Se não vai depender da compatibilidade com outros sistemas operacionais, pode usar o ext2 ou ext3 para pendrives ou cartões de memória de baixa capacidade e ext4 em dispositivos mais novos e com maior capacidade de armazenamento.
O ext4 é recomendado também para unidades SSD.

Como usar o ext4

Use a versão mais nova, ext4, sempre — a menos que você tenha motivos especiais para usar uma versão mais antiga.
As equipes de desenvolvimento do Fedora e do Red Hat têm optado pelo XFS — se uma destas é sua distro, mantenha a opção das equipes de desenvolvimento, por que você terá mais suporte.
O uso básico do mkfs, para formatar uma partição com o tipo ext4 é assim:

sudo mkfs -t ext4 /dev/sdd3

Tenha em mente que uma partição precisa estar desmontada sempre, antes de ser formatada — creio que o sistema irá lembrá-lo disto.

LEIA MAIS