Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
Not open for further replies.
Well, I took the plunge of faith and jumped into deep water. I formatted a new usb 2 stick with GUID partition and labeled it as NVMeBoot so that commands match, copied the UUID from my bootable usb 3 drive (with CCC copy of my Mackintosh drive). I had to disable SIP to play with CoreServices. However it was not successful. Here are the terminal events:


Krishnas-Mac-Pro:~ krishna$ mkdir -p /Volumes/NVMeBoot/System/Library/CoreServices/

Krishnas-Mac-Pro:~ krishna$ mkdir -p /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/

Krishnas-Mac-Pro:~ krishna$ mkdir -p /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/

Krishnas-Mac-Pro:~ krishna$ cp /System/Library/CoreServices/SystemVersion.plist /Volumes/NVMeBoot/System/Library/CoreServices/

cp: /Volumes/NVMeBoot/System/Library/CoreServices/SystemVersion.plist: Permission denied


I'll appreciate if you can interpret the language and guide me where is it I am going wrong. Thanks

For permission issue, you may add "sudo" in front of the command, and enter password if required.
 
For permission issue, you may add "sudo" in front of the command, and enter password if required.

"sudo" word helped but still couldn't boot from the ext. HDD

Terminal events:

Krishnas-Mac-Pro:~ krishna$ mkdir -p /Volumes/NVMeBoot/System/Library/CoreServices/

Krishnas-Mac-Pro:~ krishna$ mkdir -p /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/

Krishnas-Mac-Pro:~ krishna$ mkdir -p /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/

Krishnas-Mac-Pro:~ krishna$ sudo cp /System/Library/CoreServices/SystemVersion.plist /Volumes/NVMeBoot/System/Library/CoreServices/

Password:

Krishnas-Mac-Pro:~ krishna$ sudo cp /System/Library/CoreServices/boot.efi /Volumes/NVMeBoot/System/Library/CoreServices/

Krishnas-Mac-Pro:~ krishna$ sudo cp /Library/Preferences/SystemConfiguration/com.apple.Boot.plist /Volumes/NVMeBoot/Library/Preferences/SystemConfiguration/

Krishnas-Mac-Pro:~ krishna$ cp /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/

cp: /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache: No such file or directory

Krishnas-Mac-Pro:~ krishna$ sudo cp /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/

cp: /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache: No such file or directory

Krishnas-Mac-Pro:~ krishna$ sudo bless --folder /Volumes/NVMeBoot/ -label NVMeBoot

Krishnas-Mac-Pro:~ krishna$

and 'com.apple.Boot.plist' changed to:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel Cache</key>
<string>/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache</string>
<key>Kernel Flags</key>
<string>boot-uuid=2CDA1B0E-32B4-31AF-BE06-A3F0F95F1652 rd=*uuid -v</string>
</dict>
</plist>


For the 2nd cp step it says 'no such file or Directory'. I am using Sierra osx, does it matter for Terminal commands?
 
Last edited:
"sudo" word helped but still couldn't boot from the ext. HDD

For the 2nd cp step it says 'no such file or Directory'. I am using Sierra osx, does it matter for Terminal commands?

I don't think it does matter if it is Sierra, because I have copied those files from a High Sierra installation. I actually just verified and I don't have the "kernelcache" file in my system either. But I seemed to have when I created my USB drive.

Also, are you sure you did chose the right UUID? Try to do "diskutil info /Volumes/nameOfYourInstallDisk". You should use the Volume UUID.

In any case I am putting my kernel cache file available in this link:
https://wetransfer.com/downloads/6a83e77d99749257b9ef62a6a8c645e620171015183542/2840249eee65565f906d73293cdea65220171015183542/b307ae
(from my USD drive, because I don't see to have one in the disk any longer) Hope it will work from you.

If it doesn't work, try this command before "cp":
sudo kextcache -i /
 
Thanks for replying. I did exactly as mentioned by op: opened the Disk utility app, selected the partition on which I cloned the osx and pressed cmd+i to get the UUID. It is same when I checked the mac system report when I connect the ext. HDD via usb2 (as the system report doesn't show info about drives connected to usb3 pcie ports)

"sudo kextcache -i /" didn't help, still getting same response "no such file or Directory"

How should I use the kernel cache file you sent? Sorry I am no computer expert
 

Attachments

  • upload_2017-10-15_15-9-45.png
    upload_2017-10-15_15-9-45.png
    98.7 KB · Views: 325
  • Volume UUID.png
    Volume UUID.png
    44.6 KB · Views: 307
Last edited:
Thanks for replying. I did exactly as mentioned by op: opened the Disk utility app, selected the partition on which I cloned the osx and pressed cmd+i to get the UUID. It is same when I checked the mac system report when I connect the ext. HDD via usb2 (as the system report doesn't show info about drives connected to usb3 pcie ports)

"sudo kextcache -i /" didn't help, still getting same response "no such file or Directory"

How should I use the kernel cache file you sent? Sorry I am no computer expert

cp command is like copy and pasting something.
So just do a:
cp pathToDownloadedFile /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/

"sudo kextcache -i /" did create a kernelcache file for me... so, it should have worked for you to.
Please, can you do a:
cd /System/Library/Caches/com.apple.kext.caches/Startup/
Than a :
ls -la

take a screenshot and send me.
 
cp command is like copy and pasting something.
So just do a:
cp pathToDownloadedFile /Volumes/NVMeBoot/System/Library/Caches/com.apple.kext.caches/Startup/

"sudo kextcache -i /" did create a kernelcache file for me... so, it should have worked for you to.
Please, can you do a:
cd /System/Library/Caches/com.apple.kext.caches/Startup/
Than a :
ls -la

take a screenshot and send me.

here it is:
 
Well I tried multiple times including using two more usb sticks and I keep getting same result: no such file or directory. I am going to quit
 
If this works . .it is a revelation for our cMP's ! I'll give it a try as time allows and report back. Kudos to the OP.
 
  • Like
Reactions: dabotsonline
Would be interesting to see if any existing USB3 / NVMe EFI driver is able to run on Apples EFI 1.1 implementation. Could e.g. be flashed to the SPI flash of a GPU, which is definitely less hassle than messing around with the boot rom.

Has anyone tried Clover's NVMExpress.efi to see if it works in a MacPro?

Assuming rEFIt has a fat driver, you could copy the NVMExpress.efi to your EFI partition, then boot rEFIt and go to the shell. Assuming your EFI partition is mapped to fs0: Then just type:

fs0:<cr>

Then:

load NVMExpress.efi<cr>

Then:

devices<cr>

Use the page up key to see if your nvme drive is present.
 
NVMe SSDs are supported natively now in High Sierra. Just get a PCIe adapter card and you're good to go.
 
  • Like
Reactions: itdk92
Has anyone tried Clover's NVMExpress.efi to see if it works in a MacPro?

Assuming rEFIt has a fat driver, you could copy the NVMExpress.efi to your EFI partition, then boot rEFIt and go to the shell. Assuming your EFI partition is mapped to fs0: Then just type:

fs0:<cr>

Then:

load NVMExpress.efi<cr>

Then:

devices<cr>

Use the page up key to see if your nvme drive is present.
I think I forgot a step, after issuing the load command, I think you have to issue the "reconnect -r" command to load the new driver on you nvme device.
 
  • Like
Reactions: dabotsonline
So I got it to work. But now in Startup disk I can only see the NVME disk, and if I choose that, I can't reboot. Startup disk can't see the SSD NVMEBoot.

If I hold ALT, I can select the NVMEBoot SSD I have created.
Do I have to hold ALT every restart? (= which would make this not an option without an EFI card)
 
So I got it to work. But now in Startup disk I can only see the NVME disk, and if I choose that, I can't reboot. Startup disk can't see the SSD NVMEBoot.

If I hold ALT, I can select the NVMEBoot SSD I have created.
Do I have to hold ALT every restart? (= which would make this not an option without an EFI card)

Hopefully the rEFInd / Clover project will have some progress. This is possible to replace the native Apple boot manager, and no more require Apple EFI GPU.
 
What happens if you hold Ctrl and then hit Return at boot screen? It should set NVME as startup disk.
It can be blessed from Terminal too if you know what partition and/or exact file to bless.

But do I have to bless before every restarts?

For now it worked without doing it all the time, but I just need to know in which situations that bless does not work anymore.
 
But do I have to bless before every restarts?

For now it worked without doing it all the time, but I just need to know in which situations that bless does not work anymore.
No, after setting startup disk you're good until you reset PRAM or choose another disk as startup (but second one is obvious).

Edit: also, bless and setting startup disk from terminal didn't work for me with SIP enabled. I was booting into Windows EFI with non flashed card.
Setting startup disk from boot screen by holding Ctrl should work in any case.
 
  • Like
Reactions: dabotsonline
So I got it to work. But now in Startup disk I can only see the NVME disk, and if I choose that, I can't reboot. Startup disk can't see the SSD NVMEBoot.

If I hold ALT, I can select the NVMEBoot SSD I have created.
Do I have to hold ALT every restart? (= which would make this not an option without an EFI card)

So you used the NVMExpress driver from Clover, and you were able to boot a NVME SSD on a cMP?

As was said, you should be able to bless the drive from the terminal, but you'll have to disable SIP to run the command, or at least the part of SIP that protects NVRam. Tho, once you have blessed the drive, you should then be able to re-enable SIP.

EDIT: Tho, I'm not sure blessing the drive is going to work, because the NVME EFI driver needs to be loaded, first. If you bless the disk, the driver won't be loaded a t boot time.

I assume you used rEFInd's EFI shell to load the driver in the first place?
 
Last edited:
  • Like
Reactions: dabotsonline
I am on 10.13.1 with a 500GB 960 EVO as a boot drive, with an SSD for the redirect.

I can't seem to update to 10.13.2?

It looks like it's updating, but when it boots, it's 10.13.1 again.
Any clue about what might be the issue?
 
  • Like
Reactions: dabotsonline
I am on 10.13.1 with a 500GB 960 EVO as a boot drive, with an SSD for the redirect.

I can't seem to update to 10.13.2?

It looks like it's updating, but when it boots, it's 10.13.1 again.
Any clue about what might be the issue?

Tried the terminal update method?

A normal update involve rebooting. A redirected boot may disturb the normal upgrade process.
 
  • Like
Reactions: dabotsonline
Status
Not open for further replies.
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.