quarta-feira, 5 de setembro de 2007

Acessando partições do Linux pelo Windows

Quem mantém o Windows em dual boot com o Linux enfrenta o problema de compatibilidade com o sistema de arquivos. Até algum tempo atrás, o Linux não acessava partições NTFS com resultados satisfatórios, o que mudou com o NTFS-3g. Você pode hoje, com segurança, ler e gravar arquivos em partições NTFS a partir do Linux (apesar dos riscos, a maioria teóricos, graças à evolução do NTFS-3g).
Mas e o contrário, como fica? Você entra no Windows e ele não reconhece as partições do Linux como partições válidas. Não são mapeadas no “Meu computador”, nem dá para acessar os arquivos. Calma. Fazer o que o NTFS-3g faz é uma tarefa um tanto complicada, devido o sistema NTFS ser bem pouco documentado e fechado, proprietário. O contrário é bem mais fácil, fazer o Windows ler e gravar em partições nativas do Linux, já que este é um sistema aberto.
As partições formatadas em ext2 ou ext3 têm melhor compatibilidade, estão mais consolidadas, e muita gente usa ext3 como padrão. Partições formatadas em ReiserFS ainda não são tão fáceis de acessar diretamente, mas é possível também.
Existem algumas ferramentas distintas disponíveis na Internet que permitem ao Windows ler e gravar em partições do Linux. Destacam-se duas: o Ext2 Installable File System for Windows e o Explore2fs.
Acessando partições em ext2/ext3 diretamente
Seguindo a instalação fácil, do tipo NNF (“Next > Next > Finish”), comum no mundo Windows, em menos de três minutos o Windows pode ler e gravar em partições ext2. As partições ext3 são suportadas da mesma forma, visto que são basicamente ext2 com suporte a journaling.
Basta entrar em www.fs-driver.org, site do projeto, acessar a página de download, baixar e instalar o Ext2 Installable File System (abreviado como Ext2 IFS). Nem precisa reiniciar o computador :)
Durante a instalação, ele exibe as partições do HD, dando a oportunidade de mapear as partições Linux detectadas, usando as letras disponíveis:

Escolha das letras para cada partição Linux
Nesse caso tenho a primeira partição, que é onde o sistema está instalado, escolhi a letra Z. A Y na imagem acima é a partição de swap, e a última (X) é a /home. Em azul estão as partições primárias, e em verde as extendidas.
Nesse caso específico as extendidas estão listadas antes, foi um rolo... Eu tinha o Windows instalado na primeira partição primária, e ao formatar para instalar o Linux, tive que exclui-la e criar uma nova. Ao exclui-la, foi-se minha hda1, como eu precisava criar a partição swap também, usei o espaço livre da partição hda1 antiga para criar as partições do Linux e de swap, que ficaram extendidas. Para o Windows, nativamente só existia a C, que vem a ser a hda2.
O Ext2 IFS instala um driver para o Windows, de forma que o Windows passe a reconhecer quase que “nativamente” as partições. Ele não usará sistemas de permissões de arquivos e pastas, elas se comportarão como as FAT/FAT32, com suporte a escrita e leitura por qualquer usuário, a qualquer arquivo. Elas serão mapeadas com letras pelo Windows, como visto, e ficarão acessíveis para qualquer programa. Você não precisará copiar os arquivos, nem “extrai-los” para uma partição FAT ou NTFS para poder usá-los; o Windows simplesmente reconhecerá o sistema assim como ele reconhece o FAT, NTFS, CDFS, etc. Isso permite acessar os arquivos de forma transparente, você nem se dará conta que é uma partição Linux :) Nada melhor do que essa praticidade! Veja algumas imagens que demonstram a integração:
Explorer visualizando o conteúdo da partição raiz (/) do Kurumin, instalado na hda1
Propriedades da partição /home. O espaço livre e usado é informado corretamente. A identificação se dá como ext2, apesar de ela ser ext3. Para o Ext2 IFS não há diferença, visto que ele não considera o journaling nem as diferenças do sistema ext3 perante o ext2.
O Windows poderá também manter um arquivo de paginação (pagefile.sys, swap) na partição Linux, ele será visto como um arquivo qualquer, para você ter uma idéia do reconhecimento. Mas apesar de toda essa integração, o desfragmentador de disco e o verificador de erros do Windows não funcionam com essas partições.
Se a partição contiver erros no sistema de arquivos (lógicos), o Windows poderá não conseguir montá-la. Isso ocorre, por exemplo, quando o sistema rodando o Linux é desligado de forma incorreta. Normalmente basta reiniciar, acessar o computador pelo Linux, reiniciar e voltar ao Windows. Mas isso só acontecerá nestes casos, onde o Linux deva passar seu verificador de erros.
Quando o Windows não conseguir montar a partição (devido a esse erro), ele poderá perguntar se você deseja formatá-la:
Escolha “Não”, reinicie pelo Linux, depois volte ao Windows, e o problema deverá ser resolvido. Se não for, passe um verificador de disco apropriado, usando as ferramentas do seu sistema Linux.
Independentemente de estar em boas condições ou não, isso acontecerá também com partições swap. Não a formate, simplesmente o Windows não terá como usá-las.
Uma observação é que o Ext2 IFS roda somente nas versões do Windows baseadas no NT. Isso exclui o Windows 95/98/Me. Para esses sistemas, você poderá usar uma outra ferramenta, comentada agora. Aliás, falando em observações, o Ext2 IFS é freeware mas de código fechado, enquanto que o Explore2fs é open source (feito em Delphi ;)
Outra ferramenta, o Explore2fs com Virtual Volumes
Um outro projeto permite acessar as partições Linux de forma diferente, sem a integração com o Windows e os programas como o Ext2 IFS. Trata-se do Explore2fs, que pode ser baixado em www.chrysocome.net/explore2fs. Originalmente ele fornece suporte apenas a partições formatadas em ext2/3 também. Há, no entanto, uma nova versão em desenvolvimento, o Virtual Volumes, que permite acessar partições ReiserFS. Baixe-o em www.chrysocome.net/virtualvolumes. Você pode escolher um dos dois; se precisar do suporte ao ReiserFS, baixe apenas o Virtual Volumes, já que ele suporta tanto o ext2/3 como o ReiserFS. Note, porém, que está em estágio beta, ou seja, poderá eventualmente corromper arquivos – algo que certamente ocorria nas primeiras distribuições do NTFS-3g.
O Explore2fs ou o Virtual Volumes trabalham de forma bem diferente. A interface do Explore2fs é um painel, que detecta as partições e lista os arquivos e pastas:
Tela do Explore2fs
Ele não permite que os programas gravem ou leiam arquivos diretamente. Você deve arrastar as pastas desejadas da janela dele para uma pasta no seu computador, formatada num sistema que o Windows reconheça (como FAT32/NTFS, ou até mesmo ext2/3 se você mantiver também o Ext2 IFS instalado). Para gravar arquivos nas partições Linux, faça o mesmo procedimento, arrastando arquivos das pastas do Windows para a pasta desejada na tela do Explore2fs.
Ele acaba por ser menos conveniente, apesar de suportar ReiserFS. Tem também um diferencial. Enquanto o Ext2 IFS roda apenas no Windows NT, 2000, XP, Vista ou 2003 (e cia), o Explore2fs pode ser executado em todas as versões do Windows, inclusive o 95, 98 e Me.
Há uma certa lentidão ao copiar pastas com muitos arquivos. É normal, apenas espere. Se você fechar o programa à força, pensando que estará travado, poderá corromper arquivos na partição Linux, especialmente ao mover do Windows para ela.
Concluindo
Boa sorte e bom trabalho, agora você não precisa mais ficar reiniciando o computador para trocar de sistema só por ter esquecido um arquivo no outro. Em conjunto com o NTFS-3g, você pode abandonar as inseguras partições FAT/FAT32, como área de troca entre dois sistemas :)

Nenhum comentário: