O Linux e outros Unix-like podem montar imagens criadas no formato RAW - CRU - usando um dispositivo de loopback. Isso é realmente muito útil pois permite, sem precisar iniciar uma máquina virtual, preparar o conteúdo de uma imagem de disco ou copiar arquivos de/para uma imagem sem ter que usar algum tipo de protocolo de rede para fazê-lo.
E para imagens que não estejam no formato RAW?
E para imagens que não estejam no formato RAW?
VDI - Virtualbox;
QCOW/QCOW2 - QEmu;
VHD - MS Virtual PC;
DMG - Apple Disk Image;
PARALLELS - Parallels Workstation,
Para todos os formatos de imagens listas acima, pode-se usar a ferramenta qemu-nbd do "canivete suiço" QEmu.
Nota: o VMDK da VMWare é formato RAW.
Montando todos os outros formatos de imagem, incluindo RAW
QCOW/QCOW2 - QEmu;
VHD - MS Virtual PC;
DMG - Apple Disk Image;
PARALLELS - Parallels Workstation,
Para todos os formatos de imagens listas acima, pode-se usar a ferramenta qemu-nbd do "canivete suiço" QEmu.
Nota: o VMDK da VMWare é formato RAW.
Montando todos os outros formatos de imagem, incluindo RAW
O QEmu é um conjunto de ferramentas que permitem emular uma máquina de forma completa. Além de emular um processador, o QEmu permite a emulação de todos os subsistemas necessários, tais como redes e hardware de vídeo. Ele também permite a emulação de sistemas de multiprocessamento simétrico e até outras arquiteturas de processador, como ARM ou PowerPC.
A ferramenta qemu-nbd permite exportar um imagem usando o protocolo Network Block Device e montar usando o módulo do kernel nbd.
qemu-nbd(8) supports disk formats supported by QEMU: QEMU supports following disk formats: raw, qcow2, qcow, vmdk, vdi, bochs, cow (user-mode Linux copy-on-write), parallels, dmg, cloop, vpc, vvfat (virtual VFAT), and host_device.
Abaixo um exemplo detalhado de como montar uma imagem. Esta imagem é de um WindowsXP rodando em VMWare ESX 3.5:
Verifique se seu kernel possui em módulo suporte ao nbd e obter mais informações sobre o módulo.
[root@rbawsesop03 andre]# modinfo nbd
filename: /lib/modules/2.6.38-ARCH/kernel/drivers/block/nbd.ko.gz
license: GPL
description: Network Block Device
depends:
vermagic: 2.6.38-ARCH SMP preempt mod_unload
parm: nbds_max:number of network block devices to initialize (default: 16) (int)
parm: max_part:number of partitions per device (default: 0) (int)
parm: debugflags:flags for controlling debug output (int)
Carregue o módulo e defina o número máximo de partições por dispositivo, max_part. Se não for definido o max_part não será possível acessar nenhuma partição que contenha na imagem.
[root@rbawsesop03 andre]# modprobe nbd max_part=16
Após o modulo carregado, serão criados vários dispositivos de bloco de nomes /dev/nbd*. Conecte algum dos arquivos de bloco nbd à imagem do disco virtual.
[root@rbawsesop03 andre]# qemu-nbd -c /dev/nbd0 winxp-flat.vmdk
Depois de conectado serão criados novos dispositivos de bloco correspondentes as partições existentes na imagem . Monte o bloco correspondente a partição desejada em alguma pasta do sistema.
[root@rbawsesop03 andre]# mount /dev/nbd0p1 /mnt/visit/
[root@rbawsesop03 andre]# ls -l /mnt/visit/
total 1049305
drwxrwxrwx 1 root root 8192 Dez 22 15:02 Arquivos de programas
-rwxrwxrwx 1 root root 0 Set 11 2010 AUTOEXEC.BAT
-rwxrwxrwx 1 root root 211 Set 11 2010 boot.dat
-rwxrwxrwx 1 root root 4952 Abr 14 2008 Bootfont.bin
-rwxrwxrwx 1 root root 211 Set 11 2010 boot.ini
-rwxrwxrwx 1 root root 0 Set 11 2010 CONFIG.SYS
drwxrwxrwx 1 root root 4096 Jan 26 16:18 Documents and Settings
-rwxrwxrwx 1 root root 0 Set 11 2010 IO.SYS
-rwxrwxrwx 1 root root 0 Set 11 2010 MSDOS.SYS
-rwxrwxrwx 1 root root 47564 Abr 14 2008 NTDETECT.COM
-rwxrwxrwx 1 root root 251696 Set 11 2010 ntldr
-rwxrwxrwx 1 root root 251696 Abr 14 2008 ntldr.bak
-rwxrwxrwx 1 root root 1073741824 Abr 28 15:06 pagefile.sys
drwxrwxrwx 1 root root 0 Set 11 2010 RECYCLER
drwxrwxrwx 1 root root 8192 Abr 11 10:55 Seguranca
drwxrwxrwx 1 root root 4096 Set 11 2010 System Volume Information
drwxrwxrwx 1 root root 45056 Mai 2 09:20 temp
drwxrwxrwx 1 root root 110592 Abr 28 15:00 WINDOWS
Para desconectar, é preciso desmontar as partições montadas anteriormente e desconectar o dispositivo
[root@rbawsesop03 andre]# umount /mnt/visit/
[root@rbawsesop03 andre]# qemu-nbd -d /dev/nbd0
/dev/nbd0 disconnected
Mais informações use qemu-nbd -h ou man qemu-nbd.
Montando imagens no formato RAW utilizando offset - deslocamento
Para montar uma image RAW é necessário calcular o offset da partição, ou seja, multiplicar o setor inicial pela quantidade de bytes por setor. Exemplo abaixo:
[root@rbawsesop03 andre]# fdisk -l winxp-flat.vmdk
Disk winxp-flat.vmdk: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = setores of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd499d499
Dispositivo Boot Start End Blocks Id System
winxp-flat.vmdk1 * 63 41945714 20972826 7 HPFS/NTFS/exFAT
winxp-flat.vmdk2 41945715 83875364 20964825 7 HPFS/NTFS/exFAT
tamanho do setor * setor inicial = offset
512 * 63 = 32256
Agora é só montar utilizando o offset calculado acima e acessar normalmente.
[root@rbawsesop03 andre]# mount -o loop,offset=32256 -t ntfs winxp-flat.vmdk /mnt/visit/
[root@rbawsesop03 andre]# ls -l /mnt/visit/
total 1049305
drwxrwxrwx 1 root root 8192 Dez 22 15:02 Arquivos de programas
-rwxrwxrwx 1 root root 0 Set 11 2010 AUTOEXEC.BAT
-rwxrwxrwx 1 root root 211 Set 11 2010 boot.dat
-rwxrwxrwx 1 root root 4952 Abr 14 2008 Bootfont.bin
-rwxrwxrwx 1 root root 211 Set 11 2010 boot.ini
-rwxrwxrwx 1 root root 0 Set 11 2010 CONFIG.SYS
drwxrwxrwx 1 root root 4096 Jan 26 16:18 Documents and Settings
-rwxrwxrwx 1 root root 0 Set 11 2010 IO.SYS
-rwxrwxrwx 1 root root 0 Set 11 2010 MSDOS.SYS
-rwxrwxrwx 1 root root 47564 Abr 14 2008 NTDETECT.COM
-rwxrwxrwx 1 root root 251696 Set 11 2010 ntldr
-rwxrwxrwx 1 root root 251696 Abr 14 2008 ntldr.bak
-rwxrwxrwx 1 root root 1073741824 Abr 28 15:06 pagefile.sys
drwxrwxrwx 1 root root 0 Set 11 2010 RECYCLER
drwxrwxrwx 1 root root 8192 Abr 11 10:55 Seguranca
drwxrwxrwx 1 root root 4096 Set 11 2010 System Volume Information
drwxrwxrwx 1 root root 45056 Mai 2 09:20 temp
drwxrwxrwx 1 root root 110592 Abr 28 15:00 WINDOWS
Ref.:
http://www.ibm.com/developerworks/linux/library/l-linux-kvm/
http://en.wikibooks.org/wiki/QEMU/Images
http://cabelovivaolinux.wordpress.com/2009/08/11/qemu-montando-imagens/
Nenhum comentário:
Postar um comentário
Dúvidas ou sugestões? Envie seu comentário.