J'ai voulu utiliser AppleScript au lieu de BootChamp car j'ai eu un problème avec une webapp toujours en cours d'exécution quand elle reprenait son état lors du retour à OS X au lieu de se lancer régulièrement. Essayer de bénir le volume à partir d'un AppleScript n'a pas fonctionné sur mon iMac avec un disque de fusion de 3TB. Le redémarrage après la bénédiction conduisait à un écran d'erreur "NO BOOTABLE DEVICE - INSERT BOOT DISC AND PRESS ANY KEY".
Ce que j'ai dû faire, c'est bénir l'identifiant de disque EFI du disque dur avec l'identifiant de disque EFI. -device Montez le volume BootCamp avec le commutateur -mount et de sauter l'étape -legacy interrupteur. Pour moi, l'identifiant de disque de la partition EFI du disque dur était disk1s1 mais vous pouvez vérifier le vôtre en exécutant diskutil list dans le terminal et recherchez le périphérique EFI du disque dur (pas du SSD).
Je voulais aussi faire un redémarrage "propre" pour que mes applications ne reprennent pas lors du retour à OS X. J'ai donc créé un AppleScript qui quitte des applications spécifiques avant de passer à la bénédiction et au redémarrage :
try
set apps to {"Safari", "Google Chrome", "Mail", "Twitter"}
repeat with thisApp in apps
tell application thisApp to quit
end repeat
end try
delay 2
do shell script "bless -device /dev/disk1s1 -mount /Volumes/BOOTCAMP -setBoot -nextonly" password "YourPassWordHere" with administrator privileges
tell application "Finder" to restart
Vous pouvez sauter la partie concernant le mot de passe si vous ne voulez pas stocker votre mot de passe administrateur dans le script en clair.
Si vous mettez le script ou un alias de celui-ci à ~/Bibliothèque/scripts et activer le script Menu à partir de script Préférence de l'éditeur vous obtenez un moyen facile de l'exécuter comme avec BootChamp.