Como fazer um usb stick bootable (pendriver de boot) de um arquivo ISO no macOS X

Esse é um tutorial rápido que mostrará como fazer um pendriver inicializável a partir de um arquivo de imagem .ISO usando um Apple Mac OS X.

Nota: este procedimento requer um arquivo .img que você deverá criar a partir do arquivo .iso que você baixou.


Dica: arraste e solte um arquivo do Finder para o Terminal para ‘colar’ o caminho completo sem digitar e correr o risco de erros.

  1. Baixe o arquivo desejado
  2. Abra o Terminal (em /Aplicativos/Utilitários / ou busque por Terminal no Spotlight)

Converta o arquivo .iso em .img usando a opção de conversão de hdiutil:

hdiutil convert -format UDRW -o /path/to/target.img /path/to/source.iso.dmg

Observação:  O OS X tende a colocar no final no arquivo de saída automaticamente mais um .img Renomeie o arquivo digitando:

mv /path/to/target.img.dmg /path/to/target.img

  1. Execute o comando diskutil list para obter a lista atual de dispositivos
  2. Insira sua mídia flash (pendriver)
  3. Execute diskutil listnovamente e identifique qual o número que foi atribuído ao dispositivo inserido, (por exemplo: /dev/disk2)
  4. Execute diskutil unmountDisk /dev/diskN (substitua N pelo número do disco do último comando. No exemplo anterior, N seria 2 )
  5. Execute:sudo dd if=/path/to/downloaded.img of=/dev/rdiskN bs=1m
    Nota: (substitua /path/to/downloaded.img pelo caminho onde o arquivo de imagem está localizado.Importante, o nome do diretório deve ser adicionado completo ao comando, mesmo que você esteja dentro da diretório onde se encontra o arquivo .img, e o diretório não deve conter espaço no nome, por exemplo, digamos que o arquivo que você converteu em .img esteja no seguinte diretório:
    /Users/fulano/Downloads/ubuntu.img e o disco seja o /dev/disk2,  nesse caso o comando ficaria:sudo dd if=/Users/fulano/Downloads/ubuntu.img of=/dev/rdisk2 bs=1mEsse comando provavelmente demorará um pouco, variando com base no tamanho do arquivo e no hardware envolvido.Nota: Usar em /dev/rdisk invés de /dev/disk pode ser mais rápido.
    Nota: Se aparecer o erro dd: Invalid number ‘1m’, você está usando GNU dd. Use o mesmo comando, mas substitua bs=1m por bs=1M.
    Nota: Se aparecer o erro dd: /dev/diskN: Resource busy, certifique-se de que o disco não esteja em uso. Inicie o ‘Disk Utility.app’ e desmonte (não ejete) a unidade.
  6. Execute diskutil eject /dev/diskNe remova sua mídia flash quando o comando for concluído
  7. Agora o pendriver bootável está pronto.

Algumas observações:

O comando dd do item 8 acima é o responsável por “escrever a imagem” para o pendriver, esse processo é lento e você não tem nenhum retorno do progresso.

Embora as versões mais recentes do dd do Ubuntu ou semelhantes venham com uma nova opção chamada status=progress, a incluída no macOS infelizmente não vem.

Isso quer dizer que não adianta adicionar o argumento status=progress ao comando, pois você obterá unknown operand status.

Caso queira adicionar uma barra de progresso, é possível, através da ferramenta chamada pv, também conhecida como Pipe Viewer. Para instalar, siga os passos:

brew install pv

Se apresentar algum erro como cannot run C compiled programs e não concluir a instalação, você pode executar o comando: xcode-select –install que ele irá instalar as dependências prévias necessárias. Concluído aí sim você pode digitar novamente o brew install pv.

Agora, divida seu comando dd em dois e canalize tudo por meio de pv. Se você souber o tamanho do seu pendriver, forneça-o para PV, pois melhorará ainda mais a saída. Veja este exemplo, em que minha unidade de entrada tem 64 GB:

sudo dd if=/Users/fulano/Downloads/ubuntu.img | pv -s 64G | sudo dd of=/dev/rdisk2 bs=1m

Isso resultará em um indicador de progresso de aparência familiar, bem como um indicador de velocidade de transferência.

Este método também funciona muito bem ao zerar unidades, para isso basta usar o seguinte comando para uma unidade de 500 GB, por exemplo, funcionou muito bem:

sudo dd if=/dev/zero | pv -s 500G | sudo dd of=/dev/rdiskY bs=1m