Kernel issue

circle-info

Các lỗi từ khi bạn boot vào macos lần đầu tiên tại picker cho đến khi trước khi trình cài đặt của MacOS hiện lên

Stuck on [EB|#LOG:EXITBS:START]

Xem chi tiết tại đây.

Có một trường hợp đặc biệt ở phía dưới

Stuck on EndRandomSeed

  • Fix giống như lỗi Stuck on [EB|#LOG:EXITBS:START]

  • Đối với các máy đang sử dụng OpenCore version 0.7.3+ boot Catalina bị stuck lỗi này thì chuyển SecureBootModel trong config về Disable.

Stuck sau khi select macOS partion ở OpenCore

  • Fix giống như lỗi Stuck on [EB|#LOG:EXITBS:START]

  • Nên sử dụng EFI debug trong trường hợp này.

Kernel Panic on Invalid frame pointer

Đây là lỗi ở Booter --> quirks các bạn sẽ tiến hành check các phần sau:

  • DevirtualiseMmio

    • Một số Certain MMIO vẫn yêu được bật để có thể hoạt động được vì vậy bạn cần loại trừ các Certain này trong Booter -> MmioWhitelist hoặc disable hoàn toàn tính năng này

    • Xem chi tiết tại đây

  • SetupVirtualMap

    • Tính năng này là bắt buộc đối với hầu hết các model. Nếu chưa có bạn hãy bật lên

    • Tuy nhiên 1 số model sẽ không hoạt động với quirks này và có thể xảy ra panic

      • Intel’s Ice Lake series

      • Intel’s Comet Lake series

      • AMD’s B550

      • AMD’s A520

      • AMD’s TRx40

      • VMs like QEMU

1 số lỗi khác có thể xảy ra do macos xung đột với tính năng write protection from CR0 register để giải quyết ta có thể làm như sau:

  • Nếu firmware của bạn support MATs (2018+) thì làm theo sau:

    • EnableWriteUnprotector -> False

    • RebuildAppleMemoryMap -> True

    • SyncRuntimePermissions -> True

  • Đối với những firmware cũ hơn thì bạn chỉnh theo sau:

    • EnableWriteUnprotector -> True

    • RebuildAppleMemoryMap -> False

    • SyncRuntimePermissions -> False

Tuy nhiên đối với 1 số máy thì gen 6 đã hộ trợ MATs để check xem máy bạn có hỗ trợ không bạn có thể check ở OpenCore log.

Stuck on [EB|LD:OFS] Err(0xE) when booting preboot volume

Lỗi này xảy ra khi bạn preboot volume không được cập nhất đúng cách sẽ fix theo sau:

  • Enable JumpstartHotplugUEFI -> APFS

    • Nếu không có nó sẽ không thể boot vào recovery ở macos

  • Boot vào recovery

  • mở terminal và chạy đoạn code sau:

Stuck on OCB: LoadImage failed - Security Violation

Điều này là do Apple Secure Boot đã bị lỗi thời hoặc thiếu trên preboot của bạn volume dẫn đến failure to load nếu bạn có bật securebootmodel. Lý do cho các file này bị thiếu là 1 lỗi của macOS.

Để khắc phục lỗi này các bạn làm theo sau:

  • Disable SecureBootModel

    • Misc -> Security -> SecureBootModel -> Disabled

  • cài đặt lại bản macos mới nhất

  • hoặc copy the Secure Boot manifests từ /usr/standalone/i386 to /Volumes/Preboot/<UUID>/System/Library/CoreServices

    • Bạn có thể chỉnh điều này qua termianl ở recovery vì preboot volume không thể chỉnh sửa qua finder

    • Chạy đoạn code sau ở terminal

Stuck on OCABC: Memory pool allocation failure - Not Found

Để khắc phục các bạn có thể chỉnh setting BIOS theo sau:

  • Above4GDecoding: Enabled

  • CSM: Disabled

    • 1 vài laptop phải bật CSM

  • update bios

Stuck on Buffer Too Small

  • Enable Above4GDecoding in the BIOS

Stuck on Plist only kext has CFBundleExecutable key

Đường dẫn không chính xác trong config.plist. Để khắc phục tiến hành snapshot bằng propertree xem cách snapshot tại đây

Stuck on This version of Mac OS X is not supported: Reason Mac…

Lỗi này xảy ra khi SMBios không còn được hỗ trợ nữa để khắc phục lỗi này các bạn có 2 phương pháp:

  • Add boot-arg -no_compat_check

  • Hoặc thay các SMBios được hỗ trợ:

    • Catalina:

      • iMac13,x+

      • iMacPro1,1

      • MacPro6,1+

      • Macmini6,x+

      • MacBook8,1+

      • MacBookAir5,x+

      • MacBookPro9,x+

    • Big Sur:

      • iMac14,4+

      • iMacPro1,1

      • MacPro6,1+

      • Macmini7,1+

      • MacBook8,1+

      • MacBookAir6,x+

      • MacBookPro11,x+

    • Monterey

      • iMac16,1+

      • iMacPro1,1

      • MacPro6,1+

      • Macmini7,1+

      • MacBook9,1+

      • MacBookAir7,1+

      • MacBookPro11,3+

Couldn't allocate runtime area errors

Xem cách fix KASLR tại đây

Stuck on RTC…, PCI Configuration Begins, Previous Shutdown…, HPET, HID: Legacy…

Đây là nơi có nhiều PCI device được thiết lập và cấu hình và là nơi các lỗi khởi động sẽ xảy ra:

  • apfs_module_start...,

  • Waiting for Root device,

  • Waiting on...IOResources...,

  • previous shutdown cause...

Những vấn đề chính gây lỗi:

  • Thiếu EC (cata+):

    • Thêm SSDT-EC theo link

    • Bỏ SSDT-EC vào EFI --> OC --> ACPI và snaps (hoặc EFI --> Clover --> ACPI --> Patched)

  • Xung đột IRQ:

    • dump SSDT-HPET theo link

  • PCI allocation issue:

    • Update BIOS.

    • Bật Above4G trong bios. Nếu bios của bạn không có option này hãy add boot-arg npci=0x2000

      • Các main X99 and X299 có thể yêu cầu cả ncpi boot-arg và Above4G trong bios

      • AMD CPU không đồng thời bật cả Above4GNCPI trong boot-arg vì chúg sẽ xung đột

      • Đối với bios thế hệ 2020+ thì khi bật Above4G các bạn phải set Booter -> Quirks -> ResizeAppleGpuBars:0Resizable BAR Support có thể sẽ trở nên khả dụng

    • CSM disabled, Windows 8.1/10 UEFI Mode enabled.

  • NVMe or SATA issue:

    • không sử dụng Samsung PM981 or Micron 2200S NVMe SSD

    • cài đặt latest firmware cho Samsung 970 EVO Plus xem chi tiết tại đâyarrow-up-right

    • Disable SATA Hot-Plug trong bios

    • Đảm bảo ổ NVMe được đặt là NVMe trong bios

  • NVRAM Failing:

    • Đây là lỗi phổ biến trên các dòng HEDT hoặc trên các main 300 series

      • Trên 300 series: tải và cài đặt SDT-PMC tại đây

      • HEDT thì các bạn sẽ Emulating NVRAM theo link sau (chỉ cần chỉnh config không cần chạy lệnh)

  • RTC missing

    • Với các chip 300+ series bạn cần SSDT-AWAC

    • Đối với các máy hedt (X99 và X299) các RTC device sẽ bị thiếu cần dùng SSDT-RTC0-RANGE xem chi tiết tại đây

    • 1 số máy HP cũng gặp trường hợp này các bạn có thể dùng SSDT-RTC xem chi tiết các fix tại đây

Stuck at ACPI table loading on B550

Thêm SSDT-CPUR.aml tại đâyarrow-up-right.

Waiting for Root Device” or “Prohibited Sign error

  • USB

    • Map USB theo hướng dẫn tại đây

    • Kernel -> Quirks -> XhciPortLimit -> flase

    • 1 vài lỗi khác có thể do firmware không truyền quyền điều khiển USB cho macOS.

      • UEFI -> Quirks -> bạn có thể đổi port usb để khắc pục lỗi nàyeleaseUsbOwnership -> True

      • Hoặc bật XHCI Handoff

    • Đôi khi việc đổi port usb cũng có thể giúp bạn khắc phục lỗi này

    • Đối với các cpu amd gen 15 và 16 thì cần add XLNCUSBFix.kextarrow-up-right

    • Ngoài ra hedt X299 cũng cần Enable Above4G Decoding

    • Thiếu USB port trong ACPI

      • Các máy Intel các bạn sử dụng usbinjectallarrow-up-right

      • Còn đối với các CPU AMD thì bạn cần sử dụng SSDT-RHUB

        • chọn 7.usb reset trong SSDT-Time

  • Sata issue:

Kernel panic with IOPCIFamily trên hedt X99

  • Bật các mục sau trong config:

    • AppleCpuPmCfgLock

    • AppleXcpmCfgLock

    • AppleXcpmExtraMsrs

  • Thêm SSDT-UNC tại đây

Stuck on or near IOConsoleUsers: gIOScreenLock.../gIOLockState (3...

  • DGPU không support hãy disable nó đi theo hướng dẫn tại đây

  • CSM bị tắt trong bios

    • 1 số laptop phải bật CSM

  • Force tốc độ PCIe 3.0 link

  • Check patch igpu theo hướng dẫn tại đây

    • Desktop UHD 630 có thể thử 00009B3E

    • -igfxmlr boot-arg. Điều này cũng có thể giúp fix lỗi Divide by Zero

    • igfxonln=1 boot-arg trên igpu coffelake+ từ 10.15.4+

Scrambled Screen on laptops

Enable CSM trong bios setting nó có thể có tên là Boot legacy ROMs hoặc vài setting legacy khác

Black screen after IOConsoleUsers: gIOScreenLock... on Navi

  • Thêm agdpmod=pikera add vào boot-arg

  • Thử thay đổi các display output khác.

  • Thử smbios MacPro7,1 với boot-arg agdpmod=ignore

  • Đối với máy MSI thì bạn hãy add patch sau vào Kernel -> Patch

    • ở bigsur không yêu cầu bản vá này

Kernel Panic Cannot perform kext summary

  • Hãy chắc rằng bạn đã add kext chính trước khi add plugin

    • Vì những plugin chỉ có file plist mà không chứa tệp thực thi nên cần pahỉ sử dụng với kext chính

  • Không sử dụng nhiều kext giống nhau trong config.plist

    • như voodooinput có thể xuất hiện trong kẽt i2c và cả pss2 nên bạn chỉ nên dùng 1 kext voodooinput và xóa cái còn lại trong kext kia

  • Sử dụng phương pháp fix lỗi giống như invalid frame pointer

Kernel Panic AppleIntelMCEReporter

Thêm kext AppleMCEReporterDisablerarrow-up-right vào EFI --> OC --> Kext hoặc EFI --> Clover --> kext --> other

snaps nếu ở OpenCore

Kernel Panic AppleIntelCPUPowerManagement

  • Patch power manager tại đây

  • Hoặc bạn có thể enable DummyPowerManagement trong Kernel -> Emulate

    • chỉ đối với opencore

  • Ở 1 số các cpu thế hệ cũ cung có thể bị thiếu hpet hoặc xung đột irq

Kernel Panic AppleACPIPlatform in 10.13

Bật NormalizeHeaders trong ACPI -> Quirks

macOS frozen right before login

Thêm kext CpuTscSyncarrow-up-right vào EFI --> OC --> kext hoặc EFI --> Clover --> kext --> other

Snaps nếu là OpenCore.

Lỗi 1
Lỗi 2

Keyboard works but trackpad does not

Fix trackpad theo link

kextd stall[0]: AppleACPICPU

Điều này là do macOS bị thiếu giả lập SMC hãy đảm bản bạn có những phần sau:

Kernel Panic on AppleIntelI210Ethernet

Đối với những main Comet lake với card I225-V NIC có thể xảy ra panic do kext I210 . Để khắc phục bạn cần có PciRoot đúng với card ethernet. 1 số đường dẫn phổ biến là

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

    • đối với main Asus, Gigabyte và đây cũng là mặc định

  • PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)

    • được dùng để thay thế khi dường dẫn trên không hoạt động

Bạn cũng có thể sử dụng gfxutilarrow-up-right để tìm PciRoot của card ethernet 1 cách thủ công:

Ta sẽ dễ thấy PciRoot là PciRoot(0x0)/Pci(0x1F,0x6). Ta sẽ add PciRoot(0x0)/Pci(0x1F,0x6)|data| F2150000

Kernel panic on “Wrong CD Clock Frequency” with Icelake laptop

Add boot-arg -igfxcdc

Kernel panic on “cckprng_int_gen

Có 2 khả năng dẫn đến lỗi

  • Thiếu SMC

    • add VirtualSMCarrow-up-right vào EFI --> OC --> kext hoặc EFI --> Clover --> Kext --> other

      • snaps nếu dùng opencore

    • sử dụng SSDT-CPUR không đúng

      • chỉ sử dụng SSDT này trên B550 and A520

      • Không sử dụng SSDT này trên X570 (B450 or A320)

Stuck at Forcing CS_RUNTIME for entitlement in Big Sur

Credit to Stompy for image

Đây thực sự không phải là lỗi. Chỉ vì quá trình này rất lâu để vượt qua mà nhiều người nghĩ đây là lỗi nhưng hãy kiên nhẫn và đừng tắt máy

Stuck on ramrod(^^^^^^^^^^^^^)

bị stuck ở ramrod có nghĩa là nó boot --> gặp lỗi --> reboot --> vòng lặp

Điều này có nghĩa là giả lặp smc của bạn đã bị hỏng có 2 cách khắc phục

  • Cài đặt VirtualSMC và Lilu new version kèm boot-arg vsmcgen=1

  • Bạn cũng thể thử kext Fake-SMCarrow-up-right để thay thế

Virtual Machine Issues

VMware 15 sẽ bị stuck ở [EB|#LOG:EXITBS:START]. Cách fix là nâng câp lên VMware 16

Reboot on “AppleUSBHostPort::createDevice: failed to create device” on macOS 11.3+

  • Map usb theo link tại đây

  • Tắt XhciPortLimitKernel -> Quirks (ở 11.3+)

OC: Prelinked injection USBInjectAll.kext (USBInjectAll.kext) – Invalid Parameter

Convert usb injectall về version 2018 của rehabman tại đâyarrow-up-right

Stuck on CpuTscSync

Hãy xóa kext CpuTscSync đi sau đó (snaps nếu là opencore) reboot

Stuck như ảnh

circle-info

Đặc biệt là các dòng AMD

Thì các bạn làm như sau

  • Enable Above 4G Decoding

  • Enable Resizable BAR Support

  • Remove arg npci=0x3000

  • Set Booter -> Quirks -> ResizeAppleGpuBars: 0

Và như vậy là done

Lưu ý: Tuy bài viết này dựa trên cách fix lỗi cho opencore. nhưng người dùng clover vẫn có thể áp dụng cách đọc lỗi và nguyên nhân dẫn đến lỗi vì về bản chất thì nguyên nhân dẫn đến lỗi của opencore và oc là giống nhau

Source tham khảo: Kernel Issues | OpenCore Install Guide (dortania.github.io)arrow-up-right

Last updated