Eu fiz uma imagem do meu disco inteiro com
dd if=/dev/sda of=/media/external_media/sda.img
Agora, o problema é que eu gostaria de montar um sistema de arquivos ext4 que estava naquele disco, mas
mount -t ext4 -o loop /media/external_media/sda.img /media/sda_image
obviamente dá um erro de superbloco, já que a imagem contém todo o disco (MBR, outras partições) e não apenas a partição de que preciso. Acho que devo encontrar uma maneira de fazer a imagem do disco aparecer na /dev/
pasta ...
Alguém sabe como fazer isso?
PS: Sempre posso dd
fazer o backup da imagem no disco original, mas isso seria muito inconveniente (atualizei o sistema operacional e gostaria de mantê-lo como está)
sudo losetup -o $((56*512)) /dev/loop0 sda.img
mount -o loop,offset=$((56 * 512)) sda.img /mnt
. Fonte: madduck.net/blog/…Atualização para o Ubuntu 16.04: Com o novo,
losetup
agora é mais fácil:Veja o restante da resposta para versões mais antigas do Ubuntu.
Uma solução fácil é usar o kpartx : ele descobrirá o layout da partição e mapeará cada um para um dispositivo de bloco. Depois disso, tudo o que você precisa fazer é montar o que deseja.
Abra o Terminal, localize a imagem do disco e digite este comando:
Isso criou
loop0p1
e estáloop0p2
abaixo/dev/mapper
. A partir da saída, você pode ver os tamanhos das partições, o que ajuda a identificá-las. Você pode montar o que deseja com:Como alternativa, o dispositivo de bloco é detectado pelo Nautilus e você pode montá-lo na barra lateral:
Quando terminar, desmonte o que você montou e remova o mapeamento do dispositivo:
fonte
sudo apt-get install kpartx
- para ter acesso ao kpartx. Okpartx
link no início do post é uma 'armadilha' na minha opinião. Links que implicam a instalação de software são um não-não.losetup -Pf
havia sido mencionado anteriormente por askubuntu.com/a/496576/52975 Eu recomendo que você pelo menos crie um link para essa resposta.losetup -Pf ..
comando criará dispositivos assim/dev/loopXpY
que você ainda precisará montar. Você pode encontrar oX
de olhar para a saída dolosetup
comando. OY
é o número da partição.Edit : trabalha com util-linux> = 2.21 . No momento da escrita, o ubuntu é fornecido apenas com a versão 2.20
Do man losetup :
Então apenas corra
para criar nós de dispositivo para cada partição da imagem do disco no primeiro dispositivo de loop não utilizado e imprimi-lo no stdout. Se estiver usando o
/dev/loop0
dispositivo, isso criará pelo menos/dev/loop0p1
que você poderá montar como de costume.fonte
losetup
? O que eu tenho no Ubuntu 14.04 tem uma página de manual de julho de 2003 (util-linux) e nenhuma opção `-P` (ou qualquer outra coisa) para verificar partições.--partscan
opção foi introduzida em util-linux 2.21gnome-disks
tem uma opção para montar uma imagem de disco e suas partições. (<- isto é para instalação e uso do bash / Terminal,Disks
no painel também o encontra).losetup
), mas é quase três anos mais recente que a resposta aceita - que era a maneira de fazer isso na época.Tente
gnome-disk-image-mounter
:Não é
sudo
necessário. Ele será montado/media/your_user_name/partition_name
, exatamente como as unidades USB.fonte
losetup -P
automaçãolosetup -P
é o melhor método a partir do Ubuntu 16.04, conforme mencionado em https://askubuntu.com/a/496576/52975 , e aqui estão as funções para automatizar ainda mais. Uso:Fonte:
configuração do max_part do módulo de loop
Este é um método decente antes de 16.04.
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 mudar, podemos adicionar:
para um arquivo
/etc/modprobe
ou:para
/etc/default/grub
e entãosudo update-grub
.Como definir um parâmetro do módulo também é abordado em: Como adicionar parâmetros do módulo do kernel?
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
Use losetup para anexar toda a imagem do disco.
Em seguida, use mdadm para criar um dispositivo md e os dispositivos de bloco serão criados para todas as partições.
Agora você deve ver os dispositivos de partição.
fonte
A maneira mais simples, na minha opinião, é usar
mount -o loop,offset=...
como mencionado nesta resposta no StackOverflow . A ideia é a seguinte:O método é melhor porque não requer a exclusão do dispositivo de loop depois de desmontar a partição montada.
Para simplificar ainda mais a tarefa (que é necessária se você a fizer com frequência), você pode usar meu script
mountimg
para fazer tudo por você. Basta obtê-lo em https://github.com/AlexanderAmelkin/mountimg e usar assim:Você também pode especificar o tipo de sistema de arquivos e outras opções de montagem adicionais, se desejar:
Quando você terminar a partição, simplesmente
umount
:fonte