Como posso instalar um macOS High Sierra VM Guest no VirtualBox em um host Mac?

0

Como posso instalar o macOS High Sierra em uma VM VirtualBox em execução no hardware do Mac?

    
por clearlight 22.08.2018 / 22:13

1 resposta

4

NOTA : Publicando isso como um Q & Um tutorial de estilo (que é explicitamente sancionado nos sites do StackExchange). Demorei um pouco para juntar tudo isso de vários sites e métodos on-line para que funcionasse, então queria documentá-lo proativamente em um local com bom acesso e visibilidade. Além disso, observe: Estou instalando o macOS no hardware mac. Isto não é para Windows / PCs. A Apple desaprova a instalação do macOS em hardware que não é da Apple

Receita Eu costumava instalar o macOS High Sierra 10.13.6 em VirtualBox 5.2.19 em um Retina iMac no final de 2015.

  1. Primeiro, faça o download do instalador do High Sierra na loja de aplicativos. (App loja coloca em / Applications e lança-lo. O instalador de execução automática pode ser encerrado para que possa ser convertido em um ISO)

  2. Você pode converter o instalador DMG em um ISO, usando o script no final desta resposta. Algumas outras abordagens também funcionam. Você pode precisar ou querer ajustar os nomes dos arquivos ou o nome do aplicativo do OS / Installer, dependendo de qual sistema operacional você está tentando instalar, etc ...

  3. Depois de criar o ISO, crie uma máquina virtual com as seguintes configurações:

OS Type: macOS 10.13 High Sierrs (64-bit)
Base Memory: 4096 GB RAM
Disk Size: 32 GB disk size
Video RAM: 128 MB
2 CPUs
disable floppy
disable serial port
disable audio

Da linha de comando, crie os seguintes valores de dados extras do VirtualBox para a VM.

OBSERVAÇÃO : Estes parecem ser essenciais para que o instalador seja inicializado e executado.

Estas configurações extras de dados foram omitidas da maioria ou de todas as instruções de instalação do Mac que encontrei on-line. Eu peguei esses valores emprestados das instruções de instalação do Windows VirtualBox e modifiquei o produto do sistema para que correspondesse ao meu iMac (iMac17, 1). Sem essas configurações de dados extras, o instalador falhou na inicialização, com um loop infinito com algum erro relacionado à tentativa de reinicializar o MACH).

    VBoxManage setextradata  {vm name or ID} "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac17,1"
    VBoxManage setextradata  {vm name or ID} "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
    VBoxManage setextradata  {vm name or ID} "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
    VBoxManage setextradata  {vm name or ID} "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
    VBoxManage setextradata  {vm name or ID} "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
  1. Aponte a VM para o ISO que você criou na etapa 2 e inicialize-a.

Quando a GUI da partição de recuperação aparecer (em que você tem a opção de reinstalar (também usada para instalação inicial)), primeiro escolha o Utilitário de Disco e localize e formate (por exemplo, Apagar) o disco virtual criado durante a criação inicial. da VM do VirtualBox Guest. No Utilitário de Disco, o disco rígido será exibido como um disco à esquerda. Apague / formate como Mac OS Extended Journaled.

Se você não formatar explicitamente o disco virtual, o instalador do macOS não encontrará nenhum disco que instale o macOS ao executar o instalador. Se você não tiver formatado o disco, o instalador não irá errar, mas apenas ficará lá esperando que você escolha um disco, com nenhum listado, e nenhuma opção para continuar com a instalação.

Após a primeira reinicialização durante a instalação, fiquei preso no prompt de shell da UEFI, que é obtuso e confuso para os não iniciados (ou seja, não sabia o que fazer a respeito).

O motivo pelo qual fui despejado no shell de inicialização do UEFI é que o macOS ainda não foi instalado na partição de inicialização e o carregador de boot não é inicializado automaticamente na partição de recuperação se a primeira partição não for válida.

Para inicializar / executar manualmente o código na partição de recuperação para concluir a instalação, faça o seguinte (crédito para Fóruns do VirtualBox para esta informação) :

  1. No prompt do shell da UEFI: Digite exit
  2. Você será levado a uma GUI no modo de texto da EFI.
  3. Selecione Gerenciador de manutenção de inicialização e clique em.
  4. Selecione Boot From File e clique em

Você deve ver uma lista preenchida com duas entradas ocultas (caminhos de barramento PCI)

O primeiro é o caminho PCI para uma partição de inicialização que não é válida porque você ainda não instalou o macOS nela. Depois de instalar o macOS, a inicialização deve encontrar essa partição e inicializar normalmente, sem descarregá-lo no shell UEFI.

A segunda partição é a partição de recuperação, aquela que você precisa inicializar para fazer a instalação do macOS.

  • Clique na segunda entrada, você deverá ver (e depois clicar): macOS Install Data
  • Em seguida, clique em: Arquivos bloqueados
  • E, finalmente, clique em: boot.efi

Nesse ponto, a inicialização do instalador continuará e você deverá chegar ao ponto em que o macOS pode ser instalado.

Script Bash para converter o aplicativo instalador do macOS baixado da loja de aplicativos para ISO

#!/bin/bash
installer="/Applications/Install macOS High Sierra.app"    
hdiutil create -o /tmp/HighSierra.cdr -size 5500m -layout SPUD -fs HFS+J
hdiutil attach /tmp/HighSierra.cdr.dmg -noverify -mountpoint /Volumes/install_build
sudo "$installer"/Contents/Resources/createinstallmedia --volume /Volumes/install_build
mv /tmp/HighSierra.cdr.dmg ~/Downloads/InstallSystem.dmg
hdiutil detach /Volumes/Install\ macOS\ High\ Sierra
hdiutil convert ~/Downloads/InstallSystem.dmg -format UDTO -o ~/Downloads/HighSierra.iso
    
por 22.08.2018 / 22:13