# Desktop Comet Lake

Suporte Versão
Suporte Inicial no macOS macOS 10.15 Catalina

# Ponto de Partida

Criar uma config.plist pode parecer difícil, mas não é. Este guia mostrará como configurar tudo, só é preciso ter tempo. Não se preocupe, você não será deixado no escuro. Isso significa que, caso surjam problemas, verifique as configurações da sua config.plist para garantir que está tudo certo. O principal a ser observado com o OpenCore é:

  • Todas as propriedades precisam estar definidas. O OpenCore não reverte para valores padrão, então não exclua nenhuma seção, a não ser que seja explicitamente indicado. Se o guia não menciona uma opção, mantenha os padrões.
  • O arquivo Sample.plist não pode ser usado sem alterações. É preciso configurá-lo para o seu computador antes de usá-lo.
  • NÂO USE CONFIGURADORES. Eles raramente respeitam as configurações do OpenCore e alguns, como o do Mackie, adicionam propriedades do Clover e corrompem as plists!

Agora, com isso fora do caminho, um breve lembrete sobre as ferramentas necessárias:

Leia este guia mais de uma vez antes de configurar o OpenCore. Tenha certeza de tê-lo configurado corretamente. Observe que as imagens deste guia nem sempre estarão 100% atualizadas, então sempre leia o texto que as acompanha. Se nada for mencionado sobre uma opção, mantenha as configurações padrão.

# ACPI

ACPI

# Add

Informações

É aqui onde todas as SSDTs do computador são adicionadas. Elas são muito importantes para iniciar o macOS e possuem muitos usos, como mapear as portas USB (opens new window), desativar GPUs não suportdas e coisas do tipo. Da forma como o OpenCore funciona, elas são necessárias para iniciar o macOS. O guia sobre como fazê-las pode ser encontrado aqui: Primeiros Passos com a ACPI (opens new window).

Serão necessárias algumas SSDTs para trazer de volta algumas funcionalidades que o Clover oferecia:

SSDTs Necessárias Descrição
SSDT-PLUG (opens new window) Permite utilizar o gerenciamento nativo de energia da CPU no Haswell e mais novos. Veja o guia Primeiros Passos com a ACPI (opens new window) para mais detalhes.
SSDT-EC-USBX (opens new window) Corrige tanto o controlador integrado quanto a energia da USB. Veja o guia Primeiros Passos com a ACPI (opens new window) para mais detalhes.
SSDT-AWAC (opens new window) Este é o patch de RTC para série 300 (opens new window) (em inglês), exigido para todas as placas-mãe B460 e Z490 que impedem o macOS de iniciar. Uma alternativa é a SSDT-RTC0 (opens new window) para quando a AWAC SSDT é incompatível devido à falta do relógio RTC antigo. Para verificar se seu computador precisa disso e qual delas usar, consulte o guia Primeiros Passos com a ACPI (opens new window).
SSDT-RHUB (opens new window) Necessária para corrigir erros de Root-device em placas Asus e, talvez, em placas MSI. Placas-mãe Gigabyte e AsRock não precisam dessa SSDT.

Observe que não é preciso adicionar a sua DSDT.aml aqui, pois ela já está presente no firmware do seu computador. Então, se ela estiver presente nesta seção, remova a sua entrada da config.plist e exclua o arquivo .aml da pasta EFI/OC/ACPI.

Para aqueles que desejam obter mais informações sobre como extrair DSDTs, como criar SSDTs e como compilá-las, veja o guia Primeiros Passos com a ACPI (opens new window). SSDTs compiladas possuem a extensão .aml (assembled) e serão colocadas na pasta EFI/OC/ACPI. Elas também precisam estar especificadas na sua config.plist, dentro da seção ACPI -> Add.

# Delete

Esta seção bloqueia o carregamento de certas tabelas da ACPI. Ignore-a por enquanto.

# Patch

Esta seção permite modificar partes da ACPI (DSDT, SSDT etc.) de forma dinâmica por meio do OpenCore. No caso deste guia, os patches são gerenciados pelas SSDTs. É uma solução muito mais limpa, pois permite iniciar o Windows e outros sistemas operacionais com o OpenCore.

# Quirks

Configurações relacionadas à ACPI. Deixe tudo como padrão, pois este guia não vai usar essas quirks.

# Booter

Booter

Esta seção é dedicada a quirks relacionadas com a aplicação de patches no boot.efi através do OpenRuntime, o substituto do AptioMemoryFix.efi.

# MmioWhitelist

Esta seção permite definir quais regiões do mapa de memória que são geralmente ignoradas pelo macOS, são boas para o uso. Pode ser ignorado por enquanto.

# Quirks

Informações

Configurações relacionadas à aplicação de patches no boot.efi e a correções de firmware. Será necessário alterar as seguintes opções:

Quirk Ativada
DevirtualiseMmio YES
EnableWriteUnprotector NO
ProtectUefiServices YES
RebuildAppleMemoryMap YES
SetupVirtualMap NO
SyncRuntimePermissions YES
Informação Mais Detalhada
  • AvoidRuntimeDefrag: YES
    • Corrige serviços UEFI em tempo de execução, como a data, a hora, a NVRAM, o controle de energia etc.
  • DevirtualiseMmio: YES
    • Reduz a quantidade de memória reservada, expande as opções de valores do slide=N e ajuda bastante a corrigir problemas de alocação de memória. Também exige ProtectUefiServices em placas Z490.
  • EnableSafeModeSlide: YES
    • Permite que as variáveis slide possam ser usadas no modo de segurança.
  • EnableWriteUnprotector: NO
    • Esta quirk e RebuildAppleMemoryMap podem conflitar às vezes. É recomendado ativar a última em plataformas mais novas e desativar esta quirk.
    • No entanto, devido a problemas com OEMs que não utilizam as últimas builds EDKII, a combinação acima pode causar falhas precoces na inicialização. Isso decorre da ausência do MEMORY_ATTRIBUTE_TABLE. Recomenda-se portanto, desativar RebuildAppleMemoryMap e ativar o EnableWriteUnprotector. Mais informações sobre isso podem ser encontradas na seção de Solução de Problemas.
  • ProtectUefiServices: YES
    • Protege os serviços de UEFI de serem sobrescritos pelo firmware. Necessário em placas Z490.
  • ProvideCustomSlide: YES
    • Usado para variáveis slide calculadas. No entanto, a necessidade desta quirk é determinada pela presença da mensagem OCABC: Only N/256 slide values are usable! no log de depuração. Se a mensagem OCABC: All slides are usable! You can disable ProvideCustomSlide! estiver presente no log, desative o ProvideCustomSlide.
  • RebuildAppleMemoryMap: YES
    • Gera um mapa de memória compatível com o macOS, mas pode não funcionar em alguns firmwares de notebooks OEM. Ao encontrar falhas precoces na inicialização, desative esta quirk.
  • SetupVirtualMap: NO
    • Corrige as chamadas de SetVirtualAddresses para endereços virtuais, no entanto, não funciona devido às proteções de memória do Comet Lake. Placas ASUS, Gigabyte e AsRock não iniciarão se esta opção estiver ligada.
  • SyncRuntimePermissions: YES
    • Corrige o alinhamento com tabelas MAT e é necessária para iniciar o Windows e o Linux com as tabelas MAT. Também é recomendado para o macOS. Relevante principalmente para usuários da quirk RebuildAppleMemoryMap.

# DeviceProperties

DeviceProperties

# Add

Configura as propriedades de dispositivo a partir de um mapa.

PciRoot(0x0)/Pci(0x2,0x0)

Esta seção é configurada por meio do Guia de Patches de Framebuffer (opens new window) (em inglês) da WhateverGreen e é utilizada para configurar propriedades importantes da GPU integrada. Se seu computador possui uma CPU série -F, ignore essa seção, pois essas CPUs não possuem GPUs integradas.

O AAPL,ig-platform-id é o que o macOS usa para determinar como os drivers da GPU integrada interagem com o sistema. Escolha um dos valores a seguir:

AAPL,ig-platform-id Observação
07009B3E Usado quando a GPU integrada de desktops é usada para exibir as imagens no monitor.
00009B3E Alternativa a 07009B3E, caso não funcione.
0300C89B Usado quando a GPU integrada de desktop é utilizada somente para tarefas de computação e não exibe imagens em um monitor.
  • Observação: no macOS 10.15.5 Catalina ou mais novos, parece haver muitos problemas de tela preta ao utilizar 07009B3E. Se problemas parecidos acontecerem, tente usar 00009B3E.

Também são adicionadas duas outras propriedades, framebuffer-patch-enable e framebuffer-stolenmem. A primeira permite aplicar patches por meio da WhateverGreen e a segunda configura a quantidade mínima de memória reservada para a GPU integrada para 19MB. Geralmente, essa é opcional, pois pode ser configurada na BIOS (recomenda-se 64MB), mas é necessária quando não houver opção na BIOS.

  • Observação: framebuffers headless (nos quais a GPU dedicada é responsável por exibir as imagens) não precisam das propriedades framebuffer-patch-enable e framebuffer-stolenmem.
Chave Tipo Valor
AAPL,ig-platform-id Data 07009B3E
framebuffer-patch-enable Data 01000000
framebuffer-stolenmem Data 00003001

Isto é um exemplo para um desktop com Intel UHD Graphics 630 sem uma GPU dedicada e que não possui opções de memória de GPU integrada na BIOS.

PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)

Essa entrada tem relação com o controlador de rede Intel I225-V 2.5GBe encontrado em placas Comet Lake de alta performance. Esta opção engana o driver que a Apple distribui para I225LM, de forma que ele passe a suportar o controlador de rede I225-V:

Chave Tipo Valor
device-id Data F2150000
  • Observação: se a placa-mãe não possui um controlador de rede Intel I225, não há motivo para adicionar essa entrada.
  • Observação 2: se ocorrerem kernel panics na AppleIntelI210Ethernet.kext, use o caminho de Ethernet alternativo PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0).

PciRoot(0x0)/Pci(0x1b,0x0)

layout-id

  • Aplica a injeção de áudio da AppleALC. Será necessário fazer sua própria pesquisa para descobrir qual codec sua placa-mãe utiliza e combiná-la com um leiaute da AppleALC. Codecs Suportados pela AppleALC (opens new window) (em inglês).
  • Exclua essa entrada completamente, já que ela não será utilizada por este guia neste momento.

Em vez disso, será utilizado o argumento de inicialização (boot-arg) alcid=xxx para conseguir o mesmo efeito. O alcid sobrescreverá todos os outros layout-IDs presentes. Mais informações sobre isso estão disponíveis no guia de Pós-instalação do OpenCore (opens new window).

# Delete

Remove as propriedades de dispositivos do mapa. Pode ser ignorado.

# Kernel

Kernel

# Add

É aqui onde são especificadas as kexts que serão carregadas, a ordem desse carregamento e quais arquiteturas cada kext suporta. Por padrão, recomenda-se manter o que o ProperTree criou, no entanto, para computadores com CPUs de 32 bits, veja a seguir.

Informação Mais Detalhada

O principal a se observar é:

  • Ordem de Carregamento
    • Lembre-se que quaisquer plugins devem carregar depois de suas dependências.
    • Isso significa que kexts como a Lilu precisam vir antes da VirtualSMC, AppleALC, WhateverGreen etc.

Lembre-se que usuários do ProperTree (opens new window) podem pressionar Cmd/Ctrl + Shift + R para adicionar todas as suas kexts na ordem correta sem precisar digitar cada uma manualmente.

  • Arch
    • Arquiteturas suportadas pela kext.
    • Atualmente, os valores suportados são Any, i386 (32 bits), e x86_64 (64 bits).
  • BundlePath
    • Nome da kext.
    • Ex: Lilu.kext.
  • Enabled
    • Auto explicativo. Ativa ou desativa a kext.
  • ExecutablePath
    • O caminho para o verdadeiro executável fica escondido dentro da kext. É possível encontrá-lo clicando com o botão direito e selecionando a opção Mostrar Conteúdo do Pacote. Geralmente, estará em Contents/MacOS/Kext, mas algumas kexts possuem outras kexts escondidas na pasta Plugin. Observe que kexts compostas somente por um arquivo .plist não precisam ter este campo preenchido.
    • Ex: Contents/MacOS/Lilu.
  • MinKernel
    • A versão mínima do kernel na qual a kext pode ser injetada. Consulte a tabela abaixo para os valores permitidos.
    • Ex. 12.00.00 representa o OS X 10.8 Mountain Lion.
  • MaxKernel
    • A versão máxima do kernel na qual a kext pode ser injetada. Consulte a tabela abaixo para os valores permitidos.
    • Ex. 11.99.99 representa o OS X 10.7 Lion.
  • PlistPath
    • Caminho para o arquivo info.plist escondido dentro da kext.
    • Ex: Contents/Info.plist.
Tabela de Suporte de *Kernel*
Versão do macOS MinKernel MaxKernel
10.4 8.0.0 8.99.99
10.5 9.0.0 9.99.99
10.6 10.0.0 10.99.99
10.7 11.0.0 11.99.99
10.8 12.0.0 12.99.99
10.9 13.0.0 13.99.99
10.10 14.0.0 14.99.99
10.11 15.0.0 15.99.99
10.12 16.0.0 16.99.99
10.13 17.0.0 17.99.99
10.14 18.0.0 18.99.99
10.15 19.0.0 19.99.99
11 20.0.0 20.99.99

# Emulate

Necessário para "falsificar" CPUs não suportadas. No entanto, suporte ao Comet Lake S foi adicionado no macOS 10.15.5 Catalina e superiores, então não há mais necessidade de falsificar a CPU aqui. Para aqueles que estejam executando o macOS 10.13 High Sierra ou 10.14 Mojave, a falsificação ainda será necessária, mas devido a problemas de estabilidade, este guia não abordara tais situações.

# Force

Usado para carregar kexts direto do volume do sistema. Relevante somente para sistemas operacionais mais antigos nos quais algumas kexts não estavam presentes no cache (ex.: IONetworkingFamily no Mac OS X 10.6 Snow Leopard).

Pode ser ignorado.

# Block

Impede que certas kexts sejam carregadas. Irrelevante no momento.

# Patch

Aplica patches tanto no kernel quanto nas kexts.

Corrigindo controladores I225-V

Essa entrada tem relação com o controlador de rede Intel I225-V 2.5GBe encontrado em placas Comet Lake de alta performance. Esta opção engana o driver que a Apple distribui para I225LM, de forma que ele passe a suportar o controlador de rede I225-V. Observe que isso só é necessário no macOS 10.15 Catalina e macOS 11 Big Sur (somente até o macOS 11.3 Big Sur).

Chave Tipo Valor
Base String __Z18e1000_set_mac_typeP8e1000_hw
Comment String Patch da I225-V
Count Number 1
Enabled Boolean True
Find Data F2150000
Identifier String com.apple.driver.AppleIntelI210Ethernet
MinKernel String 19.0.0
MaxKernel String 20.4.0
Replace Data F3150000
  • Observação: se a placa-mãe não possui um controlador de rede Intel I225, não há motivo para adicionar essa entrada.
  • Observação 2: mantenha todas as outras chaves em seus valores padrão.

# Quirks

Informações

Configurações relacionadas ao kernel. Ative somente as seguintes opções:

Quirk Ativada Observação
AppleXcpmCfgLock YES Desnecessário caso o CFG-Lock esteja desabilitado na BIOS.
DisableIOMapper YES Desnecessário caso o VT-D esteja desabilitado na BIOS.
LapicKernelPanic NO Computadores HP necessitam dessa quirk.
PanicNoKextDump YES
PowerTimeoutKernelPanic YES
XhciPortLimit YES
Informações Mais Detalhadas
  • AppleCpuPmCfgLock: NO
    • Necessário somente quando a trava de CFG não puder ser desativada na BIOS.
    • Aplicável somente a computadores com CPUs Ivy Bridge ou mais antigas.
      • Observação: computadores com CPUs Broadwell ou mais antigas necessitam disso ao executar o OS X 10.10 Yosemite ou mais antigo.
  • AppleXcpmCfgLock: YES
    • Necessário somente quando a trava de CFG não puder ser desativada na BIOS.
    • Aplicável somente para computadores com CPUs Haswell ou mais novas.
      • Observação: computadores com CPUs Ivy Bridge-E também precisam, já que suportam XCPM.
  • CustomSMBIOSGuid: NO
    • Aplica patches de GUID quando UpdateSMBIOSMode está configurado para Custom. Mais relevante para notebooks Dell.
    • Ativar esta quirk em conjunto com PlatformInfo -> UpdateSMBIOSMode -> Custom desativará a injeção de SMBIOS em sistemas operacionais que não sejam da Apple. Este guia não endossa este método, pois quebra a compatibilidade com o Bootcamp. Use por sua conta e risco.
  • DisableIoMapper: YES
    • Necessária para contornar o VT-D caso seja impossível desabilitar a opção na BIOS ou ele seja necessário em outros sistemas operacionais. Uma alternativa muito melhor ao dart=0, pois permite manter o SIP ligado no macOS 10.15 Catalina.
  • DisableLinkeditJettison: YES
    • Permite que a Lilu e outras kexts tenham uma performance melhor sem o keepsyms=1.
  • DisableRtcChecksum: NO
    • Previne que a AppleRTC escreva na soma de verificação primária (0x58-0x59). Exigido para usuários que, ao reiniciar/desligar o macOS, experienciam uma redefinição de BIOS ou são enviados para o modo de segurança.
  • ExtendBTFeatureFlags NO
    • Útil para aqueles que tiverem problemas com o Continuidade ao usar placas Wi-Fi que não sejam da Apple ou da Fenvi.
  • LapicKernelPanic: NO
    • Desativa um kernel panic no interruptor AP core lapic. Geralmente é necessário em computadores HP. Equivalente ao Kernel LAPIC do Clover.
  • LegacyCommpage: NO
    • Resolve a necessidade de instruções SSSE3 em CPUs de 64 bits no macOS. Relevante principalmente para CPUs Pentium 4 de 64 bits, como Prescott.
  • PanicNoKextDump: YES
    • Permite ler os logs de kernel panics quando ocorrem.
  • PowerTimeoutKernelPanic: YES
    • Ajuda a corrigir kernel panics relacionadas a alterações de energia com os drivers da Apple no macOS 10.15 Catalina. Mais perceptível com o áudio digital.
  • SetApfsTrimTimeout: -1
    • Configura o intervalo de tempo do TRIM (em microsegundos) em SSDs com sistema de arquivos APFS. Aplicável somente para o macOS 10.14 Mojave ou mais novos que estejam utilizando SSDs problemáticos.
  • XhciPortLimit: YES
    • Isto é, na verdade, o patch que corrige o limite de 15 portas USB. Não dependa dele, pois não é uma solução garantida para corrigir problemas de USB. Por favor, prefira criar um mapa das portas USB (opens new window) sempre que possível.

O motivo para tal é que o UsbInjectAll reimplementa uma funcionalidade integrada do macOS sem ter os ajustes apropriados. É muito mais limpo simplesmente descrever suas portas em uma kext com só um arquivo .plist dentro, o que não desperdiça memória em tempo de execução e coisas do tipo.

# Scheme

Configurações relacionadas com a inicialização de sistemas operacionais antigos, como o Mac OS X 10.4 Tiger, 10.5 Leopard e 10.6 Snow Leopard. A maioria dos leitores pode pular essa parte. No entanto, aqueles que planejam usar sistemas antigos, continuem lendo.

Informação Mais Detalhada
  • FuzzyMatch: True
    • Usado para ingorar somas de verificação no kernelcache, optando em vez disso pelo último cache disponível. Pode ajudar a melhorar a performance da inicialização em muitos computadores com Mac OS X 10.6 Snow Leopard.
  • KernelArch: x86_64
    • Configura o tipo de arquitetura do kernel. As opções possíveis são: Auto, i386 (32 bits) e x86_64 (64 bits).
    • Se estiver utilizando sistemas operacionais mais antigos que necessitam de um kernel 32 bits, como o Mac OS X 10.4 Tiger e 10.5 Leopard, recomenda-se configurar essa opção para Auto e deixar que o macOS decida a melhor opção baseado na SMBIOS. Veja a tabela abaixo com os valores suportados:
      • Mac OS X 10.4 Tiger e 10.5 Leopard: x86_64, i386 ou i386-user32.
        • i386-user32 se refere ao espaço de usuário em 32 bits. Então, CPUs de 32 bits precisam usar essa opção (ou CPUs que não possuem as instruções SSSE3).
        • x86_64 Ainda executará o espaço do kernel em 32 bits. No entanto, garantirá que o espaço de usuário seja 64 bits nessas versões do Mac OS X.
      • Mac OS X 10.6 Snow Leopard: i386, i386-user32 ou x86_64.
      • OS X 10.7 Lion: i386 ou x86_64.
      • OS X 10.8 Mountain Lion ou mais novo: x86_64.
  • KernelCache: Auto
    • Configura o tipo de cache do kernel. Útil principalmente para depuração, então recomenda-se manter configurado como Auto para obter o melhor suporte.

# Misc

Misc

# Boot

Configurações da tela de inicialização. Mantenha todos os padrões como estão.

# Debug

Informações

Útil para depurar os problemas de inicialização do OpenCore (tudo será alterado, exceto DisplayDelay):

Quirk Ativada
AppleDebug YES
ApplePanic YES
DisableWatchDog YES
Target 67
Informação Mais Detalhada
  • AppleDebug: YES
    • Ativa o log do boot.efi. Útil para depuração. Observe que isso só é suportado no macOS 10.15.4 Catalina ou superior.
  • ApplePanic: YES
    • Tenta salvar os logs de kernel panics diretamente no disco.
  • DisableWatchDog: YES
    • Desativa o watchdog do UEFI. Pode ajudar com problemas de inicialização precoces.
  • DisplayLevel: 2147483650
    • Exibe ainda mais informações de depuração. Necessita da versão de depuração do OpenCore.
  • SerialInit: NO
    • Necessário para configurar a saída serial no OpenCore.
  • SysReport: NO
    • Útil para a depuração, como a extração de tabelas da ACPI.
    • Observe que essa função está limitada a versões de depuração do OpenCore.
  • Target: 67
    • Exibe mais informações de depuração, mas requer a versão de depuração do OpenCore.

Esses valores são baseados nos cálculos feitos na página Depurando o OpenCore.

# Security

Informações

Segurança é bastante autoexplicativa. Não pule esta parte. Eis o que deve ser alterado:

Quirk Ativada Observação
AllowNvramReset YES
AllowSetDefault YES
BlacklistAppleUpdate YES
ScanPolicy 0
SecureBootModel Default Essa opção é literalmente uma palavra e diferencia maiúsculas de minúsculas. Mude para Disabled se precisar desativar a Inicialização Segura (ex.: se precisar usar os Web Drivers da Nvidia).
Vault Optional Esta opção é literalmente uma palavra e omiti-la não é permitido. Você vai se arrepender se não configurá-la para Optional. Atente-se para o fato de que a opção diferencia maiúsculas de minúsculas.
Informação Mais Detalhada
  • AllowNvramReset: YES
    • Permite redefinir a NVRAM tanto por meio do seletor de inicialização e ao pressionar Cmd+Opt+P+R.
  • AllowSetDefault: YES
    • Permite apertar CTRL+Enter e CTRL+Index para configurar o dispositivo padrão de inicialização no seletor.
  • ApECID: 0
    • Usado para configurar identificadores de inicialização segura personalizados. Atualmente, essa quirk não é confiável devido a um bug no instalador do macOS. Recomenda-se fortemente manter essa opção configurada para o valor padrão.
  • AuthRestart: NO
    • Ativa a reinicialização autenticada para o FileVault 2, de forma que a senha não seja exigida ao reiniciar o computador. Pode ser considerada um risco à segurança, portanto é opcional.
  • BlacklistAppleUpdate: YES
    • Usado para bloquear atualizações de firmware. Age como um nível extra de proteção, já que o macOS 11 Big Sur não mais utiliza a variável run-efi-updater.
  • DmgLoading: Signed
    • Garante que o OpenCore só carregará DMGs que estejam assinadas digitalmente.
  • ExposeSensitiveData: 6
    • Exibe mais informações de depuração e necessita da versão de depuração do OpenCore.
  • Vault: Optional
    • Não será necessário lidar com cofres, então ignore esta opção. Não será possível iniciar se esta opção estiver configurada para Secure.
    • Isso é literalmente uma palavra e sua omissão não é permitida. Você vai se arrepender se não configurá-la para Optional. Atente-se para o fato de que a opção diferencia maiúsculas de minúsculas.
  • ScanPolicy: 0
    • Configurar para 0 permite ver todas as unidades disponíveis. Veja a seção Segurança (opens new window) para obter mais detalhes. O OpenCore não iniciará pendrives se esta opção estiver configurada para Default.
  • SecureBootModel: Default

# Tools

Usado para executar as ferramentas de depuração do OpenCore, como o shell. A função de snapshot do ProperTree adicionará as ferramentas necessárias automaticamente.

# Entries

Usado para especificar caminhos de inicialização irregulares que não podem ser encontrados naturalmente pelo OpenCore.

Não será abordado aqui. Veja o item 8.6 do PDF de configuração para mais informações: Configuration.pdf (opens new window) (em inglês).

# NVRAM

NVRAM

# Add

4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14

Usado para o escalonamento da interface de usuário do OpenCore. O padrão servirá para os propósitos deste guia. Veja a seção abaixo para obter informações mais detalhadas.

Informação Mais Detalhada

Caminho do inicializador. Usado principalmente para o escalonamento da interface gráfica.

  • UIScale:

    • 01: Resolução padrão.
    • 02: HiDPI (geralmente necessário para que o FileVault funcione corretamente em telas menores)
  • DefaultBackgroundColor: Cor de fundo usada pelo boot.efi.

    • 00000000: Syrah Black (preto).
    • BFBFBF00: Light Gray (cinza).

4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102

GUID de NVRAM do OpenCore. Relevante principalmente para usuários da RTCMemoryFixup.

Informação Mais Detalhada

7C436110-AB2A-4BBB-A880-FE41995C9F82

Máscara de bits da Proteção da Integridade do Sistema (SIP).

  • Argumentos de inicialização (boot-args) de uso geral:
boot-args Descrição
-v Ativa o modo verbose, que exibe todos os textos ocultos que rolam na tela durante a inicialização, em vez da maçã e da barra de progresso. É de grande valia para qualquer hackintosher, já que fornece uma espiada por trás do processo de inicialização e pode ajudar a identificar problemas, encontrar kexts defeituosas e outras coisas que impeçam o macOS de iniciar completamente.
debug=0x100 Isso desativa o watchdog do macOS, o que ajuda a prevenir uma reinicialização após um kernel panic. Dessa forma, é possível (talvez) obter algumas informações importantes e seguir as migalhas para resolver um problema.
keepsyms=1 É uma configuração companheira do debug=0x100, que diz ao sistema operacional para também exibir os símbolos na tela durante um kernel panic. Pode oferecer uma compreensão ainda maior sobre o que pode estar causando o kernel panic em primeiro lugar.
alcid=1 Usado para configurar o layout-id para a AppleALC. Veja a lista de codecs suportados (opens new window) (em inglês) para descobrir qual layout é o mais apropriado para o seu computador. Mais informações são fornecidas no guia de Pós-instalação do OpenCore (opens new window)
  • Argumentos de inicialização (boot-args) específicas de Rede:
boot-args Descrição
dk.e1000=0 Desabilita o com.apple.DriverKit-AppleEthernetE1000 (o driver DEXT da Apple) de forma que ele pare de se conectar ao controlador de Ethernet Intel I225-V encontrado em placas de alto desempenho Comet Lake. Assim, o driver da Apple para a I225 não mais carrega. Necessário para obter suporte apropriado para a I225-V.
Observe que isso não é necessário em placas que não possuem o controlador de rede I225-V.
  • Argumentos de inicialização (boot-args) específicas de GPUs:
boot-args Descrição
agdpmod=pikera Usado para desativar o boardID em GPUs Navi (série RX 5000). Sem isso, será exibida uma tela preta. Não use caso não possua uma GPU Navi (isto é, placas Polaris e Vega não devem usar).
-wegnoegpu Usado para desabilitar todas as outras GPUs que não sejam a integrada da Intel. Útil para aqueles que queiram executar versões mais novas do macOS nos quais a GPU dedicada não seja suportada.
  • csr-active-config: 00000000

    • Confgigurações da Proteção da Integridade do Sistema (SIP). É geralmente recomendado alterar essa opção por meio da partição de Recuperação, usando o utilitário de linha de comando csrutil.
    • Por padrão, o csr-active-config é configurado para 00000000, o que ativa a Proteção da Integridade do Sistema. É possível escolher uma variedade de valores diferentes, mas de maneira geral, recomenda-se mantê-lo ligado para melhores práticas de segurança. Mais informações podem ser encontradas na página de solução de problemas: Desativando o SIP.
  • run-efi-updater: No

    • Isso é usado para prevenir que os pacotes de atualização de firmware da Apple sejam instalados e quebrem a ordem de inicialização. É importante, pois essas atualizações de firmware (criadas para os Macs) não funcionam em hackintoshes.
  • prev-lang:kbd: <>

    • Necessário para teclados não latinos. Use o formato lang-COUNTRY:keyboard. Recomenda-se manter vazio, mas é possível especificá-lo caso seja necessário. O padrão na Sample.plist é russo.):
    • Estadunidense: en-US:0(656e2d55533a30 em hexadecimal).
    • Uma lista completa pode ser encontrada em AppleKeyboardLayouts.txt (opens new window) (em inglês).
    • Dica: a opção prev-lang:kbd pode ser alterada para usar uma cadeia de caracteres (string), de forma que digitar en-US:0 diretamente também será aceito, removendo a necessidade de converter o valor para hexadecimal.
Chave Tipo Valor
prev-lang:kbd String en-US:0

# Delete

Informações

Reescreve as variáveis NVRAM na marra. Observe que Add não sobrescreve valores que já estejam presentes na NVRAM. Então, valores como os boot-args devem ser deixados como estão. Mude apenas o seguinte:

Quirk Ativado
WriteFlash YES
Informação Mais Detalhada
  • LegacyEnable: NO

    • Permite que a NVRAM seja armazenada no arquivo nvram.plist. Necessário em computadores que não possuem NVRAM nativa.
  • LegacyOverwrite: NO

    • Permite sobrescrever variáveis de firmware a partir do arquivo nvram.plist. Necessário somente em computadores que não possuem NVRAM nativa.
  • LegacySchema

    • Usado para atribuir variáveis NVRAM. Usado com o LegacyEnable configurado para YES.
  • WriteFlash: YES

    • Ativa a função de escrever em memória flash para todas as variáveis adicionadas.

# PlatformInfo

PlatformInfo

Informações

Para configurar a informação da SMBIOS, será utilizado o aplicativo GenSMBIOS (opens new window), desenvolvido por CorpNewt.

Neste exemplo de Comet Lake, a SMBIOS do iMac20,1 será utilizada. Isso é intencional, por questões de compatibilidade. Existem duas principais SMBIOS usadas em computadores com CPUs Comet Lake:

SMBIOS Hardware
iMac20,1 Core i7-10700K e inferiores (isto é, 8 núcleos ou menos).
iMac20,2 Core i9-10850K e superiores (isto é, 10 núcleos).

Execute o GenSMBIOS, escolha a opção 1 para baixar o MacSerial e a opção 3 para selecionar a SMBIOS. Isso mostrará uma saída similar à seguinte:

  #######################################################
 #               iMac20,1 SMBIOS Info                  #
#######################################################

Type:         iMac20,1
Serial:       C02XG0FDH7JY
Board Serial: C02839303QXH69FJA
SmUUID:       DBB364D6-44B2-4A02-B922-AB4396F16DA8
  • Observação: atualmente, o MacSerial não possui suporte a Linux. Será necessário executá-lo em um computador com Windows ou macOS para conseguir gerar os valores.

A parte Type deve ser copiada para Generic -> SystemProductName.

A parte Serial deve ser copiada para Generic -> SystemSerialNumber.

A parte Board Serial deve ser copiada para Generic -> MLB.

A parte SmUUID deve ser copiada para Generic -> SystemUUID.

Configure o Generic -> ROM tanto para uma ROM da Apple (extraída de um Mac de verdade), o endereço MAC do controlador de rede ou qualquer endereço MAC aleatório. Pode ser só 6 bytes aleatórios. Neste guia, será utilizado 11223300 0000. Depois da instalação, siga o guia Corrigindo os iServiços (opens new window) para saber como encontrar o endereço MAC real do seu computador.

Lembre-se que o objetivo aqui é ter um número de série inválido ou um que seja válido, mas que não esteja em uso. A mensagem de resposta deve ser algo como: "Número de série inválido" ou "Data de compra não validada".

Página para Verificar a Cobertura da Apple (opens new window)

Automatic: YES

  • Gera o PlatformInfo baseado na seção Generic, em vez de usar as seções DataHub, NVRAM e SMBIOS.

# Generic

Informação Mais Detalhada
  • AdviseFeatures: NO

    • Usado para quando a partição EFI não é a primeira na unidade do Windows.
  • MaxBIOSVersion: NO

    • Configura a versão da BIOS para o máximo, evitando assim que atualizações de firmware no macOS 11 Big Sur e superior sejam baixadas. Mais relevante principalmente para Macs originais.
  • ProcessorType: 0

    • Configure como 0 para ativar a detecção automática de tipo. Porém, este valor pode ser substituído, se necessário. Veja o arquivo AppleSmBios.h (opens new window) (em inglês) para os valores possívels.
  • SpoofVendor: YES

    • Altera a informação de fabricante para Acidanthera. Geralmente, não é seguro usar Apple como fabricante na maioria dos casos.
  • SystemMemoryStatus: Auto

    • Define, nas informações da SMBIOS, se a memória é soldada ou não. Puramente cosmético, por isso recomenda-se deixar como Auto.
  • UpdateDataHub: YES

    • Atualiza os campos de Data Hub.
  • UpdateNVRAM: YES

    • Atualiza os campos da NVRAM.
  • UpdateSMBIOS: YES

    • Atualiza os campos da SMBIOS.
  • UpdateSMBIOSMode: Create

    • Substitui as tabelas com EfiReservedMemoryType recentemente alocado. Use Custom em notebooks Dell que exigem o uso da quirk CustomSMBIOSGuid.
    • Configurar para Custom com a quirk CustomSMBIOSGuid ativada pode também desativar a injeção de SMBIOS em sistemas operacionais que não são da Apple. No entanto, este método não é recomendado por quebrar a compatibilidade com o Bootcamp. Use por sua conta e risco.

# UEFI

UEFI

  • ConnectDrivers: YES
    • Força a conexão dos drivers .efi. Mudar para NO pode acelerar um pouco a inicialização, mas exigirá que os drivers se conectem por conta própria. Acontece que nem todos fazem isso, como é o caso de alguns drivers de sistema de arquivos, que podem não carregar caso esta opção esteja configurada para NO.

# Drivers

Adicione os drivers .efi aqui.

Para este guia, os únicos drivers que devem estar presentes nessa seção são:

  • HfsPlus.efi
  • OpenRuntime.efi

# APFS

Configurações relacionadas ao driver de APFS. Mantenha as opções padrão.

# Audio

Configurações relacionadas ao AudioDxe. Esta seção será ignorada neste guia. Mantenha todas as opções padrão. Esta seção não tem nada a ver com o suporte de áudio no macOS.

# Input

Configurações relacionadas à transmissão do teclado para o boot.efi. É usado para oferecer suporte ao FileVault e a teclas de atalho. Mantenha todas as opções padrão pois essas quirks não serão utilizados no momento. Obtenha mais detalhes aqui: Segurança e FileVault (opens new window).

# Output

Configurações relacionadas com a exibição visual do OpenCore. Mantenha todas as opções no padrão pois essas quirks não serão utilizadas no momento.

# ProtocolOverrides

Relevante principalmente em máquinas virtuais, Macs antigos e para usuários do FileVault. Para mais detalhes, acesse: Segurança e FileVault (opens new window).

# Quirks

Informações

Configurações das quirks relacionados ao ambiente UEFI. Altere as seguintes opções:

Quirk Ativada Observação
UnblockFsConnect NO Necessária principalmente em placas-mãe HP.
Informação Mais Detalhada
  • DisableSecurityPolicy: NO

    • Desativa a política de segurança de plataforma no firmware. Recomendado para firmwares problemáticos que impeçam o carregamento de drivers de firmware de terceiros ao desligar a Inicialização Segura.
    • Recomenda-se ativar esta opção em dispositivos Microsoft Surface.
  • RequestBootVarRouting: YES

    • Redireciona o AptioMemoryFix de EFI_GLOBAL_VARIABLE_GUID para OC_VENDOR_VARIABLE_GUID. É necessário quando o firmware tenta excluir as opções de boot. Recomenda-se deixar ativado em todos os computadores para garantir o funcionamento correto ao instalar atualizações, do painel de controle Disco de Inicialização e outras coisas.
  • UnblockFsConnect: NO

    • Alguns firmwares bloqueiam o intrumental de partições, abrindo-as no modo By Driver, o que resulta na impossibilidade de instalação dos protocolos de sistema de arquivo. É relevante principalmente em computadores HP, quando nenhum driver for listado.

# ReservedMemory

Usado para impedir que os sistemas operacionais usem certas regiões da memória. É relevante principalmente para as GPUs integradas das CPUs Sandy Bridge ou em computadores com falhas de memória. O uso desta quirk não será coberto neste guia.

# Limpando

Agora tudo está pronto para ser salvo e copiado para a partição EFI, na pasta EFI/OC.

Para aqueles que estiverem tendo problemas de inicialização, é recomendado ler a seção de Solução de Problemas primeiro. Se ainda restarem dúvidas, é possível consultar algum dos recursos disponíveis abaixo:

# Configurações da BIOS em Intel

  • Observação: a maioria dessas opções podem não estar presentes no firmware do seu computador. É recomendado que todas as opções estejam configuradas da forma mais próxima possível, mas não se preocupe muito caso essas opções não estejam presentes na BIOS do seu computador.

# Opções para Desativar

Nome em Inglês Nome em Português Observação
Fast Boot Inicialização Rápida
Secure Boot Inicialização Segura
Serial/COM Port Porta Serial/COM
Parallel Port Porta Paralela
VT-d Tecnologia de Virtualização Intel VT-d Pode ser ativado se o DisableIoMapper estiver configurado para YES.
Compatibility Support Module (CSM) Módulo de Suporte de Compatibilidade (MSC)
Thunderbolt Só durante a instalação inicial, já que as portas Thunderbolt podem causar problemas caso não estejam configuradas corretamente.
Intel SGX
Intel Platform Trust
CFG Lock (MSR 0xE2 write protection) Trava de CFG (proteção de escrita do MSR 0xE2) Precisa estar desligado. Se a opção da BIOS não puder ser encontrada, ative o AppleXcpmCfgLock sob o caminho Kernel -> Quirks. O macOS não iniciará com a trava de CFG ativada.

# Opções para Ativar

Nome em Inglês Nome em Português Oservação
VT-x Tecnologia de Virtualização Intel VT-x
Above 4G decoding
Hyper-Threading
Execute Disable Bit
EHCI/XHCI Hand-off
OS type: Windows 8.1/10 UEFI Mode Tipo de SO: Windows 8.1/10 em Modo UEFI
DVMT Pre-Allocated (iGPU Memory): 64MB DVMT Pré-alocado (memória da GPU integrada): 64MB
SATA Mode: AHCI Modo SATA: AHCI

# Finalizando

Depois de tudo terminado, acesse o guia Processo de Instalação para continuar com a configuração do OpenCore.