1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

BootCamp via Apple-Skript starten?

Dieses Thema im Forum "AppleScript" wurde erstellt von jack.jack, 26.04.09.

  1. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Hallo
    Ist es möglich ein Skript zu programmieren, dass Windows XP per Boot Camp startet?
     
  2. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
  3. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Funktioniert nicht. Startet wieder mit Mac OS X.
     
  4. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Ich habe es nochmals ausprobiert. Manchmal geht es, meistens aber nicht. Manchmal bleibt auch einfach der Bildschirm weiss, wenn ich mein MacBook wieder herauffahre.
     
  5. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Die Skripten sind Murks. Die Zeile:
    do shell script "shutdown -r now" with administrator privileges
    ist zu ersetzen mit:
    tell app "System Events" to restart

    Und das richtige bless-Kommando für eine Windows BootCamp-Partition lautet:
    Code:
    bless --setBoot --legacy --legacydrivehint /dev/disk0 --device /dev/disk0
    (innnerhalb von AS auszuführen mit "with administrator privileges", sprich als root)
     
  6. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Vielen Dank. Dieses Skript funktioniert.
     
  7. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Kann ich auch mit einem ähnlichem Skript das Standartbetriebsystem herausfinden?
     
  8. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Du meinst damit, welches Startvolume gerade eingestellt ist?

    Das verrate ich dir, wenn du mir was versprichst: Schreib nie wieder "Standart" hier in diesem Forum. Das ist eine Schreibweise, die man nicht nur lesen, sondern auch deutlich riechen kann.
    Rechtschreibung ist zwar nur die Wissenschaft der Esel, aber das tut nähmlich total foll weh tun in die Auge. Tanke.

    Code:
    bless --info --getBoot
    Um den zurückgegebenen Gerätenamen elegant in einen verständlichen Volume-Namen zu übersetzen, kann man das ganze ein wenig mit Greplauch und Sediebeln würzen:
    Code:
    echo "$( diskutil info $( bless --info --getBoot ) | grep "Volume Name" | sed -e 's,.*: *,,1' )" 
     
     
    king-al gefällt das.
  9. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Tschuldigung :p

    Wie kann ich das dann in einen AppleScript einbetten? Es kommt folgende Fehlermeldung: "Unbekanntes Token" kann diesem "" "" nicht folgen. Dann wird das erste $ markiert.
     
  10. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Indem du die Gänsefüsschen innerhalb des Shellskripts vor AS verbirgst, die haben auch für AppleSkript eine Sonderbedeutung. Sie kennzeichnen dort Anfang und Ende des Arguments für den Befehl do shell script ...
    Der vorangestellte Backslash hebt diese Sonderbedeutung auf und sorgt für eine literale Weitergabe an das enthaltene Shellskript (Der Backslash wird bei der Übergabe entfernt, das Gänsefüsschen bleibt intakt).
    Code:
    [COLOR="Red"]do shell script "[/COLOR] echo [COLOR="Red"]\[/COLOR]"$( diskutil info $( bless --info --getBoot ) | grep [COLOR="Red"]\[/COLOR]"Volume Name[COLOR="Red"]\[/COLOR]" | sed -e 's,.*: *,,1' )[COLOR="Red"]\[/COLOR]" [COLOR="Red"]"[/COLOR] 
     
  11. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
  12. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Wie kann ich dann wieder OS X als Startbetriebssystem festlegen?
     
  13. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Im Terminal:
    Code:
    sudo bless --setBoot --mount /
    In AppleSkript:
    Code:
    do shell script "bless --setBoot --mount /" with administrator privileges
     
  14. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Vielen Dank.
     
  15. jack.jack

    jack.jack Klarapfel

    Dabei seit:
    20.03.09
    Beiträge:
    280
    Wie kann ich dann nur für den nächsten Start das Standardbetriebssystem festlegen?
     
  16. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Durch das hinzufügen der bless-Option --nextonly
     
  17. vino

    vino Gala

    Dabei seit:
    28.05.08
    Beiträge:
    49
    Sehr interessant, nur verwirrend ;) Könnte vielleicht wer das komplette Skript posten, das praktisch das tut:
    - 1malig das Standardvolume auf die Windows-Partition setzen
    - neustarten (dann soll natürlich unter windows gestartet werden)

    Beim nächsten Neustart unter Windows soll dann wieder die Mac-Partition ausgewählt werden.
     
    #17 vino, 12.08.09
    Zuletzt bearbeitet: 12.08.09
  18. MacAlzenau

    MacAlzenau Golden Noble

    Dabei seit:
    26.12.05
    Beiträge:
    19.400
    Ob das was wird?

     
  19. vino

    vino Gala

    Dabei seit:
    28.05.08
    Beiträge:
    49
    Hat keiner gesehen, oder ;)
     
  20. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Nein, aber gerochen.

    Als AppleSkript:
    Code:
    [SIZE="-2"]do shell script "bless --setBoot --nextonly --legacy --legacydrivehint /dev/disk0 --device /dev/disk0" with administrator privileges
    tell app "System Events" to restart[/SIZE]
    Als Shellskript:
    Code:
    [SIZE="-2"]sudo -v;
    sudo bless --setBoot --nextonly --legacy --legacydrivehint /dev/disk0 --device /dev/disk0; sudo -k;
    osascript -e "tell app \"System Events\" to restart";[/SIZE]
     

Diese Seite empfehlen