Von OS X in Windows booten ohne Clover-Boot-Menu

  • Lokus 2 Fragen:

    - Welche Einträge hast Du im BIOS im Bootmenü, und in welcher Reihenfolge?

    - Wäre es für Dich okay, wenn Windows im Clover als dauerhaftes Standard-OS stehen würde (automatischer Windows-Boot mit Timer, macOS nur mit manueller Auswahl)?

  • Hast du Paragon NTFS mal deaktiviert / deinstalliert und geschaut, ob dann das Bootcamp Volume wieder als Startvolume anwählbar ist?


    Ja, ich habe es deinstalliert, leider gleiches Problem wie auf dem Screenshot. Auch MacFuse und Paragon ExtFS habe ich deinstalliert, es kommt noch immer die Fehlermeldung von dem Screenshot (... bless-tool kann Startvolume nicht festlegen)


    Danke, soweit war ich auch, nur bin ich am automatischen Einbinden der EFI gescheitert.


    Lokus 2 Fragen:

    - Welche Einträge hast Du im BIOS im Bootmenü, und in welcher Reihenfolge?

    - Wäre es für Dich okay, wenn Windows im Clover als dauerhaftes Standard-OS stehen würde (automatischer Windows-Boot mit Timer, macOS nur mit manueller Auswahl)?


    zu 1. Muss ich gleich mal schauen. Reiche einen Screenshot nach

    zu 2. Nein :S Ich mag Mac lieber als Windows. Außerdem ist es mein Haupt-OS. Windows ist nur zum Zocken oder für Programme, die es fürn Mac nicht gibt.

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

  • Oh, wie ich gerade sehe hatte al6042 schon die Idee :)


    Gibt es sowas wie ein Autostart bei macOS, entweder im GUI oder crontab oder autorun.sh oder sowas? Sollte direkt als root und nicht im User-Kontext ausgeführt werden, sonst gibt's ne Passwortabfrage. Zum mounten reicht ja z.B. diskutil mount disk0s1

  • Ja hier bei unter User.



  • Wenn diese Einträge entweder als root ausgeführt werden können oder man das Account Passwort übermitteln kann dann kann EFI automatisch gemounted werden. Ich teste mal fix.


    EDIT: Schade, die Funktion erkennt ein sh-Script als "Reines Textdokument", d.h. es wird nicht ausgeführt sondern im Text Editor geöffnet °_° Ich arbeite weiter, ist ja Unix im Hintergrund, das kann das auf jeden Fall ;)

  • Ich suche grad nach einer Lösung für das Problem mit dem bless-tool (siehe Screenshot).

    Ein Vorschlag war NVRAM resetten. Kann ich das bedenkenlos machen?

    Ein anderer Vorschlag ist mit dem App Winclone die EFI bootbar machen, das klappt aber nicht, weil im App die Meldung kommt, dass er die EFI nicht mounten kann :(

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

  • Mit dem Automator kannst du ein Script in ein Programm auch mit Root Rechten integrieren. Dann gehts mit dem Autostart.

  • Mit dem Automator kannst du ein Script in ein Programm auch mit Root Rechten integrieren. Dann gehts mit dem Autostart.

    Das hätte ich eben gerne geschrieben ;)


    EDIT: Mensch, warum verschwindet bei mir manchmal das Eingabefeld zum antworten? :(


    Hier die Lösung zum automatischen mounten deiner EFI-Partition:


    1) Launchpad > Andere > Automator

    2) Wähle eine Art für das Dokument aus: Programm

    3) Mediathek einblenden

    4) Unter Bibliothek > Dienstprogramme Doppelklick auf AppleScript ausführen

    5) (* Your script goes here *) mit do shell script "diskutil mount disk0s1" user name "BENUTZERNAME" password "PASSWORT" with administrator privileges ersetzen (BENUTZERNAME und PASSWORT solltest du anpassen ;))

    6) Ablage > Sichern

    7) Die soeben gespeicherte Programm in "Systemeinstellungen > Benutzer & Gruppen > Anmeldeobjekte" einfügen

    8) Fertig

    Einmal editiert, zuletzt von an3k ()

  • Das User innerhalb von 24 Stunden nicht auf ihre eigenen Posts antworten können ist unser SPAM-Schutz.

    Aber du hast ja die "Bearbeiten"-Funktion gefunden und erfolgreich eingesetzt... :)

    Gruß
    Al6042

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

  • Wow! Super!! Vielen Dank für deine Hilfe! :danke:
    Werde ich heute abend mal ausprobieren!

    EDIT: an3k Klappt super! Vielen Dank! Jetzt schau ich mal, dass ich das ganze Skript erstelle. Also inkl. umbenennen der Datei.

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

    Einmal editiert, zuletzt von Lokus ()

  • So, hat geklappt, hier das fertige Script, um die config.plist umzubennen. Ist eigentlich relativ simpel.


    do shell script "diskutil mount disk0s1" user name "User" password "xxx" with administrator privileges


    tell application "Finder"

    set the name of file "EFI:EFI:CLOVER:config_boot_win.plist" to "config.plist"

    end tell



    EDIT:

    Sobald ich alles hinbekommen habe, gibt es hier ein Update für die, die diese Funktion auch haben möchten.

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

  • Dann fehlt ja nur noch der Neustart:

    Code
    1. tell application "Finder"
    2. shutdown -r now
    3. end tell
  • Man könnte auch alles ohne den Finder machen, anstelle

    einfach

    Code
    1. do shell script "diskutil mount disk0s1" user name "User" password "xxx" with administrator privileges
    2. do shell script "mv /Volumes/EFI/EFI/CLOVER/config.plist /Volumes/EFI/EFI/CLOVER/config_boot_mac.plist" user name "User" password "xxx" with administrator privileges
    3. do shell script "mv /Volumes/EFI/EFI/CLOVER/config_boot_win.plist /Volumes/EFI/EFI/CLOVER/config.plist" user name "User" password "xxx" with administrator privileges
    4. do shell script "shutdown -r now" user name "User" password "xxx" with administrator privileges


    Ergebnis sollte das gleiche sein, sieht vielleicht schöner aus :D


    P.S. Muss man den Finder zweimal "tellen" oder reicht einmal tell finder, dann beide Befehle und dann end tell?


    EDIT: Script gefixt da bisher die config.plist für macOS durch das umbenennen der config_boot_win.plist überschrieben wurde. Will man doch nicht ;)

  • g-force und an3k

    Danke für eure Hilfe!

    Mein Script sieht aktuell so aus:


    Code
    1. do shell script "diskutil mount disk3s1" user name "user" password "passwort" with administrator privileges
    2. do shell script "cp Volumes/EFI/EFI/CLOVER/config_boot_win.plist Volumes/EFI/EFI/CLOVER/config.plist"
    3. tell application "Finder"
    4. restart
    5. end tell


    Und es funktioniert erstmal wie es soll.

    Dabei muss jedoch damit Clover ohne Timer direkt in Windows bootet in der veränderten config.plist das hier angegeben werden:


    Code
    1. <key>DefaultLoader</key>
    2. <string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
    3. <key>DefaultVolume</key>
    4. <string>EFI</string>


    Außerdem habe ich mal den Ordner "Microsoft\Boot\" von der Windows EFI kopiert.

    Das hatte ich in einem Forenthread gelesen...


    Das aktuelle Problem, was ich jetzt habe, ist jedoch, dass der Volume Identifier meiner Festplatten nach einem Neustart sich scheinbar beliebig verändert!!
    Wenn ich mit Clover Configurator nachgucke, wechseln die Bezeichnungen lustig durch... Mal ist es disk01s1 mal, disk02s1 oder disk3s1...
    Habe das Problem mal gegoogelt, aber noch keine schnell umsetzbare Lösung gefunden. Oder kann man anstatt disk3s1 auch was anderes angeben?

    Weiteres Problem ist, dass unter Windows das zurückumbenennen der config.plist leider aufwendig zu sein scheint. Die EFI zu mounten und zu bearbeiten geht scheinbar nur mit Hilfsprogrammen :(

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

  • Also die Festplatte von der macOS gebootet wird sollte eigentlich immer disk0 sein, das erste Volume (EFI) disk0s1 und das zweite (macOS) disk0s2. Die restlichen Laufwerke, egal ob intern oder extern, USB oder HDD werden wild durchgemischt.


    Zum Thema Windows und EFI mounten würde https://ss64.com/nt/mountvol.html funktionieren. Du willst VolumeName benutzen was die eindeutige Identifikationsnummer der Festplatte benutzt. Ist normales Batch, also normale Textdatei erstellen, code reinschreiben, speichern und Dateiendung von .txt auf .cmd ändern, fertig :)


    Zurück zu den durcheinander gewürfelten disk names: Du kannst auch hier direkt per UUID mounten. diskutil info disk0s1 (wenn das deine EFI ist) und dir wird die Volume UUID and Disk / Partition UUID ausgegeben. Gemountet wird dann ganz normal nur anstelle disk0s1 die UUID, z.B. sudo diskutil mount VolumeUUID

  • Durch ein anderes Projekt folgendes herausgefunden:


    Um in Windows die EFI-Partition zu mounten:


    MOUNTVOL U: /S


    Um diese zu unmounten:


    MOUNTVOL U: /D


    Tausche U: gegen einen Laufwerksbuchstaben aus, der nicht vergeben ist. Ist die EFI gemountet kannst du diese nur lesen/schreiben wenn du die Eingabeaufforderung als Administrator ausführst. Leider kann man eine Batch-Datei nicht so einstellen, dass diese permanent als Administrator ausgeführt wird; es gibt aber ein paar Lösungen:

    a) http://www.nirsoft.net/utils/nircmd.html - Am Ende der Seite finden sich die Downloads. Idealerweise kommt der "NirCmd 64-bit"-Download in C:\Windows\system32 und "NirCmd"-Download in C:\Windows\SysWOW64. In deinem Script rufst du dann z.B. nircmdc.exe elevate CMD.EXE /K mountvol U: /S zum mounten, nircmdc.exe elevate CMD.EXE /K RENAME U:\EFI\COLVER\config.plist config_mac.plist zum umbenennen und nircmdc.exe elevate CMD.EXE /K mountvol U: /D zum unmounten auf. nircmdc.exe ist das Tool, elevate führt die nachfolgende Datei als Admin aus, CMD.EXE ist die Eingabeaufforderung von Windows, /K bedeutet das neue Fenster der Eingabeaufforderung in dem dein Befehl ausgeführt wird nach Ausführung geschlossen wird, danach kommen die normalen "Konsolenbefehle".

    b) http://www.f2ko.de/en/b2e.php - Du schreibst deine Batch ganz normal, d.h. direkt MOUNTVOL U: /S usw. Du kannst sie testen indem du sie per Rechtsklick "Als Administrator ausführst". Wenn alles funktioniert wandelst du deine Batch mit dem Tool in eine EXE-Datei um. Im Tool "Administrator Manifest hinzufügen" aktivieren.

  • an3k

    Klasse! Vielen Dank für deine Hilfe und Unterstützung!

    Ich werde es die Tage mal ausprobieren und mich dann wieder melden! Wenn ich alles hinbekommen habe, gibts ein kleines Tutorial, wo alles beschrieben wird :)

    EDIT: Es könnte übrigens noch das Problem geben, dass Dateien auf der EFI nur mit einem bestimmten Programm verändert werden können. Das wiederum bedeutet möglicherweise, dass man das per Batch-Datei nicht realisieren kann. Aber ich schau mal...

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

  • So, ich habs jetzt endlich hinbekommen und es läuft ohne Probleme!
    Hier nun ein kleiner Guide, wie man eine 1-Klick-Lösung hinbekommt, damit man von MacOS in Windows (10) und zurück booten kann ohne eine weitere Interaktion beim Neustart/Bootvorgang.


    Booten von MacOS in Windows per AppleSkript:


    Code
    1. do shell script "diskutil mount 05619B5E-B239-4396-AEEA-6DC7A2C4F409" user name "Benutzer" password "Passwort" with administrator privileges
    2. do shell script "cp Volumes/EFI/EFI/CLOVER/config_boot_win.plist Volumes/EFI/EFI/CLOVER/config.plist"
    3. do shell script "diskutil umount 05619B5E-B239-4396-AEEA-6DC7A2C4F409" user name "Benutzer" password "Passwort" with administrator privileges
    4. tell application "Finder"
    5. restart
    6. end tell


    Bei mir war es wichtig, nach mount die Disk UUID anzugeben. Die findet man im Clover Configurator unter Mount EFI -> Partition Scheme.
    Benutzer und Passwort müssen natürlich auch noch angepasst werden.
    In der nächsten Zeile wird die ursprüngliche config.plist mit einer config.plist, die hier "config_boot_win.plist" heißt, überschrieben. Diese config_boot_win.plist ist die originale config.plist mit folgenden Änderungen:

    Code
    1. <key>DefaultLoader</key>
    2. <string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
    3. <key>DefaultVolume</key>
    4. <string>EFI</string>
    5. <key>Legacy</key>
    6. <string>PBR</string>
    7. <key>NeverDoRecovery</key>
    8. <true/>
    9. <key>Timeout</key>
    10. <integer>0</integer>



    Booten von Windows in Mac OS


    Das war etwas komplizierter und es gab weitere Problemchen, die aber gelöst werden konnten. Es funktioniert nun wie folgt:


    1. Zunächst muss man die EFI-Partition mounten und ihr einen Laufwerksbuchstaben zuweisen. Das kann wahrscheinlich, so wie an3k beschrieben hat, klappen, ich habe es aber mit einem Programm gemacht, wie hier beschrieben: klick

    2. Folgendes Powershell Skript muss erstellt werden:


    Code
    1. copy F:\EFI\clover\config_boot_mac.plist F:\EFI\clover\config.plist
    2. Restart-Computer

    Ähnlich wie beim oberen Skript, wird die config.plist mit einer conflig_boot_mac.plist überschrieben, die nun wieder so aufgebaut ist, dass automatisch bei jedem Neustart MacOS gebootet wird. (Die config_boot_mac.plist am besten unter MacOs erstellen, da man Dateien auf der EFI in Windows nicht im normalen Explorer editieren kann)


    Dafür wieder folgende Einträge auf den Normalzustand ändern:


    Code
    1. <key>DefaultLoader</key>
    2. <string>boot.efi</string>
    3. <key>DefaultVolume</key>
    4. <string>Macintosh HD</string>
    5. <key>Legacy</key>
    6. <string>PBR</string>
    7. <key>NeverDoRecovery</key>
    8. <true/>
    9. <key>Timeout</key>
    10. <integer>5</integer>


    Das Powershell-Skript muss zwingend mit Administrator-Rechten ausgeführt werden. Damit das geht, muss eine Verknüpfung für das Skript in Windows erstellt werden, wo man mit einem Rechts-Klick auf die Verknüpfung und bei -> Eigenschaften -> Erweitert ... ein Häkchen bei dem entsprechenden Feld setzen kann, sodass die Verknüpfung bzw. dann das Skript immer mit Admin-Rechten ausgeführt wird.


    Im Clover-Ordner haben wir am Ende dann drei config.plist (bzw. vier, ich habe vorsichtshalber ein Backup der Original-Datei gemacht, bevor ich daran rumgefrickelt habe):



    So sollte nun alles reibungslos funktionieren! Falls doch nicht, bitte melden! Ich hatte nämlich noch einen Zwischenschritt (Rechte ändern unter Windows für das Ausführen von Powershell-Skripten), ich glaube, dass der aber nicht notwendig war. Leider habe ich auch vergessen, was genau ich gemacht habe (kann ich aber rausfinden bei Bedarf).

    Hackintosh:
    Intel i9 9900K - Gigabyte Z370 HD3P - Asus Radeon RX 560 (MacOS) - Gigabyte 3080 Gaming OC (Win) - Crucial Ballistix Elite 16GB DDR4 2666 - Samsung 860 Evo 500GB - Samsung 860 Evo 1Tb - WD Black SN750 1Tb - OS: Win10 & Big Sur (OC 0.64)

  • Community Bot

    Hat das Label Erledigt hinzugefügt