Booter

La sezione Booter è dedicata ai quirks relativi a FwRuntimeServices.efi che sostituisce AptioMemoryFix.efi

MmioWhitelist:

Questa sezione serve per impostare il passthough a macOS ai dispositivi che vengono generalemte ignorati, noi possiamo ignorare questa sezione, salvo casi particolari.

Quirks:

  • AvoidRuntimeDefrag: YES

    • Risolve i servizi di runtime UEFI come data, ora, NVRAM, controllo dell'alimentazione, etc.

  • DevirtualiseMmio: NO

    • Rimuove l'attributo runtime dalle regioni selezionate MMIO. Riduce l'impronta della memoria rubata dalla mappa di memoria rimuovendo il bit runtime dalle regioni di memoria conosciuta. Questo quirk può far aumentare le dimensioni dello slide KASLR disponibile, ma non è necessariamente compatibile con la piastra di riferimento.

  • DisableSingleUser: NO

    • Disabilita la modalità "Single User". Questa è una opzione di sicurezza che permette di bloccare il comando CMD+S e - s (boot argument). Il comportamento con questo quirk abilitato è simile al comportamento del modello base T2. Leggere questo articolo per capire come usare la modalità "single user" con questo quirk abilitato.

  • DisableVariableWrite: NO

    • Protegge l'accesso in scrittura da MacOS NVRAM. Questa è un'opzione di sicurezza che permette di restringere l'accesso alla NVRAM da macOS. Questo quirk necessita che il protocollo OC_FIRMWARE_RUNTIME sia implementato in FwRuntimeServices.efi. NOTA: Questo quirk puo' anche essere utilizzato cper bypassare noiosi bug della implementazione dei servizi runtime di firmware UEFI che falliscono a scrivere variabili NVRAM e svalidano il resto del sistema operativo. NOTA: Se avete implementato SSDT Power Management (credits Gengik84) della sezione ACPI, questo per tutte le motherboard serie 300 tranne Z370, questo quirk non risulta piu' necessario avendo definito il dispositivo PMC dentro la vostra tabella tramite custom SSDT.

  • DiscardHibernateMap: NO

    • Riutilizza la mappa di memoria di ibernazione originale, necessaria solo per determinati hardware legacy.

  • EnableSafeModeSlide: YES

    • Consente l'utilizzo dei valori di slide in Safemode.

  • EnableWriteUnprotector: YES

    • Rimuove la protezione da scrittura dal registro CR0 durante la loro esecuzione.

  • ForceExitBootServices: NO

    • Assicura che le chiamate ExitBootServices abbiano esito positivo, anche quando MemoryMap è cambiato (non utilizzare se non necessario).

  • ProtectCsmRegion: NO

    • Necessario per la correzione di artefatti e problemi di stop/risveglio, AvoidRuntimeDefrag lo risolve già, quindi evita questo quirks a meno che non sia necessario.

  • ProtectSecureBoot: NO

    • Protegge le variabili UEFI Secure Boot dalla scrittura. Segnala una violazione della sicurezza durante i tentativi di scrivere su variabili db, dbx, PK e KEK dal sistema operativo. Nota: questo quirk cerca principalmente di evitare problemi con le implementazioni NVRAM con deframmentazione problematica, non usare se non sai cosa stai facendo.

  • ProvideCustomSlide: YES

    • Se c'è un valore di slide in conflitto, questa opzione forza macOS a usare un valore pseudo

      casuale. Necessario per coloro che ricevono il messaggio di debug

      Only N/256 slide values are usable!

  • SetupVirtualMap: YES

    • Risolve le chiamate SetVirtualAddresses a indirizzi virtuali.

  • ShrinkMemoryMap: NO

    • Necessario per sistemi con mappe di memoria di grandi dimensioni che non si adattano; non utilizzare se non necessario.

  • SignalAppleOS: NO

    • Questo quirk è utile sui firmware proprietari Apple, che si comportano in modo diverso nei diversi sistemi operativi. Aiuta ad abilitare la GPU Intel (iGPU integrata) su Windows e Linux in alcuni modelli di MacBook a doppia GPU.

Last updated