Das Boot Camp-Skript ist nach dem El Capitan-Update kaputt gegangen

Ich habe ein Skript, das ich vom Terminal aus aufrufe, um in meine Windows-Partition zu booten:

#! /bin/bash
sudo bless -mount "/Volumes/BOOTCAMP" -legacy -setBoot
sudo reboot

Nach dem Update auf El Capitan (10.11.1) kann ich es nicht mehr verwenden. Die Fehlermeldung besagt, dass eine Datenträgereigenschaft nicht festgelegt werden kann, daher vermute ich, dass dies mit den Sicherheitsfunktionen zusammenhängt, die in diesem Update hinzugefügt wurden.

Antworten (1)

Sie können die bootfähige Festplatte nicht mit bless festlegen, wenn der Systemintegritätsschutz aktiviert ist. Dies liegt daran, dass bless in NVRAM schreibt, was von SIP verboten ist. Aus diesem Grund kann Systemeinstellungen → Startvolume das Startvolume festlegen, andere Binärdateien jedoch nicht.

Um den Systemintegritätsschutz zu deaktivieren, können Sie Folgendes tun:

  1. Booten Sie in die Recovery HD, indem Sie neu starten, während Sie ⌘R gedrückt halten.
  2. Öffnen Sie Terminal (aus dem Menü Dienstprogramme).
  3. Führen Sie den folgenden Befehl im Terminal aus:

    csrutil disable
    
  4. Neu starten.

Quelle: OS X El Capitan Rootless deaktivieren und Schreibaktionen an Speicherorten des Systemintegritätsschutzes zulassen

Wann sollte ich mir Sorgen machen, dass SIP deaktiviert ist?
@Sean Es ermöglicht Apps, mit Ihrem Administratorkennwort (dh root) in /System, das NVRAM, zu schreiben und Code in andere laufende Prozesse einzufügen. Es ist neu in El Capitan und SIP deaktiviert war der Status von OS X in Yosemite und früher. Da die Systemeinstellungen zusammen mit dem Zertifikat von Apple entwickelt wurden, wird SIP umgangen, daher ist die Erstellung von Skripten für diese GUI möglicherweise vorzuziehen, um die Deaktivierung von SIP zu vermeiden.
Ich würde vermeiden, SIP zu deaktivieren und einen anderen Weg zu finden. Bless ist nicht der einzige, der das Startvolume festlegt, und die Verwendung von etwas wie Automator oder Applescript wird höchstwahrscheinlich von Apple unterstützt, was auf lange Sicht von Vorteil ist, da Updates es weniger wahrscheinlich beschädigen.