Como montar imagens de disco bruto?

12

Eu gostaria de montar um despejo bruto de um disco, por exemplo, como aqueles criados por dd? Existe algo como um dispositivo de loop no OS X?

Max Ried
fonte
1
Sinto que essa pode ser uma pergunta XY - por que você quer isso?
grg
1
@grgarside Eu gostaria de montar vários lixões de floppis, hds, o que sempre. Por que isso importa?
Max Ried
Bem, eu tenho uma resposta, mas como não sei por que você quer isso, não sei se é adequado.
grg

Respostas:

8

Isso é engraçado porque é realmente muito simples. Renomeie-o para uma extensão .dmg, pois um DMG também é uma imagem bruta.

Em contraste com a solução acima, isso funcionará em rasgos dd de unidades inteiras, além de partições.

user1901982
fonte
1
Você tem certeza de que os dmgs não possuem uma estrutura? Eles podem ser compactados, criptografados e têm checksums ...
Max Ried
3
Em primeiro lugar, existe uma família de formatos de arquivo DMG, mas é basicamente o DD em seu núcleo antes da criptografia, etc. Veja aqui para mais informações: newosxbook.com/DMG.html A parte importante está no segundo parágrafo. Os DMGs criados por Hdiutil básicos são na verdade apenas renomeados como dumps RAW, sem identificação de cabeçalho, rodapé, metadados ou quebra de qualquer tipo. Se e quando você tentar compactar / criptografar os dados, um bloco à direita será criado com instruções sobre como criptografar / comp. Quando o montador termina de descriptografar, é um DD novamente.
User1901982
3
Chegou atrasado à festa, mas percebeu que valia a pena adicionar um +1 aqui. Eu fiz isso com uma imagem de disco bruto de um PC de 20 anos e funcionou perfeitamente.
Matt Lacey
1
Solução verdadeiramente impressionante. Gosto de usar a linha de comando, mas nada supera algo que você consegue lembrar e faz isso rapidamente na interface do usuário.
LaX
2

O hdiutilcomando fornecido acima está correto, no entanto, os SSDs do Mac mais novos têm um tamanho de bloco de 4096 bytes e o hdiutilpadrão é 512 para imagens de disco. Portanto, se você tentar montar uma imagem de tamanho de bloco de 4096 bytes, isso parecerá um absurdo para o sistema.

A adição -blocksize 4096ao comando permitirá que você trabalhe com uma imagem criada a partir de um Mac mais recente:

hdiutil attach -blocksize 4096 -noverify -nomount diskimage.img
Colin Walsh
fonte
1

Você pode criar uma imagem de disco usando o Utilitário de Disco. Selecione o disco ou a partição do disco na lista à esquerda e, em seguida, Arquivo → Novo → Imagem do disco em <disco1>.

Depois que a imagem é criada, você pode montá-la como qualquer outro volume e, se você selecionou ler / gravar, pode ler / gravar na imagem como um volume montado. A imagem é montada no mesmo local que o disco original seria: / Volumes / diskname.

grg
fonte
Isso quase se encaixa nas minhas necessidades. Você conhece uma maneira de montá-los diretamente?
Max Ried
@ Max Você poderia esclarecer o que você quer dizer com 'diretamente'?
grg
Quero tratar um arquivo como se fosse um dispositivo de caractere e usá mount-lo.
Max Ried
@ Max ainda não sei ao certo o que você quer dizer :) Você pode usar mount na imagem montada como qualquer outra imagem e ela é mostrada ao lado dos discos físicos conectados - o que exatamente você quer usar?
grg
Eu tenho imagens brutas criadas com, ddpor exemplo. Eu quero montar isso. Eu poderia criar um dmg e dda imagem bruta nele e montar esse dmg, mas gostaria de montá-lo diretamente, algo assim mount -t hfs <path-to-file-created-using-dd> /mountpoint. No entanto, isso não é possível, pois mountsó funciona com dispositivos, não com arquivos comuns. No Linux, eu usava dispositivos de loop, apontando-os para o arquivo e os utilizando mountposteriormente.
Max Ried