Objetivo: 
Esse rascunho tem a finalidade de reunir informações
necessárias para manipulação de arquivos de discos virtuais, como por
exemplo, vhds do vmware, arquivo de disco gerado pelo protocolo iSCSI. Possibilitar
a detecção e montagem de partições contidas nesses arquivos.  
O estudo surgiu com a ideia de indisponibilidade total de uma storage iSCSI, onde o único meio para recuperação de arquivos seria a retirada de disco para a manipulação do arquivo que armazena as informações do protocolo.
O estudo surgiu com a ideia de indisponibilidade total de uma storage iSCSI, onde o único meio para recuperação de arquivos seria a retirada de disco para a manipulação do arquivo que armazena as informações do protocolo.
Espero com esse documento poder ajudar de alguma forma pessoas
que assim como eu passaram por essa necessidade. 
1 - Listando e criando dispositivos loops(/dev/loop*) 
#Caso não tenham dispositivos loops ativos pode criar com o
comando: 
#Listar dispositivos loops existentes "ls -la
/dev/loop*"
#Criando dispositivos loops. 
ex: para criar /dev/loop3
"mknod -m660 /dev/loop3 b 7 3"
ex: para criar /dev/loop8 
"mknod -m660 /dev/loop8 b 7 8"
#References 
http://www.tldp.org/HOWTO/CDServer-HOWTO/addloops.html
2 - Manipulando arquivos de discos virtuais com ferramenta
"losetup".
- Carregue o arquivo para o dispositivo de blocos: 
losetup /dev/loop0 /var/lib/vz/teste
Obs: (/var/lib/vz/teste, arquivo do disco iSCSI que foi criado automaticamente no servidor iSCSI, com o nome de teste).
Obs: (/var/lib/vz/teste, arquivo do disco iSCSI que foi criado automaticamente no servidor iSCSI, com o nome de teste).
- Listando partições carregadas no dispositivo /dev/loop0   
fdisk -lu /dev/loop0 
- Resultado:< 
Disk /dev/loop0: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders, total 2097152
sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x46a6c0d0
Device Boot           
Start         End      Blocks  
Id  System
/dev/loop0p1            
128      204927      102400   
7  HPFS/NTFS/exFAT
/dev/loop0p2         
204928      512127      153600   
7  HPFS/NTFS/exFAT
:>
- Depois gere um ponto de montagem para cada partição
encontrada, multiplicando o inicio de cada partição (offset) x 512 
losetup -o {offset partição 1}x512 /dev/loop1 /dev/loop0 =
losetup -o 65536 /dev/loop1 /dev/loop0
losetup -o {offset partição 2}x512 /dev/loop2 /dev/loop0 =
losetup -o 104923136 /dev/loop2/dev/loop0 
- Se preferir ainda monte direto somente a partição
desejada, passando o parâmetro de qual setor ela inicia. 
Ex: Montada a partição 1, 512x128=65536 
losetup -o 65536 /dev/loop0 /var/lib/vz/teste
- Concluído o carregamento do ponto de montagem monte a
partição de acordo com o sistema de arquivos, ex:
mount.ntfs3g /dev/loop0 /mnt/teste | mount /dev/loop1
/mnt/teste1 
#É necessária a ferramenta ntfs-tools instalada no Linux,
"apt-get install ntfs-3g" para manipular  
#partições ntfs.  
#Para encerrar o carregamento do dispositivo loop entre com
o comando "losetup -d /dev/loop0" por #exemplo. 
#Ver status do dispositivo de loop "losetup
/dev/loop0" por exemplo. 
Referências losetup: 
http://varghese85-cs.blogspot.com.br/2008/11/mouting-partitions-with-losetup.html
http://cromoteca.com/en/blog/mountflatvmwarediskimagesunderlinux/
By:- Pedro Alex | pedroalex@gmail.com 
25/02/2014
