Eu tenho uma imagem de todo o disco criado usando o dd . A estrutura do disco segue:
kent@cow:~$ sudo fdisk -l
Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000b8508
Device Boot Start End Blocks Id System
/dev/sda1 * 5 90872 729929303+ 83 Linux
/dev/sda2 90873 91201 2642692+ 5 Extended
/dev/sda5 90873 91201 2642661 82 Linux swap / Solaris
A imagem foi criada usando:
dd if=/dev/sda of=image750.img
Como montar, se possível, / dev / sda1 a partir da imagem para que eu possa ler o conteúdo?
Não é uma opção clonar o disco rígido novamente, eu sei como fazê-lo se eu tivesse clonado a partição única por si só. Espero que ainda seja possível com a imagem atual.
linux
mount
disk-image
Excluído
fonte
fonte
Respostas:
Atualmente, existe uma maneira melhor, não há mais necessidade de usar compensações ou kpartx:
para liberar loop0, use após umount:
fonte
kpartx
primeiro, que monta as partições como/dev/mapper/loop3p1
, eu só quero salientar quelosetup
cria os dispositivos como/dev/loop0p1
. A resposta observa isso, mas eu li sobre isso provavelmente 10 vezes. : /Encontrei este problema hoje e queria atualizar as respostas apenas como um lembrete para mim. Em vez de calcular o deslocamento por conta própria, você pode usar uma ferramenta que fornece dispositivos montáveis a partir de uma imagem dd: kpartx
http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
http://linux.die.net/man/8/kpartx
Nesse caso, seria necessário algo como
onde loop1p1 representa a primeira partição, loop1p2, a segunda, etc.
fonte
Você tem a primeira parte: fdisk -l para encontrar o deslocamento inicial. Pegue esse número, multiplique por 512, e você terá a opção de deslocamento para montar. Portanto, para sda1 no seu caso, 5 * 512 = 2560. Em seguida, execute o mount:
fonte
A montagem em loop é apenas parte da resposta.
Consulte http://wiki.edseek.com/guide:mount_loopback#accessing_specific_partitions_in_the_image para obter ajuda na especificação da partição. Acho que mount -o loop, offset = 32256 /path/to/image750.img / mnt funcionará para você. mas você realmente deve ler o tutorial mencionado.
fonte
losetup -P
automaçãoMétodo mencionado por https://superuser.com/a/684707/128124 (adicionado no util-linux v2.21, adicionado Ubuntu 16.04), aqui estão as funções para automatizá-lo ainda mais. Uso:
Fonte:
configuração do max_part do módulo de loop
Método decente antes do util-linux v2.21.
loop
é um módulo do kernel, embutido no kernel no Ubuntu 14.04.Se você configurá-lo corretamente, o Linux divide automaticamente os dispositivos para você.
diz quantas partições os
loop
dispositivos podem gerar.É
0
por padrão no Ubuntu 14.04 e é por isso que nenhuma divisão automática acontece.Para alterá-lo, podemos adicionar:
para um arquivo
/etc/modprobe
ou:para
/etc/default/grub
e entãosudo update-grub
.Como definir um parâmetro de módulo também é abordado em: https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters
Após uma reinicialização, quando você faz:
monta a imagem em um
/dev/loopX
dispositivo e monta automaticamente as partições em/dev/loopXpY
dispositivos.Portanto, este é o método mais conveniente se você estiver disposto a reiniciar.
Veja também
fonte
Se você possui um sistema de arquivos no modo Usuário, como o fusível, em ambientes de desktop, como o Gnome, e instalou uma ferramenta como o gnome-disk-image-mounter, ele não precisa nem fazer root, clique com o botão direito do mouse e abra-o.
fonte
Eu acredito que a montagem em loop é a resposta -
O acima deve montá-lo nesse diretório.
Isso deve desmontá-lo:
fonte