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?
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?
Respostas:
Para aqueles que encontram o mesmo problema:
hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount filename
depois monte-o como quiser.
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.
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
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.
mount-lo.
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.