Converter stick USB inicializável em arquivo ISO

2

Estou tentando obter um arquivo ISO a partir de um cartão de memória USB inicializável. O nome do dispositivo para o stick é dev/sdf1 . Nesta resposta: Converter USB inicializável para arquivo ISO , dd foi sugerido para cópia. Então eu fiz:

sudo dd if=/dev/sdf1 of=win7.iso

No entanto, o stick tem um tamanho de 30G, mas apenas 12G são usados. Executando o comando acima, ele cria uma imagem iso maior que 12G, parei de dd quando o arquivo era > 20G, desde que eu fiquei sem espaço em disco. É normal que o arquivo ISO fique tão grande ou haja outra maneira de atingir meu objetivo?

    
por user1981275 28.05.2013 / 15:56

2 respostas

5

dd é uma cópia 1: 1, copia todo o dispositivo, independentemente do que está nele. Se você copiar apenas uma partição ( sdf1 ), é improvável que seja inicializável, pois o gerenciador de inicialização normalmente reside no MBR sdf.

Se o espaço livre estiver zerado, você poderá salvar o espaço livre usando gzip.

Para zerar o espaço livre, você pode usar:

mount /dev/sdf1 /mnt/tmp
dd if=/dev/zero bs=1M | split -b 1G - /mnt/tmp/zerofile
sync
rm /mnt/tmp/zerofile*
umount /mnt/tmp

Para criar uma imagem compactada por gzip:

dd if=/dev/sdf bs=1M | gzip > win7.img.gz

Para restaurar a partir dessa imagem, é:

gunzip < win7.img.gz | dd of=/dev/sdf bs=1M

Outras alternativas são partimage ou ntfsclone (no caso de ntfs), que armazenam apenas arquivos, não espaço livre, mas o resultado pode não ser inicializável, pois não é uma cópia 1: 1.

    
por frostschutz 28.05.2013 / 16:04
2

Você pode comprimir a imagem como esta

dd if=/dev/sdf1 conv=sync,noerror bs=64K | gzip -c  > usb.img.gz

Dessa forma, não copiará as partes em branco do pen drive.

Além disso, dd cria uma imagem de disco, não uma iso.

    
por Meer Borg 28.05.2013 / 16:04