Anleitung: Sierra auf NVMe SSD installieren (Clover)

  • Hallo zusammen,


    da mir eine Anleitung bei meiner Installation von Sierra auf einer NVMe SSD gefehlt hat und deswegen einige Probleme hatte, wollte ich nun Anderen mit ähnlichen Vorhaben diese Schwierigkeiten ersparen und eine Anleitung zur Installation von Sierra auf NVMe SSDs schreiben. ;)


    Meine Wichtigste Quelle ist dabei diese Seite, auf der ähnliche Infos zusammen getragen sind, die ich hier nun zusammenfassen und übersetzen möchte.



    1. Installation vom Bootstick

    Ich gehe davon aus, dass Sierra vom Bootstick aus Installiert wird. Unter Sierra werden eine Reihe Patches benötigt, um auf NVMe SSDs zugreifen zu können. Beim Erstellen des Bootsticks für Sierra müssen dazu in Clover die richtigen Patches für Sierra eingetragen werden. Da das 16 PatchToKext- Eintragungen sind empfiehlt es sich, die config.plist mit einem Text- Editor zu öffnen und die Patches einfach per Copy&Paste einzutragen…


    Aktuelle Patches findet man auf der oben genannten Seite.


    Die Patches beziehen sich auf den Kext mit dem Namen IONVMeFamily.kext, der im fertig installierten Sierra unter /System/Library/Extensions zu finden ist. Allerdings wird dieser beim Booten von der Installationspartition des Bootsticks nicht geladen, d.h. unsere NVMe SSD würde im Installationsprogramm nicht angezeigt werden. Das kann man verhindern. Die einfachste Möglichkeit ist es, den entsprechenden Kext in Clover einfach unter CLOVER/kexts/10.12 zu hinterlegen. Die aktuelle IONVMeFamily.kext aus der Version 10.12.1 findet Ihr im Anhang.


    Eine Andere Möglichkeit ist es, den Kext im Installationsprogramm nachträglich zu laden, falls man vergessen hat den Kext vorher einzubinden…


    Danach kann man die Installation so ausführen, wie sie in diversen anderen Anleitungen hier beschrieben ist.


    2. Post- Installation


    Nach dem Installieren kann man jetzt den EFI- Ordner im Rahmen der Post-Installation kopieren, die zusätzlich eingebunde IONVMeFamily.kext in Clover bräuchtet Ihr nun nicht mehr. Allerdings besteht ein Problem. Bei einem möglichen Update von Sierra könnte IONVMeFamily.kext verändert werden. Die Folge wären womöglich falsche KextsToPatch Einträge in Clover. Da es so viele Einträge sind, könnten unter Umständen nur einzelne Patches betroffen sein, sodass man falsche Patches nicht sofort bemerken könnte.


    Eine Lösung und sehr elegante Variante ist das NVMe Patching Script von RehabMan. Damit kann direkt ein NVMe- Kext erstellen, der alle Patches bereits beinhaltet und somit keine weiteren Clover- Patches nötig sind.


    Dazu lädt man sich alle Dateien komplett als .zip herunter. Man hat nun einen Ordner patch-nvme-master. Im Terminal gibt man folgendes ein:


    Code
    1. cd /Pfad/zum/Verzeichnis/patch-nvme-master


    und danach


    Code
    1. /Pfad/zum/Verzeichnis/patch-nvme-master/patch_nvme.sh 10_12_1


    Je nachdem für welche Sierra Version man den Kext erstellen möchte, schreibt man als Parameter die entsprechende Versionsnummer mit Unterstrichen statt Punkten. Dann sollte ein Kext namens HackrNVMeFamily-10_12_1.kext erstellt worden sein.


    Dieser Kext wird dann in die EFI Partition wieder nach CLOVER/kexts/10.12 kopiert. Dazu müssen alle alten IONVMeFamily- Patches aus der config.plist gelöscht werden. Zudem muss im System unter System/Library/Extensions die IONVMeFamily.kext entfernt werden.


    Danach einen Neustart machen und Sierra sollte wie gewöhnlich von der NVMe SSD booten können.


    Ich habe für die Version 10.12.1 mal den fertig gepatchten Kext mit angehängt, den kann man direkt so verwenden.

  • Vielen dank dafür.
    Meine NVM-SSD wird leider auch damit nicht erkannt :(
    Ich habe die in CLOVER/kexts/other geschoben und nicht 10.12 sollte ja keinen Unterschied machen oder?


    PS: habe die 10_12_1 genommen und in IONVMeFamily.kext umbenannt


    Sind wohl zwei Unterschiedliche Dateien und die erste wird wohl gehen..

    Laptop: Acer Aspire E15 E5-575-57NR, 8GB RAM, I5-6267U, macOS High Sierra 10.13.2 (17C88)

  • Was für eine NVMe SSD hast du denn?


    Vielleicht sollte man mal die KextsToPatch-Einträge prüfen.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Das sollte die hier sein: http://ssd.skhynix.com/ssd/en/about/m_2.jsp


    Die wird einfach bei der Installation nicht ausgegeben, ich finde lediglich nur meine vom USB-Stick. Auch im Terminal ist mit "diskutil list" nichts zu finden

    Laptop: Acer Aspire E15 E5-575-57NR, 8GB RAM, I5-6267U, macOS High Sierra 10.13.2 (17C88)

    2 Mal editiert, zuletzt von Evolutio ()

  • Das Problem kenne ich...


    DIe erwähnten KextsToPatch-Einträge sind sehr umfangreich und beinhalten einen Punkt, an dem in dem benötigten Kext die sogenannte Vendor- und Device-ID der SSD eingesetzt wird.
    DIe musst du erst herausfinden.
    Dafür solltest du am besten mit einer Linux LiveCD booten und dort im Terminal den folgenden Befehl ausführen:

    Code
    1. lspci -nn > ~/Desktop/Hardware.txt


    Diese Datei kannst du hier dann mal posten und ich bereite die KextsToPatch-Einträge vor, damit du die mit einem einfachen Texteditor, wie z.B. Textmate, in die config.plist einbauen kannst.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Hallo zusammen,
    ich habe mal eine generelle Frage zu den M.2-SSD`s
    wir wollten eine 250GB Samsung 960 Evo M.2 2280 NVMe PCIe 3.0 x4 32Gb/s 3D-NAND TLC Toggle (MZ-V6E250BW)(123,-Euro)
    einbauen, soll auf ein GA-Z170X-UD3.
    kann man den M.2-Slot direkt benutzen, oder muss man einen Adapter auf PCIe haben, um die ganze Performance auszunutzen?
    Es soll auch mit Sierra laufen.

  • Hallo,


    hier meine Hardware.txt, die Hardware-2.txt ist mit lspci -nnv gemacht worden


    Ich glaube die Vendor-ID oder Device-ID ist: 9d03 (Vendor) und 8086 (Device), kann das?

    Dateien

    • Hardware.txt

      (1,68 kB, 284 Mal heruntergeladen, zuletzt: )
    • config.plist

      (7,02 kB, 411 Mal heruntergeladen, zuletzt: )
    • Hardware-2.txt

      (6,47 kB, 295 Mal heruntergeladen, zuletzt: )

    Laptop: Acer Aspire E15 E5-575-57NR, 8GB RAM, I5-6267U, macOS High Sierra 10.13.2 (17C88)

    4 Mal editiert, zuletzt von Evolutio ()

  • @worschdsupp: du kannst dierekt den M.2 Slot nehmen dafür ist der ja da ;)


    @Evolutio: für die Installation würde ich nicht den HackrKext nehmen, sondern die KextToPatch Einträge in Clover. Je nachdem welche Version Du installierst musst Du die richtigen Einträge einbinden, denn da gibt es teilweise Unterschiede. Die aktuellsten findest Du aber oben im Link in der Anleitung. Dann musst Du, wenn Du im OS X base System bist, dort im Terminal die NVMeFamily.kext manuell laden (leider weiß ich grad den Befehl nicht...) dann solltest Du im Festplattendienstprogramm die SSD angezeigt bekommen.


    Den Kext Vorher in den Clover Ordner legen musst Du dann nicht.

    Der Fehler sitzt immer vor dem Computer... :wallbash:

  • Für die Installation verwende ich nicht die "HackrKext". Es ist gar nicht so einfach die richtigen Einträge zu finden. Deswegen sollte ich wohl auch meine Device ID oder Vendor ID raussuchen.

    Laptop: Acer Aspire E15 E5-575-57NR, 8GB RAM, I5-6267U, macOS High Sierra 10.13.2 (17C88)

  • @Evolutio
    So wie es aussieht, handelt es sich bei deiner Hardware um einen Acer Laptop...
    Dieser spricht wohl per SATA mit der SSD, da sich keine Hinweise auf einen dedizierten NVMe-Controller sehen lassen.
    Da helfen dann aber auch die KextsToPatch-Einträge nicht...
    Versuche es mal mit beiliegendem Kext.

    Dateien

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Hallo, ich habe nun die Samsung M.2 NVMe 960 EVO-250GB gekauft.
    Diese soll in einem Hacki angeschlossen werden.
    Konfiguration ist folgende:
    GA-Z97X-UD3H BK
    Intel Xeon E3-1231-V3
    16GB RAM DDR3
    Geforce GTX670
    alle OSX-Versionen laufen fehlerfrei (12.2, 11.6, 10.5)
    das Problem im Moment... ich finde nicht die SSD-M.2, in der laufenden aktuellen OSX, habe ich den Patch (siehe oben) gemacht,
    und einen HackrNVMeFamily-10_12_2.kext erstellt, aber darin finde ich nicht die ID der Samsung M.e(144d:a804)
    dieser ist in dem Kext-Ordner von Clover auf dem Boot-Stick.
    wenn ich den kext in meine laufende 10.12.2 einbaue, gibt es einen Panik.
    kann mir bitte einer unter die "Arme greifen" und etwas Licht ins Dunkle zu bringen.
    Ziel ist es Sierra 10.12.2 darauf zu installieren, und davon zu booten, per Clover versteht sich.


    lg
    Harry

  • Das mit dem dedizierten Kext ist deswegen ein Problem, da er meistens eben diese Vendor-/Device-ID mit einer anderen überschreibt.
    Hatte die Situation hier auch und bin einfach auf die KextsToPatch-Einträge umgesattelt.
    Dabei kann man die Änderung der Info.plist von "pci144d,a804" auf "pci144d,a802" aussen vor lassen und dann funktioniert es... ;)


    Wenn du noch bei der eigentlichen Installation bist, muss hier aber der IONVMEFamily.kext in Clover als "ForceKextsToLoad" eingetragen werden:

    Achte darauf, dass hier der "Backslash" und nicht der "Slash" als Trennzeichen der Verzeichnisse genutzt wird.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Hi, würde dann gerne auch Kext-to-patch in die config.plist verwenden, bin noch am Boot-Install-Problem.
    an welcher Stelle in der config.plist .....muss ich die ID der Samsung eintragen ???
    wie komme ich zu den Einträgen, wie sie in dem Bild zu sehen sind?

  • Mit den obigen KextsToPatch-Einträgen musst du die ID der Samsung garnicht eintragen, da sie bereits in der IONVMeFamily integriert ist... :)


    Die Einträge kannst du sehen, wenn du deine Config.plist mit einem einfachen Editor wie "TextEdit" oder "TextMate" öffnest.
    Darin suchst du nach dem Bereich

    Code
    1. <key>KextsToPatch</key>
    2. <array>


    und packst die Einträge gerade dazu... natürlich nur die Elemente, die innerhalb des Bereichen <array> und </array> zu sehen sind.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Hallo, irgendwie bin ich zu "doof" das zu editieren.
    wahrscheinlich Syntax-Fehler.... immer wenn ich nach dem editieren nochmals nachprüfe, sind die gemachten Einträge verschwunden... ich mach das mit copy-paste und Text-Mate.
    Aber könntest du mir nicht deine config.plist zukommen lassen, bitte....
    wäre ne feine Sache....DANKE schon mal
    anbei meine bisherige config.plist in Clover

    Dateien

    • config.plist.zip

      (2,21 kB, 213 Mal heruntergeladen, zuletzt: )

    Einmal editiert, zuletzt von bananaskin ()

  • Meine Config.plist wird dir nicht helfen.
    Poste lieber deine, ich packe die Daten rein und sage dir im Nachgang, wo das Problem lag.

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • upps, war ich zu langsam

  • Versuche es mal damit...


    Der Haken lag bei dir, dass noch kein einziger KextsToPatch-Eintrag zu finden und somit natürlich das beschriebene Segment

    Code
    1. <key>KextsToPatch</key>
    2. <array>


    noch nicht vorhanden war.
    In dem Fall hilft es, im Clover Configurator einen Dummy-Eintrag zu erstellen.
    Zum Beispiel:

    Comment Test
    Name Test
    Find 00
    Replace 01


    Dann die Datei einmal im Clover Configurator sichern und mit dem Textmate erneut öffnen.
    Dann findet man auch das Segment und kann die anderen Einträge entsprechend rein kopieren.

    Dateien

    • config.plist

      (10,26 kB, 358 Mal heruntergeladen, zuletzt: )

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • Jeeep, die Installation läuft gerade.....
    Wie ist die beste, eleganteste Lösung von NVMe zu booten ?
    reicht es diese config.plist in den "neuen erstellten" Clover rein zu kopieren??


    vielen lieben Dank schon mal.... das wird noch ne lange Nacht, der Ehrgeiz hat mich jetzt gepackt!!
    wie mein Papa schon immer sagte ...geht nicht , gibt`s nicht

  • ;) Ein weiser Mann... ;)
    Jupp... du kannst nach der Installation den kompletten Clover Ordner von der USB-EFI auf die EFI der SSD kopieren und dann diese im BIOS als Boot-Platte auswählen.
    Sollte direkt schnurren. :)

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!