Jump to content
Kogen Mantis

Lenovo ThinkPad T420 with UEFI Only

4,586 posts in this topic

Recommended Posts

Advertisement

@okcakep - well not sure about your VGA issue. i presume you are either using a patched AppleIntelSNBGraphicsFB.kext or letting clover do it via the kext patch feature like the one i put in my config.plist

 

if the vga port buffer was not enabled (configured) you would not get anything at all. i just re-tested with 10.8.5 and it VGA works to my HP 24 in monitor. 

 

not sure the link you have above will work -  as that seems to be for MBR disks.

The way I built a dual boot UEFI with Clover, is I created a new UEFI Windows 7 x64 install USB. then i could directly install to my GPT disk with OSX and configured it for UEFI boot. you can create a 3rd partition and format it exfat for now (1st is ESP, 2nd is OSX and 3rd is for Windows). when in the windows installer you can reformat the exfat partition as NTFS. when you are done you should have an ESP that looks something like this:

 

post-954945-0-27829600-1379622915_thumb.png

 

then Clover GUI should look like this - Windows is the first one.

 

post-954945-0-59565100-1379622927_thumb.png

 

P.S. i forgot what a pain it was figuring out how to make a UEFI Win7x64 USB. here is how i did it on my MAC. i think there are plenty of other recipes out there:

  1. Download/obtain a Win7x64.ISO - then mount (open) it.
  2. Disk Utility create GPT/USD USB with free space
  3. command line: remove ESP/EFI partition
         sudo gpt delete -i 1 /dev/diskX 
  4. command line: add 1 partition for content
         sudo gpt add -i 1 /dev/diskX 
  5. Disk Utility: format single partition as msdos (fat32)
  6. copy everything from ISO to USB partition
         rysync -avr /Volumes/ISO/ /Volumes/USB
  7. add boot/bootx64.efi to /efi folder on USB (this came from /Windows)
    see Win7-UEFI-boot.zip
Edited by tluck

Share this post


Link to post
Share on other sites

@okcakep - well not sure about your VGA issue. i presume you are either using a patched AppleIntelSNBGraphicsFB.kext or letting clover do it via the kext patch feature like the one i put in my config.plist

 

if the vga port buffer was not enabled (configured) you would not get anything at all. i just re-tested with 10.8.5 and it VGA works to my HP 24 in monitor. 

 

not sure the link you have above will work -  as that seems to be for MBR disks.

The way I built a dual boot UEFI with Clover, is I created a new UEFI Windows 7 x64 install USB. then i could directly install to my GPT disk with OSX and configured it for UEFI boot. you can create a 3rd partition and format it exfat for now (1st is ESP, 2nd is OSX and 3rd is for Windows). when in the windows installer you can reformat the exfat partition as NTFS. when you are done you should have an ESP that looks something like this:

 

attachicon.gifScreen Shot 2013-09-19 at 4.28.09 PM.png

 

then Clover GUI should look like this - Windows is the first one.

 

attachicon.gifscreenshot0.png

 

Ok bro..i will try ...:)

Thanks for your support

Share this post


Link to post
Share on other sites

Thanks for the last pack

i have some blinking image when using safari (top sites page) or with page using flash

due to AppleIntelSNBGraphicsFB.kext ? don't know

any idea?

 

pfff 1024x768..

grr

Share this post


Link to post
Share on other sites

@Tetonne

 

hmm sounds kinda like the well known HD3000 artifacts? The SNBGraphicsFB has 4 ports when using the clover config.plist patch.

 

LCD

DisplayPort

DVI

VGA

 

i have not seen artifacts/shimmering since i began using a different EDID. I noticed you are using an EDID in your config.plist? 

what changed - other than 10.8.5 which does have new gfx drivers?

Share this post


Link to post
Share on other sites

@Tetonne

 

hmm sounds kinda like the well known HD3000 artifacts? 

 

i have not seen artifacts/shimmering since i began using a different EDID. I noticed you are using an EDID in your config.plist? 

what changed - other than 10.8.5 which does have new gfx drivers?

@ all :back to new tluck config (DualLink to 0), in fact the issue described here is not worth with my config vs tluck. But i when back to tluck config because i'm not able to correct resolution and blinking image on my own. (Not so easy to learn). The aim of my config is to learn not to make a alternative.

 

 

@tluck can't find AppleIntelSNBGraphicsFB.kext in 10.8.5 (S/L/E). Do u?

I'm sure it was present in 10.8.4 lol

 

-----

 

For the moment : resolution is 1024x768 only grrr

 

try to solve with this with no success DisplayProductID DisplayVendorID are not the same now??

try genEDID_3c.zip too without success for the moment

Share this post


Link to post
Share on other sites

@Tetonne

 

- not sure what you mean about that kext missing in 10.8.5. These are Intel kexts that load - same as before in 10.8.4.

- so are which config.plist are you using - are you using one of the ones i posted? meaning if the one in 4236Y33 i posted does not work then lets get one that does for 1366x768 resolution. 

 

Before clover with Chimer/Chameleon, I would do a binary patch on the AppleIntelSNBGraphicsFB to replace the 4th port with VGA. I am just letting clover do the patching.  your native resolution is 1366x768 right? can you change your display res to that? you can certainly 

 

$ kextstat|grep Intel
   15    0 0xffffff7f81a3c000 0x2e000    0x2e000    com.apple.driver.AppleIntelCPUPowerManagement (214.0.0) 
   23    0 0xffffff7f81a37000 0x3000     0x3000     com.apple.driver.AppleIntelCPUPowerManagementClient (214.0.0) 
   38    0 0xffffff7f80ef6000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) 
   72    0 0xffffff7f81949000 0x2e000    0x2e000    com.apple.driver.AppleIntelSNBGraphicsFB (8.1.6) 
   74    0 0xffffff7f819af000 0x62000    0x62000    com.apple.driver.AppleIntelHD3000Graphics (8.1.6) 

Share this post


Link to post
Share on other sites
@tluck thanks for feed back and help.
before i had native resolution 1366x768 on 10.8.4
now i use your config except : dual link=1 cos 0 is needed for my T420, CustomEDID and inject EDID.
I'm not using the one i provide u.
kextstat|grep Intel
   16    0 0xffffff7f81a12000 0x2e000    0x2e000    com.apple.driver.AppleIntelCPUPowerManagement (214.0.0) <7 6 5 4 3 1>
   39    0 0xffffff7f819e3000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) <37 10 5 4 3 1>
2 ligns here only some are missing???
I confirm that for unknown reason AppleIntelSNBGraphicsFB is missing in S/L/E???
 
after 10.8.5 combo reinstall, add kexts, repair :
kextstat|grep Intel
   16    0 0xffffff7f81a0d000 0x2e000    0x2e000    com.apple.driver.AppleIntelCPUPowerManagement (214.0.0) <7 6 5 4 3 1>
   43    0 0xffffff7f819de000 0x19000    0x19000    com.insanelymac.driver.AppleIntelE1000e (2.4.14) <37 10 5 4 3 1>
   68    0 0xffffff7f818f0000 0x2e000    0x2e000    com.apple.driver.AppleIntelSNBGraphicsFB (8.1.6) <67 10 9 7 6 5 4 3 1>
   70    0 0xffffff7f81956000 0x62000    0x62000    com.apple.driver.AppleIntelHD3000Graphics (8.1.6) <69 67 10 7 5 4 3 1>

com.apple.driver.AppleIntelCPUPowerManagementClient is still missing

 

I still don't understand why AppleIntelSNBGraphicsFB had disappeared before???? that was the first time i update via apple store vs combo method. I'll not do this next time lol.

 

Thanks to tluck
 
You will find my config totally based on tluck one but customized for 4236Y33.
Inside :

/4236Y33/ACPI/patched/

/4236Y33/ACPI/patched/dsdt.aml           based on tluck's one but dual ink set to 0

/4236Y33/ACPI/patched/ssdt.aml tluck's one

/4236Y33/config.plist based on tluck's one

/4236Y33/Configuration-GUI.webloc FYI

/4236Y33/DisplayVendorID-6af/DisplayProductID-313c    screen profile

 
 
This config is based on tluck'one and customized for 4236Y33 on 10.8.5.

4236Y33.zip

Share this post


Link to post
Share on other sites

Dear Expert,

 

Im installing broadcom 94312hmg with adding 4315 in info.plist. And....wifi detected..

But, i have problem. I cant using WPA2 ??

What the problem ?

 

Thank you

Share this post


Link to post
Share on other sites

Dear Expert,

 

Im installing broadcom 94312hmg with adding 4315 in info.plist. And....wifi detected..

But, i have problem. I cant using WPA2 ??

What the problem ?

 

Thank you

 

After searching, this card not support WPA2 encryp

Share this post


Link to post
Share on other sites

Do you guys still get shutdown issues with UEFI Clover?

Thanks to some one else's observation we have apparently solved the issue, at least the infamous shutdown hang hasn't happened during past 20+ shutdown attempts. I've decided to try and share the solution by downloading your guys' (T420) patched DSDT and try to incorporate the fix. I was baffled when I got hold of your DSDT as it already contained the fix I was attempting to implement, with one minor hiccup... the length of SystemIO filed is set to One, whilst it should be at least 0x08, otherwise SLPE won't get preserved.

 

So I'm asking, is the shutdown still randomly broken on your machines?

Share this post


Link to post
Share on other sites

Do you guys still get shutdown issues with UEFI Clover?

Thanks to some one else's observation we have apparently solved the issue, at least the infamous shutdown hang hasn't happened during past 20+ shutdown attempts. I've decided to try and share the solution by downloading your guys' (T420) patched DSDT and try to incorporate the fix. I was baffled when I got hold of your DSDT as it already contained the fix I was attempting to implement, with one minor hiccup... the length of SystemIO filed is set to One, whilst it should be at least 0x08, otherwise SLPE won't get preserved.

 

So I'm asking, is the shutdown still randomly broken on your machines?

Hi there, yes, it is still broken...

Share this post


Link to post
Share on other sites

Actually, now I see why it's broken .. because people keep adding patches that they don't know the purpose of, particularly this one that is meant for socket LGA775 Asus desktop boards .. 

    Method (_PTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x05)) {}
        Else
        {

        }
    } 

 

Essentially receiving method argument that is equal 0x05 mens shutdown command was issued.. but it's is requested to do nothing  {} if shutdown was requested.
While the actual _PTS code had had the proper action for shutdown in place, you have cancelled it out by applying the shutdown patch from auto patchers.. (Clover/ MacIASL/napalm's DSDT Editor and patcher).. see, the proper action is there, but it gets suppressed but If/Else statements:
                If (LEqual (Arg0, 0x05))
                {
                    Store (Zero, SLPE)
                    Sleep (0x10)
                }
Your _PTS should be the following I reckon .. for shutdown to actually work.
    Method (_PTS, 1, NotSerialized)
    {
        Store (One, Local0)
        If (LEqual (Arg0, SPS))
        {
            Store (Zero, Local0)
        }

        If (LOr (LEqual (Arg0, Zero), LGreaterEqual (Arg0, 0x06)))
        {
            Store (Zero, Local0)
        }

        If (Local0)
        {
            Store (Arg0, SPS)
            \_SB.PCI0.LPC.EC.HKEY.MHKE (Zero)
            If (\_SB.PCI0.LPC.EC.KBLT)
            {
                UCMS (0x0D)
            }

            If (LEqual (Arg0, One))
            {
                Store (\_SB.PCI0.LPC.EC.HFNI, FNID)
                Store (Zero, \_SB.PCI0.LPC.EC.HFNI)
                Store (Zero, \_SB.PCI0.LPC.EC.HFSP)
            }

            If (LEqual (Arg0, 0x03))
            {
                VVPD (0x03)
                TRAP ()
                Store (\_SB.PCI0.LPC.EC.ADP1._PSR (), ACST)
            }

            If (LEqual (Arg0, 0x04))
            {
                \_SB.SLPB._PSW (Zero)
                TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                AWON (0x04)
            }

            If (LEqual (Arg0, 0x05))
            {
                Store (Zero, SLPE)
                Sleep (0x10)
            }

            \_SB.PCI0.LPC.EC.BPTS (Arg0)
            If (LGreaterEqual (Arg0, 0x04))
            {
                Store (Zero, \_SB.PCI0.LPC.EC.HWLB)
            }
            Else
            {
                Store (One, \_SB.PCI0.LPC.EC.HWLB)
            }

            If (LNotEqual (Arg0, 0x05))
            {
                Store (One, \_SB.PCI0.LPC.EC.HCMU)
                Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                Store (\_SB.PCI0.EXP5.PDS, \_SB.PCI0.EXP5.PDSF)
            }

            \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
        }
    }

Please try that and report back!

Share this post


Link to post
Share on other sites

@TimeWalker75a

 

yes i still get occasional hangs on shutdown. the last 3 times (in recent memory) no problem - but it is random. i was traveling this week so i usually shutdown vs sleep - as random hang (fast blinking power) with sleep is a bigger problem that shutdown hang. i usually boot with chameleon on USB when traveling/working and i know i will want to sleep the system. my system starts in 15 seconds from cold boot since i am using a momentus XT so start up is not a huge problem.

 

hmm...

which dsdt.dsl are you looking at?  the dsdt.dsl i use is in the clover zip in post             #397            

where did you get the _PTS code that does nothing?

this is what i found in my dsdt.dsl

 

 

    Method (\_PTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x05)) {}
        Else
        {
            Store (0x01, Local0)
            If (LEqual (Arg0, \SPS))
            {
                Store (0x00, Local0)
            }
            If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x06)))
            {
                Store (0x00, Local0)
            }
            If (Local0)
            {
                Store (Arg0, \SPS)
                \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
                If (\_SB.PCI0.LPC.EC.KBLT)
                {
                    \UCMS (0x0D)
                }
                If (LEqual (Arg0, 0x01))
                {
                    Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
                    Store (0x00, \_SB.PCI0.LPC.EC.HFNI)
                    Store (0x00, \_SB.PCI0.LPC.EC.HFSP)
                }
                If (LEqual (Arg0, 0x03))
                {
                    \VVPD (0x03)
                    \TRAP ()
                    Store (\_SB.PCI0.LPC.EC.ADP1._PSR (), \ACST)
                }
                If (LEqual (Arg0, 0x04))
                {
                    \_SB.SLPB._PSW (0x00)
                    \TRAP ()
                    \_SB.PCI0.LPC.TPM.CMOR ()
                    \AWON (0x04)
                }
                If (LEqual (Arg0, 0x05))
                {
             Store (Zero, SLPE)
             Sleep (0x10)
                 }
                \_SB.PCI0.LPC.EC.BPTS (Arg0)
                If (LGreaterEqual (Arg0, 0x04))
                {
                    Store (0x00, \_SB.PCI0.LPC.EC.HWLB)
                }
                Else
                {
                    Store (0x01, \_SB.PCI0.LPC.EC.HWLB)
                }
                If (LNotEqual (Arg0, 0x05))
                {
                    Store (0x01, \_SB.PCI0.LPC.EC.HCMU)
                    Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                    Store (\_SB.PCI0.EXP5.PDS, \_SB.PCI0.EXP5.PDSF)
                }
                \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
            }
        }
    }
Edited by tluck

Share this post


Link to post
Share on other sites

That's the one...

All I've shown you was the structure of the method you currently have. as it is right now, your PTS code does nothing when shutdown command is received  -- If (LEqual (Arg0, 0x05)) {} followed by the Else statement. Which means nothing  has to be done if prepare to sleep case is shutdown, and the rest has to be done if sleep was requested.. 

Share this post


Link to post
Share on other sites

@TimeWalker75a

 

Ah! i see. yes, months ago I used clover to auto patch the dsdt and then i manually added a bunch of other stuff. and never looked closely at that section. here is the original dsdt _PTS method vs broken.

orig

 

            If (LEqual (Arg0, 0x05))
            {
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x05)
            }


vs cloverpatch
 
i see the no-op on top level if-then.
and then the autopatcher must have put in
 
        If (LEqual (Arg0, 0x05)) {}
        Else
        {
 
......
               If (LEqual (Arg0, 0x05))
                {
             Store (Zero, SLPE)
             Sleep (0x10)
                 }
....
}
 
 
but then again it never got to the inner logic
which actions should work? 

 

 

 

original DSDT

    Method (\_PTS, 1, NotSerialized)
    {
        Store (0x01, Local0)
        If (LEqual (Arg0, \SPS))
        {
            Store (0x00, Local0)
        }
        If (LOr (LEqual (Arg0, 0x00), LGreaterEqual (Arg0, 0x06)))
        {
            Store (0x00, Local0)
        }
        If (Local0)
        {
            Store (Arg0, \SPS)
            \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
            If (\_SB.PCI0.LPC.EC.KBLT)
            {
                \UCMS (0x0D)
            }
            If (LEqual (Arg0, 0x01))
            {
                Store (\_SB.PCI0.LPC.EC.HFNI, \FNID)
                Store (0x00, \_SB.PCI0.LPC.EC.HFNI)
                Store (0x00, \_SB.PCI0.LPC.EC.HFSP)
            }
            If (LEqual (Arg0, 0x03))
            {
                \VVPD (0x03)
                \TRAP ()
                Store (\_SB.PCI0.LPC.EC.AC._PSR (), \ACST)
            }
            If (LEqual (Arg0, 0x04))
            {
                \_SB.SLPB._PSW (0x00)
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x04)
            }
            If (LEqual (Arg0, 0x05))
            {
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x05)
            }
            \_SB.PCI0.LPC.EC.BPTS (Arg0)
            If (LGreaterEqual (Arg0, 0x04))
            {
                Store (0x00, \_SB.PCI0.LPC.EC.HWLB)
            }
            Else
            {
                Store (0x01, \_SB.PCI0.LPC.EC.HWLB)
            }
            If (LNotEqual (Arg0, 0x05))
            {
                Store (0x01, \_SB.PCI0.LPC.EC.HCMU)
                Store (\_SB.PCI0.EXP4.PDS, \_SB.PCI0.EXP4.PDSF)
                Store (\_SB.PCI0.EXP5.PDS, \_SB.PCI0.EXP5.PDSF)
            }
            \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
        }
    }

Share this post


Link to post
Share on other sites

Lenovo uses SMI protocol on their thinkpads since it's all about security and stuff (hence you see a lot of TPM (Trusted Platform Module) related operations. Just to do that  in _PTS ... I believe it should solve the issue:

            
            Scope (\)
            {
                OperationRegion (SLPR, SystemIO, 0x0430, 0x01)
                Field (SLPR, ByteAcc, NoLock, Preserve)
                {
                        ,   4, 
                    SLPE,   1
                }
            }
 
            If (LEqual (Arg0, 0x05))
            {
                \TRAP ()
                \_SB.PCI0.LPC.TPM.CMOR ()
                \AWON (0x05)
                Store (0x00, SLPE)
                Sleep (0x10)
            }

Share this post


Link to post
Share on other sites

Well huge thank you to TimeWalker75a!!! It seems we have a fix to the Shutdown hang. Maybe it will fix the random sleep hang too?!

... the old DSDT had some extra bogus logic in the PTS method which essentially resulted in some no-ops.

 

Anyway I updated the Clover bundle in post: #397  

 

At the minimum, extract and replace REPLACE your DSDT.aml with this one! There is one for both LCD sizes.

 

 

Update 26-Sep-2013

  • Revised DSDT for Shutdown hang (big thanks to TimeWalker75a)
  • Updated Clover to b2133  (Thanks to Slice and Team of course)
  • Updated FakeSMC - (Kozlek's ver)
  • Updated VoodooPS2Controller (RehabMan's ver)
  • Added Patched AICPUPM kext for Chameleon compatibility.

Share this post


Link to post
Share on other sites

Glad I was of a help. Actually could have looked at some more things, will do if I get bored one evening. I was actually pointed out to that fix by a person named endless. And to be absolutely fair, I was really dumbfounded when I recalled I have been using this fix on my old P35-DS3 based rig for well over 4 years .. 

Share this post


Link to post
Share on other sites

Hm... for me when the shutdown used to hang everything except power and keyboard illumination, well and fan (obviously) got turned off, including Wi-Fi indicator. Try leaving just the Store (0x00, SLPE) and Sleep (0x10) in the If (Arg0, 0x05) statement, perhaps something is interfering with shutdown process.

Share this post


Link to post
Share on other sites

 

Well huge thank you to TimeWalker75a!!! 

Anyway I updated the Clover bundle in post: #397 

 

At the minimum, extract and replace REPLACE your DSDT.aml with this one! There is one for both LCD sizes.

 

Update 26-Sep-2013

  • Revised DSDT for Shutdown hang (big thanks to TimeWalker75a)
  • Updated Clover to b2133  (Thanks to Slice and Team of course)
  • Updated FakeSMC - (Kozlek's ver)
  • Updated VoodooPS2Controller (RehabMan's ver)
  • Added Patched AICPUPM kext for Chameleon compatibility.

 

Thanks TimeWalker75a and tluck

 

i ve tested with success   :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ErmaC
      Slice is glad to present a new EFI bootloader.
      CLOVER
      Now version 2 rEFIt based.


      It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
      I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources.
      http://cloverefiboot.sourceforge.net/

      Main features:


      If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma!
      Continued by blackosx and STLVNUB.
      CloverGrower Downloads Installation How to do UEFI boot How to use - common words Calculator for Automatic DSDT fix Instructions for GraphicsInjector ATIConnector patching Any kexts patching with some Samples CustomEDID Hiding unnecessary menu entries Instruction for DSDT corrections to do DeviceInjection works Development Themes About kexts injection Instructions for P- and C-states generator Patching DSDT to get Sleep working CPU settings and geekbench ACPI tables loading DSDTmini Custom SMBios F.A.Q. iCloudFix Using mouse. How to make orange icons to be metallic How to make software RAID (by Magnifico) How to modify InstallESD.dmg (by shiecldk) Config.plist settings Using extra kexts and skipping kernelcache Choosing EFI drivers Configuration files Automatic config.plist creating Custom DSDT patches How to do sleep/wake working with UEFI BOOT DeviceID substitution (FakeID) Using Custom OS Icons Hibernation Floating regions Error allocating pages while starting OS -----------------
    • By glasgood
      CLOVER DUAL BOOT MOJAVE & WINDOWS 10 GUIDE 
       

       
       
      INCLUDES  MBR / LEGACY BIOS  TO  GPT / EFI CONVERSION
      USING MBR2GPT TOOL
       
       
      PREREQUISITE: Two physical discs ( SSD’s or HDD’s )
       
       
       
       
       
      STEP 1 - Clover dual boot configuration 
       
      Open config.plist with Clover Configurator
       
      Boot
       Legacy = PBR Timeout = True ( will remove the Timeout countdown, from Clover boot menu)  

       
      GUI 
      Scan / Custom
       Entries = True  Tool = True  Legacy = False ( removes extra Windows 10 entries )  
      Hide Volume
      - Preboot ( macOS Preboot )
      - Recovery ( macOS Recovery )
       

       
      So at boot you will have two options: boot macOS Mojave or Windows 10 
       
       
       
       
       
       
       
      ————————————————————
       
       
      STEP 2 - Using a drive without Windows 10 installed
       
      Disconnect system drive that contains your macOS Mojave install from computer ( This is so that Windows does not overwrite existing macOS Mojave boot loader )
       
      Proceed with a Windows 10 UEFI install.  
      After installation reconnect macOS Mojave Drive, the Windows installation should now be detected and usable in Clover. 
      If Windows 10 is not detected or able to boot,  then verify you installed Windows 10 as UEFI and not MBR ---->  ( Read step 2 - For a drive with Windows 10 installed )
       
       
      OR
       
       
       
      STEP 2 - Using a drive with Windows 10 already installed
       
      Verify your Windows install is  GPT / UEFI or MBR / Legacy BIOS.   
      If Windows install is GPT UEFI then Windows 10 install is ready to use at Clover boot menu, you should be able to boot into Windows directly from Clover boot screen. 
       

       
       
      But if  Windows drive is detected at Clover boot screen, but when booting Windows you get a black screen with a cursor on the top left,
      then this is most likely because Windows drive is MBR ( Legacy BIOS ).  You can easily convert MBR to GPT using  Windows MBR2GPT tool ( this saves hours work having to reinstall Windows 10 and setting up all your applications again  ) 
       
      If Windows 10 install is MBR / Legacy BIOS  then simply convert to GPT / UEFI  following instructions below ( read video summary and view video )
       
       
      ** To use Windows 10  MBR2GPT tool  you must have Windows 10 version 1703 ( creators update  ) or later and less than 3 partitions on 
      the Windows 10 drive **
       
      Video summary:
       
      Confirm Windows 10 drive is MBR Legacy BIOS ( in Windows Disk Management ) Reboot into Windows PE ( Advanced Startup ) Convert from MBR Legacy BIOS to GPT UEFI ( using commands below ) mbr2gpt /validate mbr2gpt /convert Restart Verify Windows 10 drive has changed to GPT UEFI ( in Windows Disk Management )  
       
       
       
      After conversion Windows 10 is ready to use at the Clover boot menu 
       
       
       
      STEP 3 - Stop Windows Boot manager from overriding Clover boot manager
       
      How to stop Windows boot manager from overriding your Hackintosh Clover boot manager when using dual booting between macOS and Windows
       
       
       
       
       
       
    • By Averyfreeman
      Dear @tluck 
       
      I have a T460s 20F9-003HUS - I5-6300U 2C 2.4GHz, FHD non-touch, 8GB DDR4, PM961 NVMe, vPro, AMT, etc.
      http://psref.lenovo.com/Detail/ThinkPad_T460s?M=20F9003HUS
       
      I have been following the following thread to hackintosh my T460s:
       but it's very long and hard to sort through, so I thought I'd start a new thread specifically for this issue
       
      Personally, my model has been doing pretty good with just the T460 EFI from github.  I did run the scripts to create and patch a new DSDT, though, after installing patchmatic and iasl.  I also manually installed VooDooPS2Controller.kext by following the guide on RehabMan's git wiki. 
       
      I also re-installed my kexts from CLOVER/kexts/other using kext helper to build them into the kext cache
       
      My only glaring issue is the touchpad.  It's unusably bad, I've had to use a mouse which kinda sucks on a laptop.
       
      It'll be really slow and then all of the sudden be really fast.  It hangs and skips intermittently.  Kind of hard to describe but it's {censored}. 
       
      So far I've tried: 
       
      installing latest version of VooDooPS2Controller, urning off all gestures, modifying speed, patching DSDT with autogen scripts (iASL, patchmatic). 
       
      Has anybody seen this problem?  What do you recommend I do?  
       
      Happy to provide any logs anyone believes would be relevant via pastebin, etc. 
       
      Thank you!
    • By SoThOr
      This was spurred on from a discussion in the Clover General thread. Where there was a debate on bcdedit being able create/read/edit (U)EFI Boot entries. I didn't think it appropriate to post all this information there and somebody may want to make use of this and its likely to get lost in that massive thread.
       
      Out of curiosity I decided to see if I could create an EFI entry using bcdedit. What can I say I like a challenge.  Whilst is not a documented method by Microsoft, as it turns out in a round about way it IS possible to create an EFI entry using bcdedit and these are the steps I went through to add UEFI Shell located on a USB stick to the EFI entries. 
       
      Third party software is available that can create and edit UEFI entries from Windows with better support and more features. I'm just making this information available in case those options are unavailable. 
       
      DISCLAIMER - This is not a supported method. Use at your own risk. I recommend backing up your BCD/Firmware variables/settings beforehand.
       
      1) Copy {bootmgr} entry.
      C:\Windows\System32>bcdedit /copy {bootmgr} /d "UEFI Shell" The entry was successfully copied to {34e8383c-73a7-11e9-9cb0-94de8078a7b5}. 2) Edit the new entry using the new GUID bcdedit generated in the copy step.
        a) Set the device and path for UEFI shell on my USB stick.
      bcdedit /set {34e8383d-73a7-11e9-9cb0-94de8078a7b5} device partition=G: bcdedit /set {34e8383d-73a7-11e9-9cb0-94de8078a7b5} path \EFI\SHELL\SHELLX64.efi   b) Clean up some of the stuff that was copied from {bootmgr} (optional as far as I can tell, just makes things tidier in bcdedit)
      3) Put the new EFI entry first in boot order. (optional)
       
      After completing the steps above, here is what "bcdedit /enum firmware" shows:
       
      I shutdown my computer and when I turned my computer back on it booted up into UEFI Shell. After exiting the shell my PC went on to boot Windows.
      Here is the resulting dump using "bcfg boot dump -v" from that shell:
       
      You may notice that the shell shows as "Windows Boot Manager" in the bcdedit output. This I believe is because of the "WINDOWS" at the beginning of the option data that bcdedit added to the EFI Boot entry. I also believe this why bcdedit shows my Windows 8 installation as "Firmware Application" because it has no option data. I don't know how to remove this data using bcdedit nor do I know how the option data, that bcdedit adds, will affect other EFI applications.

      There might be a way to create the EFI entry without copying the Windows entry but if there is I'm unable to find any documentation on how one would do so. If you use the create command then it just puts it in the BCD and I'm unaware of a way to tell it to create it in EFI instead, other than by doing the above.
×