Acessando partições do Windows

Ao usar o Kurumin, as partições existentes no HD são detectadas durante o boot, não importa qual seja o sistema de arquivos em que estejam formatadas. São criadas entradas no arquivo “/etc/fstab” (que orientam o sistema a usar as partições) e ícones dentro do “Meu Computador”, que permitem acessar as partições com facilidade. Clicando sobre os ícones, você monta a partição correspondente.

Até aqui você está acessando a partição em modo somente-leitura, sem riscos de danificar qualquer arquivo. Se você quiser ativar a escrita, clique com o botão direito sobre o ícone da partição e ative a opção “Ações > Mudar para modo de leitura e escrita ou voltar para somente leitura”.

Outra opção é clicar sobre o ícone “Montar as partições em leitura e escrita”, que muda as propriedades de todos os ícones, fazendo com que as partições passem a ser montadas em modo leitura e escrita por padrão.

Mesmo depois de instalado, o sistema continua se comportando da mesma forma, montando as partições apenas quando você clica sobre os ícones. Para fazer com que as outras partições sejam montadas automaticamente durante o boot depois de instalar o Kurumin no HD, edite o arquivo “/etc/fstab” (como root) e retire o parâmetro “noauto” da linha referente à partição.

Se você tem o Windows instalado na partição “/dev/hda1”, por exemplo, você encontraria uma linha como:

/dev/hda1 /mnt/hda1 vfat noauto,users,exec 0 0

O “/dev/hda1” indica a partição, o “/mnt/hda1” é a pasta onde ela será montada, o “vfat” indica o sistema de arquivos (no exemplo temos uma partição FAT32) e o restante da linha indica as opções de montagem. O “noauto” faz com que a partição não seja montada durante o boot, ficando acessível apenas ao clicar sobre o ícone ou montar manualmente. Removendo a opção, a linha fica:

/dev/hda1 /mnt/hda1 vfat users,exec 0 0

Você pode ainda montar as partições manualmente usando o comando mount, como em:

# mount /dev/hda1 /mnt/hda1

Isso faz com que a partição “/dev/hda1” fique acessível na pasta “/mnt/hda1”. Embora a tradição seja montar as partições dentro da pasta /mnt, isto não é uma regra: você pode montar a partição em qualquer pasta vazia.

No caso das partições do Windows, é necessário usar um parâmetro adicional, o “-o umask=000”, caso contrário, a partição ficará disponível apenas ao abrir o gerenciador de arquivos como root:

# mount -o umask=000 /dev/hda1 /mnt/hda1

A possibilidade de acessar as partições do HD permite que você use o Kurumin também como um sistema de emergência, para quanto o Windows ou outra distribuição Linux instalada no HD derem qualquer problema. Você pode dar um boot com o CD do Kurumin, acessar as partições, salvar os arquivos em algum lugar (gravar um CD, salvar num outro micro da rede, copiar para um segundo HD, etc.) e assim poder reinstalar o sistema sem riscos.

O Linux suporta praticamente todos os sistemas de arquivos existentes. Você conseguirá acessar os arquivos do HD mesmo que tenha instalado o BeOS, Solaris ou outro sistema pouco usado.

A única exceção importante fica por conta do sistema NTFS usado pelo Windows 2000, XP e Vista.

O suporte a escrita em partições NTFS sempre foi um problema no Linux. Por ser um sistema de arquivos proprietário, não documentado e bastante complexo, desenvolver um driver capaz de escrever em partições Windows formatadas em NTFS, sem risco de corromper os dados gravados, é um desafio formidável.

Isto era um grande problema para quem mantinha o Windows em dual-boot, pois era possível apenas ler os arquivos da partição. Como o Windows também não suporta nenhum dos sistemas de arquivos usados no Linux, você acabava sendo obrigado a instalar o Windows em uma partição FAT32 (o que tem suas desvantagens, já que ele é um sistema muito mais propenso a problemas), ou pelo menos manter uma partição FAT32 disponível, para servir como uma “área de troca” entre os dois sistemas.

Até hoje, o driver que havia chegado mais perto era o Paragon, um software comercial, caro e que ainda por cima tinha a desvantagem de ser bastante lento. Num distante segundo lugar, tínhamos o Captive, que modificava partições NTFS usando o próprio driver do Windows, executado sobre uma camada de emulação. Apesar de ser aberto, o Captive era complicado de instalar, ainda mais lento que o Paragon e ainda por cima pouco estável, corrompendo com freqüência os dados da partição.

Mas, felizmente tudo isso é coisa do passado. O NTFS-3g pode ser considerável o primeiro driver de escrita em partições NTFS for Linux que é realmente utilizável, finalmente oferecendo uma solução simples para o antigo problema.

Ao invés de ser um driver complexo, incluído no Kernel, o NTFS-3g roda através do Fuse, um módulo que permite criar drivers para sistemas de arquivo que rodam como programas comuns. Outro bom exemplo de driver que roda sobre o Fuse é o GmailFS (http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html), que permite “montar” sua conta do Gmail, acessando-a como se fosse um HD externo e usando o espaço para fazer backup e guardar arquivos. Graças ao Fuse, você não precisa se preocupar com headers e patches do Kernel, como ao instalar outros drivers, o que simplifica muito a instalação.

Depois desta ladainha toda, você deve estar achando que usar o NTFS-3g deve ser muito complicado, mas na verdade usá-lo é muito simples.

O Kurumin inclui o suporte ao ntfs-3g a partir dos primeiros betas da versão 7.0. Ao clicar sobre o ícone “Montar as partições em leitura e escrita”, dentro do “Meu Computador”, o script detecta que uma partição NTFS está disponível e pergunta se você deseja usar o NTFS-3g para acessá-la em modo leitura e escrita:

Como diz o aviso, nunca é possível ter 100% de certeza de que acessar a partição usando um driver “não oficial” não vai causar problemas (você pode perder arquivos até mesmo usando o próprio Windows, por panes diversas no sistema), mas, embora o ntfs-3g ainda seja considerado um software em estágio beta, problemas de corrupção de dados são bastante raros.

Forcei uma série de situações potencialmente perigosas durante os testes, movendo pastas com mais de 1000 arquivos e subpastas, interrompendo operações no meio e até desligando o micro no botão durante uma cópia, sem conseguir causar problemas sérios na partição. Dentro da minha experiência, o máximo que poderia acontecer em casos mais extremos seria você precisar passar um scandisk através do próprio Windows para corrigir algum eventual problema na estrutura do sistema de arquivos. De qualquer forma, lembre-se sempre do velho ditado: “Só Jesus salva, o homem faz backup”. 🙂

Outra coisa que chama a atenção é o desempenho. O ntfs-3g obtém taxas de transferência absurdamente maiores que o Captive e o Paragon, se aproximando do desempenho que seria oferecido por um sistema de arquivos “nativo”.

No Captive, dificilmente obtinha mais do que irrisórios 300 kb/s de taxa de transferência, enquanto o ntfs-3g consegue manter entre 5 e 11 MB/s (oscilando de acordo com o tamanho dos arquivos copiados):

No Kurumin é muito simples usar o NTFS-3g por que ele já vem pré instalado no sistema e o script de detecção automatiza seu uso. Mas, por ainda ser considerado um driver experimental, ele não é incluído por padrão em muitas distribuições. Vamos então ao caminho das pedras de como instalá-lo manualmente em outras distribuições e também em versões anteriores do Kurumin.

O primeiro passo é carregar o módulo do Fuse (um driver do Kernel), usando o modprobe. Ele está disponível em qualquer distribuição minimamente atual:

# modprobe fuse

Use o comando abaixo para adicioná-lo no arquivo “/etc/modules” (como root), de forma a garantir que ele vai ser carregado durante o boot:

# echo “fuse” >> /etc/modules

A partir daí, você precisa instalar os pacote “libfuse” (ou “libfuse2”) e “fuse-utils”, necessários para que o ntfs-3g funcione. Se você usa uma distribuição baseada no Debian Etch (incluindo o Kurumin 6.0 e 6.1), ou o Ubuntu 6.6, pode instalar diretamente via apt-get:

# apt-get install libfuse2 fuse-utils

Em outras distribuições, procure pelos pacotes “libfuse” e “fuse-utils, responsáveis pela instalação do Fuse. Por ser um lançamento recente, o ntfs-3g não está disponível em muitas distribuições. Nestes casos, você pode instalá-lo através do código fonte, disponível no:
http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-download.html

O pacote é relativamente simples de compilar. Com o Fuse e os compiladores básicos instalados, basta descompactar o arquivo e rodar os tradicionais “./configure”, “make” e “make install”, este último como root.

Enquanto escrevo, o ntfs-3g não está disponível nos repositórios do Debian, nem do Ubuntu, mas é possível instalá-lo (sem precisar recorrer ao código fonte) através do repositório do Kanotix, que inclui pacotes compilados para o Debian Sid.

Para usá-lo, adicione a linha abaixo no final do arquivo “/etc/apt/source.list” e rode o comando “apt-get update”:

deb http://kanotix.com/files/debian sid main contrib non-free

Instale agora o pacote “ntfs-3g” via apt-get. Preste atenção neste passo (sobretudo se estiver instalando sobre o Ubuntu). Caso o apt-get solicite a remoção de outros pacotes, ou proponha baixar um grande número de dependências, aborte a operação (pressionando Ctrl+C) e pesquise no google sobre a disponibilidade de versões atualizadas dos pacotes.

Com os pacotes instalados, falta só montar a partição do Windows, usando o comando “ntfs-3g”. Se o Windows está instalado no driver C:, visto pelo sistema como “/dev/hda1” e você deseja acessar os arquivos através da pasta “/mnt/hda1”, o comando seria:

# ntfs-3g /dev/hda1 /mnt/hda1
(o “/mnt/hda1” pode ser substituído por qualquer outra pasta de sua preferência)

Por padrão, o comando monta a partição com permissão de acesso apenas para o root, o que leva ao problema clássico de você só conseguir acessar ao abrir o gerenciador de arquivos como root. Para corrigir o problema, dando permissão de acesso para todos os usuários, adicione a opção “-o umask=0” ao rodar o comando:

# ntfs-3g -o umask=0 /dev/hda1 /mnt/hda1

Agora você consegue acessar e escrever na partição usando seu login de usuário. Porém, ao copiar arquivos para dentro da partição você recebe uma mensagem chata (para cada arquivo copiado) dizendo que não é possível modificar as permissões do arquivo. Isso é perfeitamente normal, já que o NTFS não suporta as permissões de acesso do Linux, mas é extremamente chato se você precisa copiar um grande número de arquivos.

Para desativar as mensagens, adicione a opção “silent”, como em:

# ntfs-3g -o umask=0,silent /dev/hda1 /mnt/hda1

Um último problema, apontado Pelo Cláudio Loureiro é a falta de suporte a caracteres acentuados, que faz com que arquivos e pastas contendo cedilhas e acentos fiquem ocultos. Felizmente, isso é facilmente contornável. Rode o comando “locale -a” no terminal para verificar qual é a linguagem e conjunto de caracteres usado na sua instalação. Normalmente, ao instalar o sistema em Português do Brasil, será usado o “pt_BR.iso88591”. Adicione o parâmetro “locale=pt_BR.iso88591” no comando, para que o ntfs-3g use a linguagem e o conjunto de caracteres corretos. A partir daí, os arquivos acentuados passam a aparecer normalmente:

# ntfs-3g -o umask=0,silent,locale=pt_BR.iso88591 /dev/hda1 /mnt/hda1

Segundo o Szakacsits Szabolcs, desenvolvedor do ntfs-3g, as próximas versões serão capazes de detectar isso automaticamente, de forma que este parâmetro pode não ser mais necessário no momento em que estiver lendo esta dica.

Concluindo, caso você queira que a partição do Windows seja montada automaticamente durante o boot, existe a opção de adicionar o ponto de montagem no arquivo “/etc/fstab“, que é lido durante o boot. Abra o arquivo (como root) e adicione a linha:

/dev/hda1 /mnt/hda1 ntfs-3g silent,locale=pt_BR.iso88591,umask=0 0 0

Note que a ordem dos parâmetros mudou, mas os argumentos usados continuam os mesmos. É importante notar que você deve tomar cuidado ao editar o fstab, pois ele é um arquivo essencial para o carregamento do sistema. Revise a alteração antes de reiniciar o micro e deixe sempre uma linha em branco no final do arquivo, caso contrário vai receber uma mensagem de erro chata durante o boot ;). Ao adicionar esta linha no fstab, você não precisa mais se preocupar com o acesso à partição, pois ela passará a ser automaticamente montada durante o boot.

Outra opção ao adicionar o ntfs-3g no /etc/fstab é usar a opção “noauto”, que faz com que a partição não seja montada automaticamente durante o boot. Isso seria mais recomendável do ponto de vista da segurança, pois a partição seria montada apenas quando fosse realmente acessar, evitando danos acidentais. Para acessar a partição, você usaria o comando “mount /dev/hda1” (onde o “hda1” é a partição). No KDE você pode criar ícones para acesso às partições clicando com o botão direto sobre o desktop e acionando a opção “Criar novo > Link para Dispositivo”.

Ao adicionar o “noauto”, a linha no fstab ficaria:

/dev/hda1 /mnt/hda1 ntfs-3g noauto,silent,locale=pt_BR.iso88591,umask=0 0 0

Graças ao NTFS-3g, mais uma grave deficiência do sistema foi corrigida. Agora é só questão de tempo para que as principais distribuições passem a oferecer suporte de gravação em partições NTFS por padrão, facilitando a vida de quem mantém o Windows em dual boot, ou trabalha com manutenção. Imagine a praticidade de dar boot através de um live-CD, montar a partição do Windows e usar o ClamAV para remover os vírus ;).

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X