Jump to content
ErmaC

Clover Problems and Solutions

2,946 posts in this topic

Recommended Posts

nvram save script seems broken in High Sierra

 

On my system, the nvram.plist file will never be saved to the ESP on system shutdown.

The culprit seems that `gpt -r show` applied on the boot device will fail : " Operation not permitted "

 

Details : save script v.1.65/High Sierra 10.13.0/APFS

Share this post


Link to post
Share on other sites
Advertisement

nvram save script seems broken in High Sierra

 

On my system, the nvram.plist file will never be saved to the ESP on system shutdown.

The culprit seems that `gpt -r show` applied on the boot device will fail : " Operation not permitted "

 

Details : save script v.1.65/High Sierra 10.13.0/APFS

what is your SIP setting? you will get this warning if SIP is enabled... or specifically if you don't have unrestricted filesystem (2nd bit ) SIP 0x2 set

Share this post


Link to post
Share on other sites

what is your SIP setting? you will get this warning if SIP is enabled... or specifically if you don't have unrestricted filesystem (2nd bit ) SIP 0x2 set

 

Yes. I have SIP enabled. I suggest replacing the line :

gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')

with

gPartIndex=$(diskutil list "/dev/${gDisk[i]}" 2> /dev/null | awk '{print $1,$2}' | grep EFI | awk -F : '{print $1}')

(I am currently not on my machine, so I am not 100% sure of the syntax, but I hope you get the idea).

Share this post


Link to post
Share on other sites

You keep playing the memory card, but how much it really affects a modern system?

what proof do you need about SIP enabled?

anyhow, this method always worked for me (only 4 kexts needed in my system)

and i'm betting that its the way most of Clover use it and all of Ozmosis users use it.

 

What is value of csr-active-config in nvram?

 

EDIT: Also I'd like to see that you actually restarted and didn't just enable it in recovery and screen shot.

EDIT2: I don't get why this would be documented if it does not check extensions at boot:

The kernel refuses to boot if unsigned extensions are present, showing the user a prohibition sign instead.

Yes. I have SIP enabled. I suggest replacing the line :

gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')

with

gPartIndex=$(diskutil list "/dev/${gDisk[i]}" 2> /dev/null | awk '{print $1,$2}' | grep EFI | awk -F : '{print $1}')

(I am currently not on my machine, so I am not 100% sure of the syntax, but I hope you get the idea).

 

diskutil is not available when this is run. Also it is restricted just as gpt is.

Share this post


Link to post
Share on other sites

 

diskutil is not available when this is run. Also it is restricted just as gpt is.

 

??? You are probably referring to another script than the one I am referring to. My proposal is for 80.save_nvram_plist.local which currently already uses diskutil on multiple places.

I am pretty sure that (at least on High Sierra) `diskutil list` has no restriction while `gpt show` on the boot disk is restricted when SIP is enabled.

Share this post


Link to post
Share on other sites

Yes. I have SIP enabled. I suggest replacing the line :

gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')
with

gPartIndex=$(diskutil list "/dev/${gDisk[i]}" 2> /dev/null | awk '{print $1,$2}' | grep EFI | awk -F : '{print $1}')
(I am currently not on my machine, so I am not 100% sure of the syntax, but I hope you get the idea).

 

"diskutil list|grep EFI" is not a reliable way to determine the EFI partition.

Any partition can be named EFI. There is nothing sacred about the name, it is the GUID that determines whether it is the ESP.

 

For example, one of my systems I have a disk with EFI, EFI0 and EFI1 partitions... Wanna guess which one is the ESP?

Share this post


Link to post
Share on other sites

"diskutil list|grep EFI" is not a reliable way to determine the EFI partition.

Any partition can be named EFI. There is nothing sacred about the name, it is the GUID that determines whether it is the ESP.

 

For example, one of my systems I have a disk with EFI, EFI0 and EFI1 partitions... Wanna guess which one is the ESP?

I am not testing the partition name, I am testing the type (cf. the `awk` thing before the `grep`).

Share this post


Link to post
Share on other sites

I am not testing the partition name, I am testing the type (cf. the `awk` thing before the `grep`).

As long as TYPE=EFI for the partition with the ESP GUID, then might be ok.

Now I'm trying to remember why I didn't use that for my own mount_efi.sh.

 

But @apianti's comment is very relevant here:

diskutil is not available when this is run.

One possibility to get around that is to have a different script run when 'diskutil' *is* available, and have it store the info for later.

Share this post


Link to post
Share on other sites

@barijaona

 

Note: as is the script should be putting the nvram.plist in / of OS as the logic is if no ESPs are found then write the file there.

but to get the script to write to ESP(s) when SIP is enabled, perhaps test this code using diskutil vs gpt - which is a 1 line change -  (looks for TYPE EFI):

#gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')
gPartIndex=$(diskutil list "/dev/${gDisk[i]}" | grep "  EFI " | sed -e's/^.*disk.s//')

seems to work for me on a SIP enabled system.

$ sudo ./80.save_nvram_plist.fixed
v1.16.6 (c) 2017 syscl/lighting/Yating Zhou, tluck, Sherlocks, lvs1974
2017-10-24-09:39:12  disk0: ESP -- Ignored -- No CLOVER directory located
2017-10-24-09:39:12  disk1: ------ Ignored -- No ESP on disk
2017-10-24-09:39:12  disk2: ESP -- Target  -- /Volumes/ESP-21/EFI/CLOVER
2017-10-24-09:39:13  disk3: ESP -- Ignored -- No CLOVER directory located
2017-10-24-09:39:13  disk4: ------ Ignored -- No ESP on disk
2017-10-24-09:39:13  disk5: ------ Ignored -- No ESP on disk
2017-10-24-09:39:13  NVRAM: No change since last update in /Volumes/ESP-21/nvram.plist

Share this post


Link to post
Share on other sites

can we use nvram reset in gui?

 

@cecekpawon implemented nvram reset features in his github

seems very useful feature. because i had big problem.

 

recently, i faced big problem about nvram when test hiberationfixup.

https://sourceforge.net/p/hibernationfixup/discussion/general/thread/93f601f6/

 

my laptop doesn't support native nvram. so i have to use EmuVariableUefi + rc script.

 

when test hiberationfixup, i forgot to add "-hbfx-dump-nvram"  boot arg. my system slept with hiberation mode. then i turned on my system.

i can't see my high sierra disk (hibernated tag). can see above link

0:572 0:005 Loading nvram.plist from Vol 'Macintosh HD' - loaded, size=2636

 

because of this part in nvram storage and always add this keys

0:578 0:000 Adding Key: IOHibernateRTCVariables: Size = 44, Data: 41 41 50 4C 01 00 00 00 A3 26 09 2D BA 87 74 47 BF DA DD 87 F0 A9 ED 15 27 19 95 73 6E 01 DA EA EE 6A 15 2E 92 FF 15 59 7E 29 48 D1 
0:578 0:000 Adding Key: Boot0082: Size = 118, Data: 01 00 00 00 6E 00 00 00 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 00 17 03 12 0A 00 01 00 00 00 00 00 04 01 2A 00 02 00 00 00 00 48 06 00 00 00 00 00 00 28 2A 08 00 00 00 00 D6 D5 94 54 8F 9D 5E 4B AC 99 BF 55 4C E2 38 82 02 02 04 03 24 00 F7 FC 74 BE 7C 0B F3 49 91 47 01 F4 04 2E 68 42 8F 7F 32 3C 06 B8 EB 44 AB F7 A6 C8 D8 0D 5E 49 7F FF 04 00 

 

I can not boot any disk for mac (macos installer usb, recovery, any macos disk) because clover always reads nvram on macintosh HD. my system doesn't support hibernatefixup method properly.
The symptom is that the osxaptiofix message will be briefly rebooted immediately. I can not do anything.
Furthermore, because of the apfs format, there is no way to force a hard disk to find the nvram file by mounting a macintosh hd disk in Windows.
So I forced to format the macintosh hd in Windows(only way to resolve this problem) and booted it via mac installer usb.
 
also seems to help this case link
 
If clover has the ability to initialize nvram in the gui, it seems to be able to solve the problem without formatting even in this worst case.
 
thanks in advance

Share this post


Link to post
Share on other sites

 

@barijaona

 

Note: as is the script should be putting the nvram.plist in / of OS as the logic is if no ESPs are found then write the file there.

but to get the script to write to ESP(s) when SIP is enabled, perhaps test this code using diskutil vs gpt - which is a 1 line change -  (looks for TYPE EFI):

#gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')
gPartIndex=$(diskutil list "/dev/${gDisk[i]}" | grep "  EFI " | sed -e's/^.*disk.s//')

seems to work for me on a SIP enabled system.

$ sudo ./80.save_nvram_plist.fixed
v1.16.6 (c) 2017 syscl/lighting/Yating Zhou, tluck, Sherlocks, lvs1974
2017-10-24-09:39:12  disk0: ESP -- Ignored -- No CLOVER directory located
2017-10-24-09:39:12  disk1: ------ Ignored -- No ESP on disk
2017-10-24-09:39:12  disk2: ESP -- Target  -- /Volumes/ESP-21/EFI/CLOVER
2017-10-24-09:39:13  disk3: ESP -- Ignored -- No CLOVER directory located
2017-10-24-09:39:13  disk4: ------ Ignored -- No ESP on disk
2017-10-24-09:39:13  disk5: ------ Ignored -- No ESP on disk
2017-10-24-09:39:13  NVRAM: No change since last update in /Volumes/ESP-21/nvram.plist

 

No with diskutil the issue is different during shutdown, I believe that there is some service no longer available that diskutil depends on. Same as if you startup single user.

Share this post


Link to post
Share on other sites

@apianti - well i am not sure what you mean exactly about being different?   this script (80.save_nvram_plist.local) (as well as any others in /etc/rc.shutdown.d) is kicked off by the LogoutHook method, therefore diskutil is available.

 

$ sudo defaults read com.apple.loginwindow LogoutHook
/Library/Application Support/Clover/CloverDaemon-stopservice

Share this post


Link to post
Share on other sites

What is value of csr-active-config in nvram?

 

EDIT: Also I'd like to see that you actually restarted and didn't just enable it in recovery and screen shot.

EDIT2: I don't get why this would be documented if it does not check extensions at boot:

The kernel refuses to boot if unsigned extensions are present, showing the user a prohibition sign instead.

Do you see any reason I will enable it in recovery and take a screenshot?

post-221558-0-07543400-1508868503_thumb.png

Share this post


Link to post
Share on other sites

 

@barijaona

 

Note: as is the script should be putting the nvram.plist in / of OS as the logic is if no ESPs are found then write the file there.

but to get the script to write to ESP(s) when SIP is enabled, perhaps test this code using diskutil vs gpt - which is a 1 line change -  (looks for TYPE EFI):

#gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')
gPartIndex=$(diskutil list "/dev/${gDisk[i]}" | grep "  EFI " | sed -e's/^.*disk.s//')

seems to work for me on a SIP enabled system.

Yes, work for me too.

 

But as @Rehabman also noticed, there is a slight chance that you get a false positive with a non EFI partition which is named "EFI".

This is why I feel safer with the following version which makes sure that the "EFI" string is present in the partition type indicator :

#gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')
gPartIndex=$(diskutil list "/dev/${gDisk[i]}" 2> /dev/null | awk '{print $1,$2}' | grep EFI | awk -F : '{print $1}')

Share this post


Link to post
Share on other sites

well exactly. i am not searching for "EFI" but for "  EFI " (blank blank EFI blank) 

 

EDIT: and i prefer to look at Identifier column so one does not have to assume 1-1 correspondence between partition number and disk0sX identifier.

Share this post


Link to post
Share on other sites

My laptop also don’t have native nvram support and I don’t use emu driver because when I use this driver the LastBootVolume will not works anymore because Clover can’t write lastbootvolume data to nvram.plist.

 

Second,I found when I use apfs in 10.13 they always create nvram.plist both in system partition and esp partition.Does 80nvram rc script don’t support APFS partition?

 

Last I want to know why many laptop can’t use native nvram?I going to Ubuntu and look up our efi variables and it can read and write well and I found Clover can read and write nvram successfully.So why system can’t read and write native nvram?

 

As I know the acre Swift 3 laptop with kabylake processor and 200-series motherboard can use native nvram well and I don’t know the reason.

 

So I want to compare and found why cause this?we can compare efi variables between real Mac and our hackitosh to find if the format is wrong or other problem.

 

Or we can read and write efi variables var Clover because Clover can support nvram r&w well.

 

 

从我的 iPhone 发送,使用 Tapatalk

Share this post


Link to post
Share on other sites

Yes, work for me too.

 

But as @Rehabman also noticed, there is a slight chance that you get a false positive with a non EFI partition which is named "EFI".

This is why I feel safer with the following version which makes sure that the "EFI" string is present in the partition type indicator :

#gPartIndex=$(gpt -r show "/dev/${gDisk[i]}" 2> /dev/null |grep -i "${gEfiUID}" |awk '{print $3}')
gPartIndex=$(diskutil list "/dev/${gDisk[i]}" 2> /dev/null | awk '{print $1,$2}' | grep EFI | awk -F : '{print $1}')

 

I decided to do this in my mount_efi.sh.... it uses plist output and PlistBuddy to parse it, maybe a bit less subject to false positives:

# Find the associated EFI partition on DiskDevice
diskutil list -plist "/dev/$DiskDevice" 2>/dev/null >/tmp/org_rehabman_diskutil.plist
for ((part=0; 1; part++)); do
    content=`/usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:Content" /tmp/org_rehabman_diskutil.plist 2>&1`
    if [[ "$content" == *"Does Not Exist"* ]]; then
        echo "Error: cannot locate EFI partition for $DestVolume"
        exit 1
    fi
    if [[ "$content" == "EFI" ]]; then
        EFIDevice=`/usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:DeviceIdentifier" /tmp/org_rehabman_diskutil.plist 2>&1`
        break
    fi
done

# should not happen
if [[ -z "$EFIDevice" ]]; then
    echo "Error: unable to determine EFIDevice from $DiskDevice"
    exit 1
fi
$DiskDevice is something like 'disk0'.

$EFIDevice would be disk0s1 (EFI as first partition on disk0).

Share this post


Link to post
Share on other sites

I decided to do this in my mount_efi.sh.... it uses plist output and PlistBuddy to parse it, maybe a bit less subject to false positives:

# Find the associated EFI partition on DiskDevice
diskutil list -plist "/dev/$DiskDevice" 2>/dev/null >/tmp/org_rehabman_diskutil.plist
for ((part=0; 1; part++)); do
    content=`/usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:Content" /tmp/org_rehabman_diskutil.plist 2>&1`
    if [[ "$content" == *"Does Not Exist"* ]]; then
        echo "Error: cannot locate EFI partition for $DestVolume"
        exit 1
    fi
    if [[ "$content" == "EFI" ]]; then
        EFIDevice=`/usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:DeviceIdentifier" /tmp/org_rehabman_diskutil.plist 2>&1`
        break
    fi
done

# should not happen
if [[ -z "$EFIDevice" ]]; then
    echo "Error: unable to determine EFIDevice from $DiskDevice"
    exit 1
fi
$DiskDevice is something like 'disk0'.

$EFIDevice would be disk0s1 (EFI as first partition on disk0).

 

 

nice. i will look at incorporating this method with diskutil into the script - which is seems to take the uncertainty out the EFI type vs name.

Share this post


Link to post
Share on other sites

RE: nvram save script and SIP

 

@syscl

here is rewrite of the nvram_save_script (v1.16.6) using diskutil to find the EFI partition on disks vs gpt (which has restrictions when SIP is completely enabled).  The section to find EFI device is based on the RehabMan's parse method from above - but adapted for this script. The point was to check find a disk's EFI partition (not by name) and its associated device name (e.g disk0s1)

 

the key section looks like this now:

for ((i=0; i<${#gDisk[@]}; ++i))
    do
      local gESP=""
      local plist=$( diskutil list -plist "/dev/${gDisk[i]}" 2> /dev/null )
      for ((part=0; 1; part++));
      do
            content=$( /usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:Content" /dev/stdin <<< $plist 2>&1 )
            if [[ "$content" == *"Does Not Exist"* ]];
            then
                break
            fi
            if [[ "$content" == "EFI" ]];
            then
                gESP=$( /usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:DeviceIdentifier" /dev/stdin <<< $plist 2>&1 )
                break
            fi
      done
      gLogTimeStamp=$(date +%Y-%m-%d-%H:%M:%S)
      if [[ $gESP != "" ]];
      then
            printf "${gLogTimeStamp}  ${gDisk[i]}: ESP --"
                     local gMountPoint=$(_mountESP ${gESP})
      ...
      else
            printf "${gLogTimeStamp}  ${gDisk[i]}: ------ Ignored -- No ESP on disk\n"
      fi
    done

save_nvram_script.1.16.6.zip

Share this post


Link to post
Share on other sites

I have such a strange disk

iMac-2:Clover slice$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS MacHD                   270.5 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS HighHD                  118.3 GB   disk0s4
   5:                 Apple_Boot Recovery HD             650.0 MB   disk0s5
   6:                        EFI NO NAME                 104.9 MB   disk0s6
   7:       Microsoft Basic Data Data                    109.7 GB   disk0s7

Why second EFI? I don't know as well as many other users.

Share this post


Link to post
Share on other sites

I have such a strange disk

iMac-2:Clover slice$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS MacHD                   270.5 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS HighHD                  118.3 GB   disk0s4
   5:                 Apple_Boot Recovery HD             650.0 MB   disk0s5
   6:                        EFI NO NAME                 104.9 MB   disk0s6
   7:       Microsoft Basic Data Data                    109.7 GB   disk0s7

Why second EFI? I don't know as well as many other users.

 

 

the 2nd EFI was probably made by the windows installer. i have seen this happen before. i cant remember if there was stuff on it... but then i remember manually deleted the 2nd EFI to avoid confusion.

Share this post


Link to post
Share on other sites

I have this EFI NO NAME of windows. it is a Windows Pure UEFI and does not cause any confusion,

it allows me to boot natively on windows with Clover  :) From my Dell Optiplex 790

 

Same in my HP ProBook 6570B

 

captur33.png

 

This is the content 

captur35.png

 

EDIT***

I rename to EFI and boot to Windos 10 nomaly, thats change nothing

captur36.png

Share this post


Link to post
Share on other sites

I have such a strange disk

....

Why second EFI? I don't know as well as many other users.

@Slice: Uhmmmb.., what's strange? :rolleyes: My whole disk is Legacy-GPT converted from MBR w/o erasing. EFI partition is manually created with GParted under Linux (Live) and set as esp there. I then re-formatted it under macOS with "$ newfs_msdos -v EFI -F 32 /dev/rdisk0s1".

 

#EDIT: Oops, my bad.. U mean 2nd EFI (disk0s6), sorry  ^_^ 

ZvJmwno.jpg

Share this post


Link to post
Share on other sites

 

RE: nvram save script and SIP

 

@syscl

here is rewrite of the nvram_save_script (v1.16.6) using diskutil to find the EFI partition on disks vs gpt (which has restrictions when SIP is completely enabled).  The section to find EFI device is based on the RehabMan's parse method from above - but adapted for this script. The point was to check find a disk's EFI partition (not by name) and its associated device name (e.g disk0s1)

 

the key section looks like this now:

for ((i=0; i<${#gDisk[@]}; ++i))
    do
      local gESP=""
      local plist=$( diskutil list -plist "/dev/${gDisk[i]}" 2> /dev/null )
      for ((part=0; 1; part++));
      do
            content=$( /usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:Content" /dev/stdin <<< $plist 2>&1 )
            if [[ "$content" == *"Does Not Exist"* ]];
            then
                break
            fi
            if [[ "$content" == "EFI" ]];
            then
                gESP=$( /usr/libexec/PlistBuddy -c "Print :AllDisksAndPartitions:0:Partitions:$part:DeviceIdentifier" /dev/stdin <<< $plist 2>&1 )
                break
            fi
      done
      gLogTimeStamp=$(date +%Y-%m-%d-%H:%M:%S)
      if [[ $gESP != "" ]];
      then
            printf "${gLogTimeStamp}  ${gDisk[i]}: ESP --"
                     local gMountPoint=$(_mountESP ${gESP})
      ...
      else
            printf "${gLogTimeStamp}  ${gDisk[i]}: ------ Ignored -- No ESP on disk\n"
      fi
    done

Thank you, I have committed to r4269 already. In fact, as of my first version of this script I use diskutil for all mounting, unmount and identified ESP/EFI partition, so actually all this operations can use diskutil(more concise and tidy code). Since we now use LogoutHook so that we don't need to worry about diskutil is unavailable issue. 

 

syscl

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By fusion71au
      Clover r4747 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
       
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.14 guest in Windows X64 host.
       
      Installation
      1. Download and unzip "EFI_Clover_r4747 for VMware.zip". Mount Clover-v2.4k-4747-X64 by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
       
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • By superdooper71
      Hi all,
      I hope someone can help me as I am struggling with this bloody installation.
      I am running on several problems that I can't face : (
       
      First of all my config:
      Mobo: ASROCK H81M-DGS R2
      CPU: Intel Xeon E3-1220 v3 @3.10ghz
      RAM: 16gb DDR3 1600Mhz
      SSD: Crucial BX100 120Gb SSD
      Monitor: Hp 27w Hdmi
       
      POST Installation CLOVER
       
      Current Issues:
      • System will not boot (clover boot loader do not shows up) from SSD
         - System boot only with USB stick
      • Screen Resolution is only 1024x768
      • Monitor recognised as 17" instead of 24"
      • Monitor identified as secondary
      • Grafic Card Geforce GT710 shows 0 Mb
      • System info do not match Config.plistin Clover
       
      I attach screenshot of System Info, Kext in Clover, Resolution etc etc.
       
      Please can someonhelp me?
       
      Please can you tell me what is the Clover Parameter to activate when installing Clover  (Clover_v2.4k_r4722) into Boot Disk?
       
      I hope someone can help me out of this little troble: )
       
      Cheers
      Franco
       
      system info.tiff
      kext.tiff
      resolution.tiff
      system.tiff
      config.plist
    • By gengik84
      Ciro82==>>Thanks
      Uno dei tre Requisiti:
      Hack funzionante Mac vero Macchina virtuale Impostazioni Bios per il boot:
      Cercate una voce  del tipo “Sata Mode”e settatela  in AHCI
      Secure Boot: disabilitare o altri sistemi operativi
      CSM: UEFI o LEGACY, oppure a secondo del tipo di installazione
      VT-x / VT-d disable
      *Nota: Secure boot e csm valido solo per bios UEFI
      Materiale Occorrente 
      "OS X (Versione App.Store)”
      USB 8GB  *nota: nel caso di usb superiori dovrà essere partizionata, in modo da avere una partizione su cui "lavoreremo,di questa dimensione
      ShowAllfiles 
      kext Wizard 
      Bootloader Clover_2.3k_r xxx:                   http: //sourceforge.n.../cloverefiboot/
      Clover Configurator:                                    http: //mackie100proj...a.org/download/
      FakeSmc.kext:                                            https://github.com/kozlek/HWSensors/releases
      In allegato,a fondo pagina troverete un "pacchetto" contenente : ShowAllfiles, Kext Wizard, FakeSmc.kext: 
      App alternative:
      ESP Mounter Pro: per montare la partizione EFI
      Vi illustrerò tre metodi per creare la usb, ma sono ben distinti… quindi usatene soltanto uno
      Metodo 1: “Install Mac_OS_X.command” Metodo 2: “Create Install Media di Apple” Metodo 3:  Metodo Manuale Alla fine delle preparazione dell’installer, tutti i metodi necessitano l’installazione del Bootloader Clover sulla a vostra USB.
      “CONDIZIONI OBBLIGATORIE”
      PUNTO 1: che la vostra usb sia stata preventivamente nominata USB (caratteri maiuscoli) Tabella di partizione GUID e la formattazione in  Mac esteso Journaled.
      PUNTO 2: che l’installer di OSX si trovi in Applicazioni
      Utility Disco 
      Selezionate la pendrive, andate su “partizione”, selezionate “1 partizione”, impostate Mac OS esteso journaled e date il nome USB, poi in basso cliccate su opzioni e scegliete Tabella partizione (GUID), poi “applica”.
      Immagine 
      Riporto nuovamente l’operazione sopra citata adoperando dal nuovo Utility Disco introdotto su El Capitan.
      Rimane ovviamente invariato nome della usb in ==>> USB (maiuscolo), la formattazione in Mac esteso Journaled e sia la mappa partizione in GUID
      Da utility disco selezionate la usb, cliccate su inizializza.
      dal menù a tendina scegliete la relative impostazioni
      Immagine  
      Procedura effettua da High Sierra è la stessa della precedente, l'unica attenzione e operazione da aggiungere in primis  è cliccare nel menù a tendina in alto sulla sinistra di utility disco e selezionare "mostra tutti i dispositivi"
      Immagine 
       
      =====================
        METODO 1: "Install_Mac_OS_X.Command" Lo script che trovate allegato in fondo alla guida permette la creazione dell’installer in maniera automatica
      Include la possibilità di scelta di tre versioni di osx
      Yosemite El Capitan Sierra Il risultato finale è come quello del metodo "manuale" descritto nella guida, per cui l'installazione avverrà in un solo passaggio, non in due come con il metodo createinstallmedia. 
      Offre inoltre la possibilità di inserire un kernel patchato, utile, per esempio, per chi usa AMD.
      Rimane invariato il nome dato alla usb in USB, mappa partizione e tipo di formattazione
      Se la vostra usb non sarà rinominata nel modo corretto, verrete avvisati dal terminale, quindi non dovrete far altro che apportare la relativa modifica e rilanciare nuovamente lo script
      Esempio
      ===========================
      Metodo 2 
      L'intento è quello di usare la procedura fornitaci direttamente da Apple, "createinstallmedia", introdotta  con Mavericks. 
      Tale metodo prevede l’uso del terminale che via via se ne sta perdendo il “valore e l’uso”
      Inizialmente per i neofiti potrà sembrare problematico ma alla fine non è così.
      Durante il post installazione alcune operazioni ne richiedono l’ uso.
      Perciò mi sono chiesto perchè, qualora uno volesse, non far conoscere da subito un po’ questo “strumento”???
      Per favorirvi vi ho allegato i comandi già  “pronti”, i quali li potrete copiare ed incollare sul terminale.
      A questo punto aprite il terminale, copiate ed incollate il comando sottostante e premete invio, digitate la vostra password e premete nuovamente invio.
      Comando per creare USB con Yosemite:
      sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction  
      Comando per creare USB con El Capitan
      sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction Comando per creare USB con Sierra 
      sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app/ --nointeraction Per creare USB con Hight Sierra o Mojave usate --> C_I_M (aggiornato per 10.14)
       
      Funziona con il drag & drop sul terminale, in questo caso non vi è necessità che la usb sia nominata in un determinato modo ed essendo basato su create install media ovviamente funziona da 10.9 a 10.14.... 
      BENE…IL PROCESSO DI CREAZIONE E’ INIZIATO…
      AVREMO CIRCA 20/30 MINUTI DI TEMPO LIBERO A CUI DEDICARSI A CIO’ CHE VOGLIAMO………………………………………..  
      COLGO L’OCCASIONE PER FARVI NOTARE LA VELOCITA’ E LA SICUREZZA DI QUESTO METODO
      CONFRONTATE QUESTO CON IL TERZO METODO E NOTERETE CHE CON UN SOLO PASSAGGIO, OSSIA IL COMANDO DATO AL TERMINALE, FACCIAMO IN UNA SINGOLA OPERAZIONE TUTTI I VARI STEP DESCRITTI SULL’ ALTRO METODO.
      DETTO QUESTO, MOLTO IMPORTANTE E’ SOTTOLINEARE CHE COSI’ FACENDO EVITEREMO ERRORI  DI DISTRAZIONE RIGUARDO AI PASSAGGI O FRAINTENDIMENTI.
      Immagine 
      Potete adesso passare ad installare il bootloader Clover sulla vostra usb.
      *NOTA*:
      Avendo usato questo metodo l'installazione si dividerà in due fasi, perciò dopo il primo riavvio e necessario far partire nuovamente l'installer, selezionare lo stesso disco senza formattarlo.
      Finita questa ulteriore fase , l'installazione sarà terminata
      =========================
      METODO "MANUALE"....  (lascio per futura memoria-Compatibile fino a 10.12)
      ==========================
      Bootloader
      **Nota:** Installazione in UEFI  dipenderà dalla scheda madre in vostro possesso, quindi se non supporta tale opzione , il bootloader dovrà essere installato in  modalità Legacy.
       Vi invito, qualora non sapeste questa informazione, a recarvi nel sito ufficiale del produttore e controllare le informazioni a riguardo
      Fatto questo dobbiamo installare  Clover sulla usb.
      A seconda del tipo di Bios o al tipo di installazione che vogliamo fare UEFI o Legacy avremo ovviamente configurazioni diverse in questa fase.
      Lanciate il pkg.
      Immagine 

       
      Cambiate la destinazione di installazione ad USB oppure Install Mac_OS_X (a secondo del tipo di creazione eseguita)
      Successivamente clicchiamo su "Ad Hoc"
      Per Installazione UEFI
      Mettete i flag   : Installazione solo per avvio UEFI
                               : installare Clover nella ESP
                               : Driver64UEFI  selezionate OsxAptioFixDrv-64
                             *  :Se nel vostro sistema è presente una scheda grafica (discreta) della serie 9xx nVidia selezionate OsxAptioFix2Drv-64 al posto di  OsxAptioFixDrv-64 *
      ** OsxAptioFix2Drv :E' necessario per poter impostare CsrActiveConfig= 0x3 **
      ***OsxAptioFix3Drv oppure AptioMemory --> (consigliato) devono essere usati su hardware Skylake o successivi perché permettono alla nvram di lavorare correttamente
           (mi raccomando o uno o l'altro)
      Proseguite con l’installazione.
      Immagine 
      ** Ricordate che avrete accesso a questa cartella dopo aver montato la partizione EFI**
      ===========================
      Per installazione Legacy
      Immagine 
      ===========================
      Impostazione per config.plist:
      Con clover configurator “montate” la partizione EFI della usb.
      1) Per fare questo nel menù di sinistra, cliccate su “Mount EFI”
      2) individuate la partizione relativa alla vostra usb, a questo punto montiamo la relativa partizione EFI  selezionando l’apposito pulsante “Mount Partition”
      Immagine 
      3) Successivamente cliccate su “Open Partition”.. recatevi in EFI/Clover ed aprite il config.plist
      4) Sezione ACPI: Disabilitate tutti i fix sia del menù 1 che del menù 2
      Immagine 
      5) Sezione BOOT: Sole se si sta installando Yosemite mettete il flag su kext-dev-mode=1
      Immagine 
      6) Sezione RT Variables: Se si sta installando El Capitan oppure Sierra, aggiungere i valori: BooterConfig= 0x28, CsrActiveConfig= 0x67
      Immagine 
      7) Sezione System Parameters: Su inject kext mettete YES
      Immagine 
      ===========================
      Nota: Su El Capitan, è stato introdotto SIP (System Integrity Protection)
      Info:
      ===========================
      Recatevi in EFI/Clover/kext/10.x 
      X= alla versione di osx che state installando. Per esempio se installerete Yosemite dovrete recarvi nella cartella 10.10, con El Capitan in 10.11….ecc
      Se non ci fosse tale cartella, createla e nominatela voi a “modo”.
      Copiatevi all’interno FakeSmc.kext
      *Nota se venite già da altre vostre configurazioni, oltre kext sopra citato ,potete mettere gli altri necessari per il vostro hardware
      Stessa cosa se avete DSDT e/o SSDT potete copiarli in EFI/Clover/Acpi/Patched
      Immagine 
      
      Per High Sierra:
      Scaricare il driver apfs.efi a fine guida, collocarlo:
          --> EFI/clover/Driver64UEFI se stiamo usando UEFI
      --> EFI/Clover/Driver64 se stiamo usando Legacy
       
      Per chi volesse continuare ad usare HFS vi rimando a questo post:
        Come installare High Sierra in HFS direttamente dalla usb  
      Utenti Laptop:  Nel 99% è obbligatorio disattivare la grafica discreta Nvidia/Amd per installare questo nuovo osx
                                     Quindi aggiungete --> SSDT-Disable_DGPU.aml.zip
                                     in EFI/Clover/acpi/Patched della usb
      --------------------------------------------------------------------
      Per Mojave:
      Scaricare il driver apfs.efi per 10.14 a fine guida, collocarlo:
          --> EFI/clover/Driver64UEFI se stiamo usando UEFI
      --> EFI/Clover/Driver64 se stiamo usando Legacy
      Versione di clover non antecedente a V_4015
      Volete usare HFS?
      E' possibile fare un installazione diretta su altro disco o partizione, nel caso può essere usato anche per effettuare aggiornamenti...
      nel caso guardate...
       Mojave in HFS 
       Oppure direttamente da usb  
       
      Fatto questo avrete la vostra USB bootable per installare OSX.
      ………Non scordatevi Fakesmc.kext da mettere nella relativa cartella…. senza il quale non farete mai il Boot......
      *NOTA: se usato il terminale per la creazione della usb, l'installazione si dividerà in due fasi, perciò dopo il primo riavvio e necessario far partire nuovamente l'installer, selezionare lo stesso disco senza formattarlo.
      Finita questa ulteriore fase , l'installazione sarà terminata
      **NOTA** Se avete processori Broadwell,Skylake o Kabylake...usate FakeSmc.kext e relativi sensors che trovate all'interno del secondo pacchetto.. (potete usarlo anche sui precedenti senza problemi, essendo una versione più aggiornata ha ulteriore supporto per le cpu più recenti)
      Update: Fakesmc e sensors versione 6.26
      Post installazione... post #2           
       Buon Hack….. 
      Aggiornamento:Install_Mac_OS_X.command.zip (compatibile da 10.10 a 10.12)
      le info le trovate a questo post
      Ringrazio @Ciro82 che mi ha aiutato nel preparare questa guida.
      Pacchetto.zip
      Pacchetto-2.zip
      apfs.efi-10.13-NoLog.zip
      Pacchetto-Fake+Sensors 6.26.1440.zip
      apfs.efi-10.13.1-No_LOG.zip
      apfs.efi-10.13.2_No_Log.zip
      apfs.efi-10.13.3-No_Log.zip
      apfs.efi-10.13.4-No_Log.zip
      apfs.efi-10.13.5_No_Log.zip
      C_I_M.zip
       
      apfs.efi-10.14-beta1_No_Log.zip






    • By shmn
      Hi, I have been trying to follow @RehabMan 's guide to disable my dGPU ( https://www.tonymacx86.com/threads/guide-disabling-discrete-graphics-in-dual-gpu-laptops.163772/ ) for two days now, but haven't found a way to disable my 1080 Ti on my desktop Clover hack.

      I have a dual-boot (Win/Mac) machine on a Z370 Aorus 7. Since there's no nvidia drivers for Mojave atm, I want to stick with the iGPU under Mac, but still use the 1080 Ti under Win.

      The hack boots just fine when I remove the 1080 Ti, if it's plugged in via PCIe I get a kernel panic.
      Please find attached my ACPI folder, my clover config.plist and the kernel panic details.

      Might there even be a less hacky way than patching these ACPI files? I appreciate any kind of support! Thanks!
      ACPI.zip
      config.plist

      systemReport.txt
    • By Alexandru
      Hello InsanelyMacForum,
       
      I managed to boot into Mac OS Sierra with my Intel Core 2 Duo, Nvidia 9400 GT and 4 GB of Ram machine, got internet and sound working, but the issue appears when I boot with Nvidia Web Driver. I get these acid colours, but Graphics Acceleration is working fine. I tried to inject EDID from my display, but no results as well. Would be really grateful if someone could provide some help. Thank you!

×