Jump to content

Lenovo ThinkPad L450 - from unable to boot OC to an (almost) perfect Sequoia Hackintosh


81 posts in this topic

Recommended Posts

@joevt  Maybe your Z170X need install OCLP-Mod first, with USB patcher, and them you can inject USBMap with CorpNewT App.

 

 

3 hours ago, joevt said:

@arsradu , I can't really help with port mapping. Last time I did it was 8 years ago.


EHCI is USB 2.0. USB 2.0 controllers usually don't have 17 ports. What's going on there? You need some kind of port limit for that controller as well? Usually port limit is only for XHCI chipset controllers. Has anyone done port limits for multiple controllers in the same hackintosh? You need to map port 17 of this controller to a different port number.

 

When searching in IORegistryExplorer.app, it helps to delete the search text after you select the item you were searching for, so you can see more devices related to the selected device.

 

PR17 and PRT1 both have location 1d1 because 17 mod 16 = 1 (macOS allows port numbers between 1 and 15). When USB mapping is correct, you will not have devices with duplicate location hex strings.

 

The two left most digits of the location string represents the host controller location (XHCI is at 0x14 and EH01 is at 0x1D where 0x14 and 0x1D are PCIe device numbers? The rest of the digits in the location hex string are port numbers (if they are between 1 and 15) or 0 which ends the location string.

 

 

I redid the mapping process, this time taking screenshots along the way.

That "UK17" is there by default. And I'm not sure how exactly can I change it. But...as far as I can tell it's the same as UK01 on EHCI controller... Not sure why they're both using the same address.

So, this is xHCI with all ports injected (before mapping) 

XHCI-before.thumb.png.e8e6e69bf326401898c401830cc4e824.png

This is EHCI with all ports injected (before mapping)

EHCI-before.thumb.png.b982e431c032cef007947c35ed0a7902.png

This is XHCI after mapping

XHCI-after.thumb.png.b55515fca7eb0782a3cc0ce180116966.png

This is eHCI after mapping, disabling port 17, and all the ports under the "HUB-1d100000 Controller" since I was getting the same warning for empty ports.

EHCI-after.thumb.png.7683092e4842b58958bcf35384a86d59.png

Please, let me know your thoughts.

 

Also, this is how USB Map Discover ports look like with the default view (no mapping done).

USBMapDiscover-before.thumb.png.31bfb208fa00deb1ee5a4f19e32d2451.png

And this is what it looks like after mapping all my USB ports (only 3 available, all of them USB 3.0/2.0). 

USBMapDiscover-after.thumb.png.502c26a919ea6fc8ff8a331bb736eff5.png

 

After disabling UK17, the *hub_device turned white (so I guess that's ok).

 

So not sure if this is what I was supposed to do...and if it looks ok now. Unfortunately I'm still having sleep issues... But anyway, please, let me know your thoughts, if something sticks out as potentially wrong or something.

Edited by arsradu
  • Like 1

Fixed it. God dang it! Finally!

 

I had to monitor what was causing the sleep issue with Terminal and pmset -g log command.

So at some point I was getting this:

Screenshot2025-07-19at12_59_56.thumb.png.f5ec841ca2c8b0869c6b8286f7c73ebf.png

So I set USB2.0 Hub, Integrated Camera and Bluetooth Host Controller (UK6,7,8 on XHCI Controller) to Internal (255). And that seems to have fixed the issue.

 

Now I need to figure out what's causing me some sudden reboots. With no warning, no error, no nothing. While I was typing this, the laptop decided to reboot for no reason.

Anyway, USB issue seems to be fixed now and laptop is sleeping and waking up from sleep ok.

 

Edited by arsradu
  • Like 2
16 hours ago, arsradu said:

I redid the mapping process, this time taking screenshots along the way.

That "UK17" is there by default. And I'm not sure how exactly can I change it. But...as far as I can tell it's the same as UK01 on EHCI controller... Not sure why they're both using the same address.

So, this is xHCI with all ports injected (before mapping) 

 

Interesting that there are only 15 ports. No mapping to remove ports is needed for these (you just need to assign port types).

Usually XHCI chipset controllers have more than 15 ports with super speed (USB 3.x) and high speed (USB 2.0) ports.

Your chipset (Wildcat Point) is an older chipset (pre Z170X) which I guess had fewer ports.

Which ports of XHCI are Super Speed? What High Speed port does each pair with?

 

 

16 hours ago, arsradu said:

This is EHCI with all ports injected (before mapping)

 

26 ports. You need to get rid of 11 of them so that there are no duplicate locations in Mac OS X.

Which have actual connections on your motherboard that you want to keep? Check both USB 3.x and USB 2.0 ports using a USB 2.0 device (since each USB 3.0 port has a USB 2.0 port).

 

 

16 hours ago, arsradu said:

This is XHCI after mapping

 

Ok, I see you have marked 6 High Speed ports and 3 Super Speed ports for the XHCI.

SS01/HS01, SS02/HS02, SS04/HS04 are pairs?

 

 

16 hours ago, arsradu said:

This is eHCI after mapping, disabling port 17, and all the ports under the "HUB-1d100000 Controller" since I was getting the same warning for empty ports.

 

So only one port physically exists under EHCI?

 

 

16 hours ago, arsradu said:

Please, let me know your thoughts.

 

Also, this is how USB Map Discover ports look like with the default view (no mapping done).

 

I guess the "not have accurate addressing" message is because there are two ports with the same location that the hub might be connected to and the hub can only be connected to one of them but the location is not sufficient to determine which one.

 

 

16 hours ago, arsradu said:

And this is what it looks like after mapping all my USB ports (only 3 available, all of them USB 3.0/2.0). 

 

You had 3 other USB 2.0 and the EHCI port in the IORegistry image.

 

 

16 hours ago, arsradu said:

After disabling UK17, the *hub_device turned white (so I guess that's ok).

 

I guess the confusion goes away when you disable ports so that all ports have a unique location.

 

 

16 hours ago, arsradu said:

So not sure if this is what I was supposed to do...and if it looks ok now. Unfortunately I'm still having sleep issues... But anyway, please, let me know your thoughts, if something sticks out as potentially wrong or something.

 

I don't see anything wrong with the final setup. But I'm not sure if you showed a screenshot of the mapping after disabling UK17?

 

17 hours ago, joevt said:

 

Interesting that there are only 15 ports. No mapping to remove ports is needed for these (you just need to assign port types).

Usually XHCI chipset controllers have more than 15 ports with super speed (USB 3.x) and high speed (USB 2.0) ports.

Your chipset (Wildcat Point) is an older chipset (pre Z170X) which I guess had fewer ports.

Which ports of XHCI are Super Speed? What High Speed port does each pair with?

 

 

 

26 ports. You need to get rid of 11 of them so that there are no duplicate locations in Mac OS X.

Which have actual connections on your motherboard that you want to keep? Check both USB 3.x and USB 2.0 ports using a USB 2.0 device (since each USB 3.0 port has a USB 2.0 port).

 

 

 

Ok, I see you have marked 6 High Speed ports and 3 Super Speed ports for the XHCI.

SS01/HS01, SS02/HS02, SS04/HS04 are pairs?

 

 

 

So only one port physically exists under EHCI?

 

 

 

I guess the "not have accurate addressing" message is because there are two ports with the same location that the hub might be connected to and the hub can only be connected to one of them but the location is not sufficient to determine which one.

 

 

 

You had 3 other USB 2.0 and the EHCI port in the IORegistry image.

 

 

 

I guess the confusion goes away when you disable ports so that all ports have a unique location.

 

 

 

I don't see anything wrong with the final setup. But I'm not sure if you showed a screenshot of the mapping after disabling UK17?

 

Yes, forgot to take a screenshot after that.

 

Yes, HS01/SS01, HS02/SS02 and HS04/SS04 are pairs. There is no physical USB 2.0 port on this laptop as far as I can tell. So only 3.0/2.0 pairs or internal.

This is what ended up as the current setup.

 

Screenshot2025-07-20at08_38_26.thumb.png.4dfd339ca2060a30f09d2bb88d54335f.png

I'm still kinda curious what is that Hub-1d100000 Controller.

Anyway, looks like the sudden restarts were caused by the Realtek Card Reader kext. I might need to replace that with something else. But so far, almost everything seems to be working properly.

Edited by arsradu
22 hours ago, arsradu said:

I'm still kinda curious what is that Hub-1d100000 Controller.

Anyway, looks like the sudden restarts were caused by the Realtek Card Reader kext. I might need to replace that with something else. But so far, almost everything seems to be working properly.

Does your motherboard have USB headers that you did not check or include?

Maybe you should boot Windows and use a program like USB Device Tree Viewer or HWiNFO to get more info.

If you don't know what the hub is, then you might as well disable all the ports of EHCI including UK01.

 

  • Like 1
59 minutes ago, joevt said:

Does your motherboard have USB headers that you did not check or include?

Maybe you should boot Windows and use a program like USB Device Tree Viewer or HWiNFO to get more info.

If you don't know what the hub is, then you might as well disable all the ports of EHCI including UK01.

 

Yes, I was going to check that on Windows. However, I'm still not sure how to setup OC to boot both OSes on the same disk. This is one of the things that are still WIP.

Also, looks like by default, Windows allocates a lot less space for the EFI partition.

But yeah, I'll look into it.

2 hours ago, eSaF said:

Does the old rule of booting Windows and macOS on the same Disk states that macOS should be the first OS that is seen by the BIOS?

Of course I am reflecting on my chameleon days of how things were when dual or multi-booting on a hack machine.

 

These days most people I guess place each OS on respective Drives for practical and ease of installation.

Dual or multi-booting is not as risky as the early days of Hacks and then again I haven't multi-boot from the same disk in a long, long time so I wouldn't know.

 

As far as I could see online, and as far as my own experience goes with this, the issues here are:

  1. yeah, as far as I can see, Windows, after all these years, still doesn't play nice with other OSes, and still wants to be "the one and only OS to rule them all". Since MacOS and Linux are a thing, and have been a thing for decades now, I think Microsoft might need to adjust their expectations. There are other players out there, and that's very good for all of them.
     
  2. since I installed first Windows, then MacOS, the EFI partition was created by Windows and seems to be a lot smaller. I think it's 100MB instead of 200MB (haven't checked). Thing is, it doesn't seem to be able to comfortably hold the content from both EFIs combined. I'm sure there is a more optimal way of doing this, but...so far I'm super confused as to how exactly and what exactly am I supposed to merge so that Windows can boot.
    Right now, I'm typing this from Windows, but...the workaround was to have MacOS booting from an external USB drive, so that Windows can have the entire EFI for itself. And that seems to work.

    Again, I'm pretty sure there is a way to have both, by slimming down whatever Windows needs. Cause I think it only needs bootmgfw.efi and probably something else, right? Well, so far I haven't had any luck with this. I think it needs something else, I just don't know what. Anwyay, I'm not planning on keeping MacOS forever, so, just to satisfy my curiosity and to complete the challenge I set for myself to create a hackintosh out of this, I would probably not need to mess with the EFI partition if it's enough for Windows.
     
  3. as I heard, one of the issues of dual-booting from the same disk is the fact that OC needs ACPI files for Mac. But they won't be usable for Windows. So...I'm not sure if OC already knows to ignore that...or...I don't know. I haven't gotten that far on this path.

 

Edited by arsradu

Many laptops don't have the option to install a second hard drive

So you're forced to create a partition (MS-DOS - GUID) on the macOS hard drive dedicated to Windows.
This is where the WindowsInstall app comes in.
Just load the Windows ISO, choose the Win partition and go.
It's important to enable

"Deactivate Windows Esp" in the app.

 

Spoiler

Screenshot 2025-07-20 alle 16.59.07.png


In this case, only the Microsoft folder will be copied to the EFI, along with the Boot and OC folders and no boot files will be overwritten

 

Spoiler

Screenshot2025-07-21alle09_42_44.png.b895222a40e2775a06cd41d011be4bbb.png


At reboot , Windows , will be visible in the GUI. Select them and finalize the installation.

Edited by Anto65
  • Like 1
1 hour ago, Anto65 said:

Many laptops don't have the option to install a second hard drive

So you're forced to create a partition (MS-DOS - GUID) on the macOS hard drive dedicated to Windows.
This is where the WindowsInstall app comes in.
Just load the Windows ISO, choose the Win partition and go.
It's important to enable

"Deactivate Windows Esp" in the app.

 

  Hide contents

Screenshot 2025-07-20 alle 16.59.07.png


In this case, only the Microsoft folder will be copied to the EFI, along with the Boot and OC folders and no boot files will be overwritten
At reboot , Windows , will be visible in the GUI. Select them and finalize the installation.

 

Hey Anto! Thank you so much!

 

I don't even know where do you guys come up with these tools. I've never seen this one before. :)) My installation was made with Rufus, which might have also contributed on creating this smaller partition...? I don't know.

 

Anyway, so does this mean I have to reinstall Windows...? Did I get this right?

Don't you already have Windows installed?
Or do you want to create a larger EFI partition for macOS?
Even though they're small, Windows and OC can fit together on a 100MB EFI partition.
Maybe I'm not quite understanding what you're trying to achieve. 🙂

4 hours ago, joevt said:

Does your motherboard have USB headers that you did not check or include?

Maybe you should boot Windows and use a program like USB Device Tree Viewer or HWiNFO to get more info.

If you don't know what the hub is, then you might as well disable all the ports of EHCI including UK01.

 

Hey!

 

I managed to boot into Windows and tried USB Viewer app.

 

This is what it shows for XHCI

Screenshot2025-07-21094914.png.b61a4226c6115d73b6977f7ca9e39171.png

 

This is what it shows for EHCI

Screenshot2025-07-21095424.png.3d81308b39c3501bb41c43d9e6cc1542.png

 

So looks like that hub is an USB Integrated Rate Matching Hub... Not sure what that is. So...any idea if it can be used on MacOS? Or should I disable all EHCI at this point?

 

Edit:

Ok, so Google's AI response says this:

 

Quote

Purpose:

IRMHs are designed to allow older USB 1.1 devices to work seamlessly with newer USB 2.0 or 3.0 systems. Since USB 1.1 devices have a lower data transfer rate, the IRMH helps manage the traffic and ensure proper communication without overwhelming the faster bus. 

Internal Function:

They are often integrated into the chipset and may not be visible as a separate, external device. 

Example:

In some Intel chipsets, the IRMH replaced the older USB 1.1 companion controller and provides USB 1.1 compatibility through the hub's Transaction Translator (TT). 

Bandwidth Sharing:

USB 1.1 devices connected through an IRMH might share bandwidth, meaning they may not achieve their maximum speed simultaneously when multiple devices are in use. 

Visibility:

You might see an IRMH listed in the output of lsusb (a Linux command for listing USB devices) as "Intel Integrated Rate Matching Hub" or similar, indicating its presence within the system. 

 

So...it's for managing USB 1.1 traffic. So I think it can be safely disabled without causing any issues.

Edited by arsradu
40 minutes ago, eSaF said:

I hear yah loud and clear my friend.

@Anto65 has saved my skin and sanity more than I can list. :yes:

With that tool it only takes approx: 5 minutes to install Windows.

Alright. I'll think about it. :) So far, I'm a bit reluctant to reinstall Windows, since I just did a few days ago, due to the fact that I couldn't boot into it anymore (the dual-boot issue). So...doing it all over again.... I don't know. But there's also another way of looking at it, which is that since it's new, I haven't yet added everything back. So...it might be a way to both fix the issue, and test this new tool.

Hmm...decisions, decisions... :))

 

By the way, as some of you probably noticed, I've updated this thread's name and first post content. So, if you guys have any suggestions or things you would like to test and confirm working, before wrapping up this project, please, let me know.

Edited by arsradu

I still don't understand.
You now have both Windows and macOS installed on two partitions.
Do you only have the Windows boot files on the EFI partition of the disk (100MB) and do you boot OSX with the USB?

 

 

  • Like 1
28 minutes ago, Anto65 said:

I still don't understand.
You now have both Windows and macOS installed on two partitions.
Do you only have the Windows boot files on the EFI partition of the disk (100MB) and do you boot OSX with the USB?

 

Exactly. The EFI partition is too small for both (at least with all the files), and I'm not sure which files to extract from Windows, whether or not they overwrite something (cause it's Windows, so of course it does) to make it boot with the existing EFI.

So yes, as a workaround, Windows EFI is now on the SSD, and OC EFI on the USB drive.  The idea would be to be able to boot both. But I'm not sure which files to extract from Windows (pretty sure it doesn't need the whole EFI, since a lot of those files seem to be language files), and which folder structure, so that I can boot both OSes with the current small EFI partition. I tried different combinations, but...with no success. It just doesn't boot Windows, even if it does see it in OC boot picker.

 

I already made a backup of the Windows EFI content, so...in theory, I should be able to just put that back at any time, and have it working again.... But for now, I just preferred to let it have the entire EFI just for itself, and I'm booting MacOS from USB.

So yeah, you got that perfectly right. :)

Edited by arsradu

So in my case, by combining the OpenCore BOOT folder, the OC folder (WITH ONLY ONE THEME)
and the Microsoft folder, I get to 50 MB.
So they fit perfectly in the 100 MB EFI... I don't know if yours exceeds 100 MB.

 

If so, you should mount the EFI partition on the disk and copy the EFI folder (from Win) to the desktop.

 

Empty the EFI partition and copy the complete EFI folder from the USB (OC) to the EFI partition on the disk.

 

Reboot, reset NVRAM, and you should see the OC GUI.

 

Boot OSX and remount the EFI partition.

 

Copy the Microsoft folder you previously saved to the desktop, along with the Boot (OpenCore) and OC folders.

 

Spoiler

Screenshot 2025-07-21 alle 09.42.44.png

 

Reboot, and you should see Win in the GUI now.

56 minutes ago, Anto65 said:

So in my case, by combining the OpenCore BOOT folder, the OC folder (WITH ONLY ONE THEME)
and the Microsoft folder, I get to 50 MB.
So they fit perfectly in the 100 MB EFI... I don't know if yours exceeds 100 MB.

 

If so, you should mount the EFI partition on the disk and copy the EFI folder (from Win) to the desktop.

 

Empty the EFI partition and copy the complete EFI folder from the USB (OC) to the EFI partition on the disk.

 

Reboot, reset NVRAM, and you should see the OC GUI.

 

Boot OSX and remount the EFI partition.

 

Copy the Microsoft folder you previously saved to the desktop, along with the Boot (OpenCore) and OC folders.

 

  Hide contents

Screenshot 2025-07-21 alle 09.42.44.png

 

Reboot, and you should see Win in the GUI now.

 

Microsoft is absolutely infuriating!!

Screenshot2025-07-21at14_25_50.png.7733ceddde1afffc6c01f85bbb969600.png

Can't make a backup of the EFI folder from EFI partition, to any place on my computer. What the $%&@#)(I#%$ is this?! No, the file DOES NOT already exist.

 

It did work before, but now I don't even know what changed. I've never seen this error before.

 

I think Microsoft just doubled its folder structure. It's an absolute MESS! 

So we've got this:
 

EFI partition:

  • Boot folder
    bootx64.efi
  • EFI folder
        Boot folder
            BOOTx64.efi (I'm guessing not the same as the one above)
        Microsoft folder
            Boot folder
               BCD
               boot.pnd.stl
               boot.stl
               bootmgfw.efi
               bootmgr.efi
               Bunch of language folders
           Recovery folder
               BCD
  • Microsoft folder (again???)
       Boot folder
           BCD
           boot.pnd.stl
           boot.stl
           bootmgfw.efi
           bootmgr.efi
           Bunch of language folders
        Recovery folder (again????!!!)
           BCD

 

This is what insanity must be like. This is absolutely atrocious. One Boot folder in another Boot folder, in another Microsoft folder in another Microsoft folder, all in another Boot folder. Plus Recovery. WT*!!

 

How is anyone supposed to understand anything from this?! How does anyone at Microsoft understand anything from this?!

 

 

Edited by arsradu
11 minutes ago, Anto65 said:

🤔 Doesn't it let you copy the entire EFI-Win folder to the Desktop? In my case, it's on the Tahoe.

 

  Hide contents

image.png.30ba4e7ed01e17c6d82ef1a93c144820.png

 

Nope. When trying to copy the EFI folder, it shows that error. It doesn't matter where I try to copy it or how I try to copy it. It just doesn't wanna copy.

I don't even know what the hell is that .mui file supposed to do there. Seems to be some multi-language file...but....with all those folders with language files...do you STILL feel the need to add yet ANOTHER language file that, on top of everything, can't be even copied somewhere else?

15 minutes ago, LockDown said:

I never had issue if i install macOS first then windows on my laptop. EFI size will always be 200+

Yeah, when you install MacOS first, MacOS is in charge of creating the EFI. And yes, standard for Mac is 200MB. But when you install Windows first...either Rufus or Windows will create the partition. So...yeah, looks like Windows is a bit stingy when it comes to EFI sizes. :) 

 

As I said before, this was never supposed to be a Hackintosh. :)) And it's still not supposed to stay this way. So yeah, first I installed Windows cause it was meant to be used with Windows. Then I just thought: could this be a Hackintosh, too? Yeah, it can. But getting here wasn't just another walk in the park. :))

 

I've never seen that error either. As far as I can see, each language folder has one of those. And even if you only copy ONE of them, it will still tell you that there's another one present. Also, for something so stingy when it comes to EFI space, it's still incredibly generous duplicating language files all across the EFI. There's gotta be a better way to manage multiple languages than this.

Edited by arsradu
21 minutes ago, LockDown said:

tried copying using terminal?

That was the next step I was about to try. But still...weird...

 

Anyway, yeah, let me try to copy that thing with terminal. Maybe it shows some useful info, in case it doesn't work.

 

Edit: it does copy it...with no errors as far as I can see, but it doesn't copy everything. The resulting folder is smaller than the original.

Edited by arsradu
  • Confused 1
×
×
  • Create New...