Hyper-V in Windows 10 auf dem MacBook Pro

Ich erwäge einen Mac als meine Hauptentwicklungsmaschine und werde die meiste Zeit Windows für meine Entwicklungsarbeit verwenden müssen.

Laut dem Apple-Support-Artikel Turn off Hyper-V to use Windows 10 on your Mac ist es nicht möglich, Hyper-V in Windows 10 auf einem Mac in Boot Camp zu verwenden.

Dies ist eine große Einschränkung für mich, da es auch bedeutet, dass es unmöglich sein wird, Docker-Windows-Container auf einem Mac zu verwenden, da sie Hyper-V erfordern.

Gibt es dafür praktische Lösungsansätze?

Antworten (3)

Wissen Sie, dass dies ein Jahr alt ist, aber anstatt Parallels zu verwenden und unter verschachtelter Virtualisierung zu leiden, können Sie VT-x aktivieren, bevor Windows hochfährt, indem Sie den rEFInd-Bootloader verwenden. Dies ist der Blogbeitrag, den ich darüber geschrieben habe, wie man es macht:

http://nuts4.net/post/hack-force-vt-x-to-be-always-on-when-booting-to-windows-on-your-macbook

WARNUNG : Während dies auf vielen Intel-basierten Macs funktioniert hat, verwirrt rEFInd die modellspezifischen Register auf dem Intel-Prozessor, um VT-x zu aktivieren. Wenn Apple jemals einen AMD-basierten Laptop herausbringen sollte oder Intel in zukünftigen Versionen seiner Chips massive Änderungen an seinen MSRs vornimmt, stellen Sie sicher, dass rEFInd Ihren spezifischen Prozessor unterstützt! Sie tun diese Schritte auf eigene Gefahr.

  1. Gehen Sie hierher und laden Sie rEFInd (die Zip-Version) herunter: http://www.rodsbooks.com/refind/getting.html
  2. Extrahieren Sie die ZIP-Datei in einen Ordner, öffnen Sie den refind-Ordner und bearbeiten Sie refind.conf-sample.
  3. In refind.conf-sample: Setzen Sie das Timeout auf 5 Sekunden (oder was auch immer Sie wollen) Suchen Sie enable_and_lock_vmx, kommentieren Sie die Zeile aus und setzen Sie sie auf true
  4. Fahren Sie Ihren Computer herunter.
  5. Halten Sie nach dem Wiedereinschalten die Befehlstaste + R gedrückt, bevor das Glockenspiel / Apple-Logo angezeigt wird, um Apple Recovery zu starten.
  6. Gehen Sie in Apple Recovery zu Dienstprogramme -> Terminal.
  7. Navigieren Sie zu dem Ordner, in den Sie rEFInd extrahiert haben, und führen Sie ./refind-install aus
  8. Wenn eine Warnung zu SIP (System Integrity Protection) erscheint, drücken Sie „y“ und fahren Sie mit der Installation fort. Wir befinden uns im Wiederherstellungsmodus, daher sollte SIP an dieser Stelle deaktiviert werden.
  9. Hinweis: Das Installationsprogramm kopiert die Datei refind.conf-sample nach EFI/refind/refind.conf auf Ihrer ESP-Partition. Wenn Sie die Einstellungen später ändern müssen, müssen Sie die Partition zuerst mounten (verwenden Sie die ersten beiden Befehle aus den Deinstallationsanweisungen unten, um sie zu mounten).
  10. Starten Sie Ihren Mac neu. (Jetzt friert Ihr Mac möglicherweise ein. Wenn dies der Fall ist, halten Sie den Netzschalter gedrückt, bis sich das LCD ausschaltet, und schalten Sie es dann wieder ein.)

Sie werden von einem GUI-Bootloader-Menü begrüßt, das das Betriebssystem, auf dem Sie sich befanden, als Standard lädt. In meinem Fall war dies Windows, und Hyper-V funktionierte bei einem Kaltstart einwandfrei!

Wenn Sie zufällig etwas anderes als Hyper-V verwenden möchten, müssen Sie bcdeditin Windows verwenden, um den Hypervisor zu deaktivieren (da Hyper-V die exklusive Kontrolle über VT-x übernimmt, sobald Windows gestartet wird):

bcdedit /set {current} hypervisorlaunchtype off<-- Deaktiviert Hyper-V

bcdedit /set {current} hypervisorlaunchtype on<-- Aktiviert Hyper-V

Dies liegt an der Einstellung der Unterstützung für CSM (Compatibility Support Module, das es im Grunde ermöglicht, dass ältere BIOS-Sachen auf neuen UEFI-basierten Systemen funktionieren) in den neuesten MacBook Pro-Modellen.

Es gibt zwei praktische Problemumgehungen:

  1. Verwenden Sie anstelle von BootCamp ein Virtualisierungssystem, das auf macOS ausgeführt wird, z. B. VMware Fusion, Parallels usw. Sie können die verschachtelte Virtualisierung verwenden, um die Docker-Container auf diese Weise mit Hyper-V unter Windows auszuführen.

  2. Kaufen Sie ein älteres Modell des MacBook Pro, das weiterhin das Booten von Windows 10 mit aktiviertem Hyper-V unterstützt.

Ich würde Option 1 empfehlen. Sowohl, weil ein neueres Modell normalerweise mehr fürs Geld bringt, als auch, weil Microsoft in Zukunft die Hyper-V-Funktionalität aktualisieren könnte, um auf reinen UEFI-Systemen ohne CSM wie dem neuesten MacBook Pro zu funktionieren .

Ist der einfachste Weg, Docker in Windows 10 Pro mit Parallels, der Docker Toolbox und der Aktivierung von Hyper-V zum Laufen zu bringen? Wie aktiviere ich Hyper-V? Verwandte Frage hier .

Das Navigieren zu dem Ordner, in den Sie rEFInd extrahiert haben, ist im MacOS-Wiederherstellungsmodus nicht so einfach. Es ist viel besser, rEFInd auf einem USB-Laufwerk zu installieren, das automatisch im Ordner „Volumes“ gemountet wird. Die richtige Methode zum Aktivieren von HYPER-V unter einer administrativen Eingabeaufforderung ist die Verwendung von AUTO e not ON.

bcdedit /set {current} hypervisorlaunchtype auto <-- Aktiviert Hyper-V