segunda-feira, 10 de dezembro de 2012

Montando imagens de CD/DVD no Linux


Essa semana participei do COMSOLiD e, na sala de games, um camarada surgiu com uma cópia de um game para Playstation em .nrg para rodar no PCSX. Na verdade não passava de uma provocação pois a pessoa acreditava que não era possível utilizar uma imagem de um programa proprietário de gravação de CDs. Bom, é claro que eu não disse que nunca tinha utilizado esse tipo de imagem de cd no Linux, mas minha primeira atitude foi tomar o notebook de suas mãos e consultar o man do mount e encontrar a resposta que queríamos. Usuários de outras distros sempre pensam que um usuário Debian é um glossário ambulante de comandos Linux e esquecem-se que uma das ferramentas mais importantes são os manuais de ajuda. Inteligente não é aquela pessoa que tem cada resposta na ponta da língua, e sim aquela que sabe onde buscar e como aplicar essas respostas.

E essa foi a motivação para esse post. Vejamos como montar as imagens de disco mais comuns no Linux através da linha de comando.

O primeiro passo é determinar uma pasta onde a imagem será montada. As mais adequadas para essa tarefa são as pastas /media e /mnt. Na maioria das distribuições Linux atuais nossas mídias de CD/DVD e pendrives são automaticamente montadas na pasta /media. Se você possui um driver de CD/DVD notará que nela já existem as pastas cdrom0 e cdrom (esta apenas um atalho para a primeira). Quando você espeta um pendrive o mesmo será montado em uma pasta com o nome do dispositivo. Se você vai montar a imagem para ser utilizada como um dispositivo real de disco e assim poder ser utilizada por uma aplicação que queira ler desse dispositivo real (como o emulador de jogos PCSX), então você deve montá-la nas pasta oficiais (cdrom ou cdrom0). Mas se for apenas montar a imagem para ter acesso aos arquivos da mesma pode montá-la na pasta /mnt ou criar uma pasta com o nome que deseje com o seguinte comando:
sudo mkdir /media/nomepasta
Mas vejamos como montar cada tipo de imagem:


Imagens .iso

O padrão oficial de imagens de disco no Linux é o ISO. Para montá-la use o comando:
$ sudo mount -t iso9660 -o loop imagem.iso /media/cdrom
Troque o nome da imagem.iso pelo nome do arquivo que você possui. A pasta a ser montada é /media/cdrom mas poderia ser /media/nomepasta ou ainda /mnt/nomepasta (de acordo com o nome criado com o comando mkdir).


Imagens .ngr (imagens geradas pelo Nero - Nero Burning Rom)

Por incrível que pareça o tipo de arquivo de imagem de cd mais comum no universo proprietário é o .ngr. Para montá-la devemos use o comando abaixo:
$ sudo mount -t iso9660 -o loop, offset=307200 imagem.ngr /media/cdrom

Se por algum motivo você desejar converter essa imagem .ngr para uma .iso instale o seguinte programa:
$ sudo aptitude install ngr2iso

Para converter, proceda com:
$ ngr2iso imagem.ngr imagem.iso


Imagens .bin e .cue

Outro formato muito popular no universo proprietário, para podermos montá-la precisamos antes convertê-la para .iso. Instale o programa que realiza isso com:
$ sudo aptitude install bchunk

Para converter o arquivo .iso:
$ bchunk imagem.bin imagem.cue imagem.iso
o
Agora basta montar a imagem .iso resultante como descrito acima.


Imagens .img

Também precisaremos converter esse formato para .iso antes. Instale o seguinte programa:
$ sudo aptitude install ccd2iso

Para converter:
$ ccd2iso imagem.img imagem.iso

Depois proceda como já foi falado para montar o arquivo .iso.


Imagens .mdf

Antes proceda com a instalação do mdf2iso:
$ sudo aptitude install mdf2iso

Converta com:
$ mdf2iso imagem.mdf imagem.iso

E, novamente, monte a imagem iso para utilizá-la.

Caso você não saiba, para desmontar a imagem use o seguinte comando:
$ sudo umount /media/cdrom

7 comentários:

  1. Correção no comando:

    bchunk imagem.bin imagem.cue imagem.is

    para

    bchunk imagem.bin imagem.cue imagem.iso

    ResponderExcluir
  2. vlw, @rafepel:disqus .
    A pressa realmente é inimiga da perfeição. rsrs

    ResponderExcluir
  3. parabens pela postagem.
    dicas muito úteis e diretas.

    ResponderExcluir
  4. Obrigado, @google-e9cd84d50b6597dea1f5c9e8ed0e00a2:disqus .

    ResponderExcluir
  5. Simples, prático útil e direto ao ponto! Maravilhoso! Já está nos meus favoritos!

    ResponderExcluir