How to Fix Just a bad USB drive During macOS Boot or Installation
Boot failures need a predictable pass through firmware, USB, storage, EFI and verbose logs before reinstalling macOS.
1. Prerequisites
- Identify the exact machine: Do not continue until the exact Mac identifier or motherboard/laptop model is known.
- List the hardware: CPU, GPU, Wi-Fi/Bluetooth chipset, Ethernet controller, storage type and current macOS build must be written down.
- Collect the tools: Keep OpenCore, OCLP, ProperTree, MountEFI, a USB installer and a backup disk ready.
- Use verification tools: Confirm hardware with AIDA64, HWiNFO, Linux
lspci, Windows Device Manager, macOS System Information or Hackintool. - Keep downloads local: Save required kexts before disconnecting from the network or editing EFI.
- Do not rush: Verify hardware compatibility before changing BIOS settings, root patches or
config.plist.
2. Compatibility Snapshot
- Target type: Treat this as a OpenCore Hackintosh or OCLP case until the exact model proves otherwise.
- CPU support: Intel Haswell, Skylake, Kaby Lake, Coffee Lake, Ice Lake and Tiger Lake are common OpenCore targets. AMD can work, but kernel patches and app compatibility must be considered.
- GPU support: AMD GPUs are usually the safest dGPU route; NVIDIA support is limited after Kepler; Intel iGPU success depends on generation, DVMT and framebuffer configuration.
- Motherboard and chipset: Prefer proper UEFI firmware on Intel Z/H/B series boards. Laptop firmware is stricter and should never be treated like a desktop guide.
- RAM, storage, network and audio: Start without XMP when debugging, prefer compatible NVMe/SATA SSDs, identify the exact Wi-Fi/Bluetooth card and note the HDA audio codec.
- Known risk areas: Graphics acceleration, USB mapping, Wi-Fi/Bluetooth, sleep/wake, Apple services and macOS updates are the first things to test.
- Unsupported paths: Be cautious with NVIDIA Maxwell/Pascal/Turing/Ampere, Intel Iris Xe, experimental macOS Tahoe installs and unknown laptop Wi-Fi cards.
- OpenCore vs Clover: Use OpenCore as the modern default. Mention Clover only for legacy context or migration.
3. Installation Preparation
- Back up first: Keep a Time Machine backup and a zipped copy of the current EFI folder on another disk.
- Identify hardware before starting: Use AIDA64, HWiNFO, Windows Device Manager, Linux
lspci, macOS System Information or Hackintool before editing EFI. - Prepare firmware: Disable Secure Boot, Fast Boot, CSM/Legacy and CFG Lock where possible. Disable VT-d unless
DisableIoMapperis correctly configured. - Enable required settings: Use UEFI mode, Above 4G Decoding where appropriate, Hyper-Threading, EHCI/XHCI Hand-off, OS Type > Other OS and SATA Mode > AHCI.
- Prepare graphics firmware: For iGPU systems, enable iGPU Multi-Monitor when required and set DVMT pre-allocated memory to at least 64 MB if the BIOS exposes it.
- Create the installer: Use a 16 GB or larger USB drive, GUID/GPT partitioning and a clean installer from App Store, OCLP, ANYmacOS or gibMacOS.
- Format correctly: Use APFS for Catalina and newer. Use HFS+ only for older releases where that is expected.
- Build or refresh EFI: Update OpenCore, Lilu, VirtualSMC and required kexts as a matched set, not as random individual files.
- Understand the installer phases: macOS usually reboots into an installer stage and then into the target disk continuation. Pick the correct entry in the OpenCore picker each time.
- For OCLP Macs: Build and install OpenCore with OpenCore Legacy Patcher, then apply post-install root patches after the first successful boot.
4. EFI and config.plist Review
- EFI layout: Check
BOOT,OC/ACPI,OC/Drivers,OC/KextsandOC/Tools. Every file in the folders must be reflected correctly in config.plist. - Essential kexts: Confirm Lilu, VirtualSMC, WhateverGreen, AppleALC, IntelMausi or RealtekRTL8111, USBMap/UTBMap, NVMeFix and CPUFriend only when the hardware needs them.
- ACPI: Confirm SSDTs match the hardware generation and remove tables copied from unrelated builds.
- Common SSDTs: Review SSDT-EC, SSDT-PLUG, SSDT-AWAC, SSDT-PMC and SSDT-RHUB. Prefer correctly generated SSDTs over random prebuilt files.
- Booter: Check quirks recommended for the CPU generation; wrong memory quirks often cause early boot failure.
- DeviceProperties: Verify GPU, audio and network properties only contain values required for this machine.
- Kernel: Make sure kext order is sane: Lilu before plugins, VirtualSMC present, and network/graphics kexts matched to macOS.
- Misc and NVRAM: Use verbose boot when debugging:
-v keepsyms=1 debug=0x100. Remove old experimental arguments once fixed. - PlatformInfo: Use a suitable SMBIOS and never reuse serials from public EFI folders.
- SMBIOS examples: Many Coffee Lake+ desktops use iMac20,x style SMBIOS choices; many laptops use MacBookPro-style SMBIOS choices. Generate unique Serial, UUID and MLB with GenSMBIOS.
- UEFI: Confirm drivers such as OpenRuntime are current and that obsolete drivers are removed.
- Validation: Run ProperTree clean snapshot or
ocvalidateafter every meaningful edit.
5. Post-Installation
- First boot: Reset NVRAM, boot once with verbose mode, then remove temporary debug arguments after the system is stable.
- Move EFI internally: Mount the EFI partition on the USB and the target disk with MountEFI, copy the working EFI folder, then confirm the machine boots without the USB.
- Root patches: On unsupported Macs, run OCLP Post-Install Root Patch and reboot before judging graphics, Wi-Fi or audio.
- Core tests: Confirm Metal acceleration, audio, Ethernet/Wi-Fi, Bluetooth, sleep/wake, USB ports and shutdown.
- USB mapping: Map USB ports with USBToolBox/UTBMap.kext or USBMap.kext before relying on sleep, Bluetooth, internal cameras or installer input. Respect the macOS 15-port limit.
- Audio: Identify the HDA codec and test AppleALC layout IDs with
alcid=or DeviceProperties injection. - Wi-Fi and Bluetooth: Broadcom often uses AirportBrcmFixup paths; Intel usually uses itlwm/HeliPort or AirportItlwm. Bluetooth support varies by macOS release.
- iServices: Confirm unique ROM, MLB, serial and working NVRAM before troubleshooting iMessage, FaceTime, iCloud or the App Store.
- Power and sleep: Review SSDT-PLUG, CPU frequency scaling, USB mapping, hibernation and relevant
pmsetsettings. - DRM: Test protected video only after graphics acceleration is confirmed. WhateverGreen and
shikigvasettings are hardware-specific. - Updates: Update OpenCore/OCLP and kexts before installing a macOS point update, not after a failed boot.
6. Troubleshooting
Likely Cause
Most installer stalls come from firmware settings, an invalid config.plist, wrong SSDTs, bad USB mapping or unsupported storage/controller settings.
Reported Issue Fix
- Create a rollback point: Make a Time Machine backup and keep a copy of your last working EFI folder before editing OpenCore, kexts or root patches.
- Boot verbose: Add
-v keepsyms=1 debug=0x100so the final visible line gives a real clue. - Check firmware settings: Disable Secure Boot and Fast Boot, set SATA to AHCI, disable CFG Lock if possible, and use UEFI mode.
- Validate OpenCore: Update OpenCore, Lilu and core kexts, then run ocvalidate or ProperTree clean snapshot.
- Recreate the installer: Use a fresh USB installer and try another USB port; older Macs may need a USB 2.0 hub for input during setup.
- Reset NVRAM: Reset NVRAM from the OpenCore picker before retrying the installer.
Common Hackintosh/OCLP Checks
- Kernel panics: Read the last verbose line and check
/Library/Logs/DiagnosticReportsafter boot. Note whether the failure is EarlyBoot or UserSpace. - Stuck at Apple logo or progress bar: Boot with
-v keepsyms=1 debug=0x100, photograph the last line and check Booter, Kernel and storage quirks. LOG:EXITBS:START: Review firmware settings, CFG Lock, Booter quirks, OpenRuntime and outdated OpenCore files.DSMOS has arrivedor graphics hand-off stall: Check GPU support, WhateverGreen/NootedRed/NootRX choices, SMBIOS and display connector patches. Try-wegnoegpuoragdpmod=pikeraonly when the hardware calls for it.- USB keyboard, mouse or ports not working: Try a USB 2.0 hub, check XHCI settings, rebuild USB mapping and avoid exceeding the macOS port limit.
- No graphics acceleration: Confirm Metal support in System Information, review framebuffer/AAPL ig-platform-id values and remove unsupported NVIDIA or Iris Xe assumptions.
- Wi-Fi, Bluetooth, AWDL, Continuity or Location Services not working: Match AirportItlwm/itlwm, BlueToolFixup and Bluetooth firmware to the macOS version.
- Ethernet not working: Confirm the PCI ID and switch between IntelMausi, RealtekRTL8111 or another hardware-specific kext as appropriate.
- Audio missing or partial: Change the AppleALC layout ID, verify the HDA codec and remove conflicting audio injections.
- Sleep, wake, battery drain or shutdown problems: Check USB mapping, power management, Bluetooth wake sources, hibernation and stale NVRAM.
- Installer cannot see the disk or APFS/update errors: Confirm AHCI/NVMe support, APFS formatting, date/time, installer integrity and storage kexts. Recovery/prohibited errors can be caused by wrong system date.
- iServices not working: Clear NVRAM, verify unique ROM/MLB/serial values and confirm the Apple ID is not blocked from activation.
- App crashes, CEF/Chromium blank screens, Safari/App Store/iCloud issues: Verify graphics acceleration, network identity, SMBIOS services and hardware acceleration settings.
- macOS update broke boot: Boot from the USB EFI, restore the previous EFI, use an APFS snapshot or restore from Time Machine before attempting another update.
7. Dual Boot and Advanced Configuration
- Dual boot: Prefer separate physical disks for macOS and Windows/Linux where possible. A shared EFI can work, but it is easier to damage.
- Windows recovery: If Windows fails after OpenCore changes, repair the Windows BCD and restore the desired boot order from firmware.
- EFI protection: Keep a backup because Windows updates can overwrite, reorder or add EFI boot entries.
- Boot picker: Use OpenCore picker entries deliberately and reset NVRAM after major bootloader changes.
- Custom ACPI: Use iasl and MaciASL only when needed. Decompile the original DSDT and patch device paths such as
_HIDand_ADRcarefully. - CFG Lock: GRUB or UEFI shell
setup_varmethods are risky; use them only with a verified offset for that exact BIOS. - SMBIOS refinement: Change SMBIOS only when needed for hardware support or Apple services, then re-test iMessage/iCloud carefully.
- OpenCore polish: Add OpenCanopy, Resources, HiDPI icons and picker themes only after the system is reliable.
- Advanced security: Consider Secure Boot Model, SIP, FileVault and root patch trade-offs only after the base system is reliable.
- Performance tuning: Add CPU power management, USB mapping and sleep fixes after boot, graphics and network are already stable.
8. Verification, Maintenance and Rollback
Verification Checklist
- Verbose boot moves past the previous stopping line.
- The installer reaches Disk Utility and sees the target disk.
- Keyboard, mouse and USB remain active during recovery.
- OpenCore picker still loads after a cold boot.
Maintenance
- Update OpenCore, OCLP and kexts before a macOS update, then reboot and test before installing the update itself.
- Keep dated EFI backups, especially before changing SMBIOS, graphics patches, USB maps or root patches.
- After every macOS update, check graphics acceleration, Wi-Fi/Bluetooth, audio, sleep/wake and Apple services again.
Rollback Plan
- Restore the last booting EFI folder.
- Use the officially supported macOS installer to recover the machine.
- Do not erase the internal disk until the installer can boot twice consistently.
9. References and Glossary
- Primary guide: Use the Dortania OpenCore Install Guide for architecture-specific OpenCore rules.
- Project releases: Check Acidanthera release notes before updating OpenCore, Lilu, WhateverGreen, AppleALC or VirtualSMC.
- Unsupported Macs: Use OpenCore Legacy Patcher model notes before installing or updating macOS on real Macs.
- Community references: Compare symptoms with r/hackintosh, TonyMacx86 and InsanelyMac, but never copy an EFI without auditing it.
- Glossary: EFI, ACPI, SSDT, DSDT, kexts, SMBIOS, NVMe, APFS, iGPU/dGPU, HDA, verbose, panic and picker are the key terms to understand.
Related searches: OpenCore · OCLP · EFI · macOS troubleshooting
Original Question: "Just a bad USB drive?"
| Hi! So I tried creating a USB installer for my old MacBook today and repeatedly got the same error message (see pic). Is it just a „bad“ USB drive (only had one available) or is there another issue? Thanks! (: [link] [comments] |
Post a Comment