Como mencionado em documentação da partimage 1 ,
(...) It is also impossible to extract a file from an image.
Mas não precisa se desesperar! Com o poder da filosofia Unix ( "Tudo é um arquivo" ), você pode acessar os arquivos sem a necessidade de alocar espaço em disco para uma partição separada. E aqui está como:
.. 0. Você diz que sua imagem criada com partimage é denominada winxp.img e contém o backup de uma partição NTFS 4.6 GiB . Bem. Você tem mais de 4.6 GiB de espaço livre no seu sistema Linux? Perfeito! (Caso contrário, obtenha algum espaço livre.) Você pode restaurar o conteúdo de partimage archive para um arquivo "fictício" que fingirá ser uma partição real.
-
Primeiro, você precisa criar um arquivo vazio de pelo menos 4,6 GiB:
dd if=/dev/zero of=dummy_disk.raw bs=1M count=4711(O valor do parâmetro
countvem do arredondamento de1024*4.6para atingir um valor acima de 4.6 GiB. Para um valor exato, você precisaria saber o tamanho da partição original - mas se você tiver espaço livre suficiente, você pode simplesmente usar5Kpara estar no lado seguro.Agora, diga
partimagepara restaurar seu sistema de arquivos NTFS para esse espaço fictício. O que? Recusa-se a tratar um arquivo normal como partição do disco rígido? Não há problema - se o Unix disser "Tudo é um arquivo" , então um identificador de disco como/dev/sda1também é um arquivo - então só precisamos reverter essa situação e fornecer um tipo de "dispositivo de bloco" do arquivo parapartimage- e é aí que a construção dispositivo de loopback é útil (continue lendo). -
Crie um dispositivo de loopback anexado ao seu disco fictício recém-criado (isso requer privilégios de root na maioria dos sistemas, portanto
sudoé usado):sudo losetup -f --show dummy_disk.rawO comando emitirá algo como
/dev/loop0- que é o nome do dispositivo de loopback que você precisa fornecer parapartimageem vez da partição real. Você também pode verificar se o dispositivo de loopback está anexado ao seu arquivo executandolosetup -a- isso é obviamente opcional. -
Execute
partimagepara restaurar o sistema de arquivos arquivado no arquivo fictício (substitua/dev/loop0pelo nome que você obteve na etapa anterior):partimage restore /dev/loop0 winxp.imgQuando terminar, o arquivo
dummy_disk.rawconterá o sistema de arquivos NTFS restaurado! Você só precisa montá-lo agora, para acessar os arquivos: -
Monte o manequim. Você só precisa de um diretório vazio para isso. Você pode criá-lo com
mkdir mountpointou usar um já existente. Existem duas maneiras alternativas de montar o arquivo:sudo mount -t ntfs-3g /dev/loop0 mountpoint(substitua
/dev/loop0pelo nome do dispositivo que você recebeu anteriormente)OR
sudo mount -o loop -t ntfs-3g dummy_disk.raw mountpointO método anterior usará o dispositivo de loopback existente, enquanto o segundo criará automaticamente um novo (a diferença de uso de recursos é insignificante).
É isso! O conteúdo do seu arquivo agora está acessível no diretório mountpoint .
Nota: Para as tarefas futuras de arquivamento de sistemas de arquivos, considere usar uma ferramenta mais atualizada, como FSAsarchiver . Não estou dizendo que é perfeito, mas pelo menos ainda é mantido. Você pode verificar as diferenças entre essas duas ferramentas em a página wiki do FSArchiver .
1 Isso pode ser um pouco impreciso, já que o software não é mantido e o website lista essa página da documentação como "desatualizada" .