Von OS X in Windows booten ohne Clover-Boot-Menu
-
- Erledigt
- Lokus
- Erledigt
-
-
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)
Was mir gerade beim durchschauen meiner config.plist auf- und eingefallen ist: Boot>DefaultVolume
Ich vermute mal ganz dreist dieser Wert teilt Clover mit welches Volume gebootet werden soll. Da die config.plist eine XML-Datei ist kann man diesen Wert sehr einfach und sicher verändern. Man hat also auf dem macOS Schreibtisch eine Datei als auch auf dem Windows Desktop.
Auf macOS heißt sie Windows und beim ausführen wird die config.plist so geändert, dass Clover das Windows-Volume bootet, anschließend wird der Computer neu gestartet.
Auf Windows das gleiche Prinzip nur eben für macOS.
Hat man in der config.plist unter Boot>Timeout den Wert 0 dann sieht man Clover nicht mehr (hat aber immer noch die Möglichkeit per Pfeiltasten das Menü zu sehen).
Ich habe XML-Dateien immer mit PHP verändert, ich denke aber für perl oder bash (macOS) oder PowerShell (Windows) wird es wohl auch die Möglichkeit geben XML-Dateien direkt zu lesen/schreiben. Der Befehl zum Neustart ist eine Kleinigkeit (ich gehe davon aus, dass auch macOS solch eine Kommandozeile besitzt).
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 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.
-
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
-
-
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
-
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
Fertig
-
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...
-
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
Fertig
Wow! Super!! Vielen Dank für deine Hilfe!
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. -
Freut mich. Viel Erfolg!
-
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.
-
-
Man könnte auch alles ohne den Finder machen, anstelle
Code- 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.plist" to "config_boot_mac.plist"
- end tell
- tell application "Finder"
- set the name of file "EFI:EFI:CLOVER:config_boot_win.plist" to "config.plist"
- end tell
- tell application "Finder"
- shutdown -r now
- end tell
einfach
Code- do shell script "diskutil mount disk0s1" user name "User" password "xxx" with administrator privileges
- 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
- 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
- do shell script "shutdown -r now" user name "User" password "xxx" with administrator privileges
Ergebnis sollte das gleiche sein, sieht vielleicht schöner aus
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
-
Danke für eure Hilfe!
Mein Script sieht aktuell so aus: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:
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 -
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.
-
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... -
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- do shell script "diskutil mount 05619B5E-B239-4396-AEEA-6DC7A2C4F409" user name "Benutzer" password "Passwort" with administrator privileges
- do shell script "cp Volumes/EFI/EFI/CLOVER/config_boot_win.plist Volumes/EFI/EFI/CLOVER/config.plist"
- do shell script "diskutil umount 05619B5E-B239-4396-AEEA-6DC7A2C4F409" user name "Benutzer" password "Passwort" with administrator privileges
- tell application "Finder"
- restart
- 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: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:
Ä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:
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).
-
Community Bot
Hat das Label Erledigt hinzugefügt