I work in academia in a large 1:1 deployment of around 6,000 MacBooks. At one point in time when we made the switch to Macs an assessment testing software developer had not made a universal binary app yet and their PPC app just would not run right on Intel based Macs. So, I had to create and deploy a dual boot image for them. The thought had crossed my mind on how to allow managed users (with no admin rights) the ability to dual boot? I cannot use any boot loader that runs in EFI either because I have to have firmware passwords on the Macs via security protocols. 

So, I dug around in Terminal and was messing around with the bless command. If you execute this command: 

/usr/sbin/bless --device /dev/disk0s3 --setBoot --legacy --nextonly 

It will set the partition that lives on /dev/disk0s3 to boot for next restart only, and the -legacyoption supports booting an OS that does not support EFI boot loaders. Since Windows still requires older technology like a BIOS to actually load from, the -legacy option gives that support. 

In the end I wrapped this command up in a Casper policy and allowed users to execute it via self service, which is a web-like app that users can execute policies on their own, and they run as root. So, the user just clicked on the dual boot policy and hit install. The Self Service app ran thebless command and a command to force a reboot. 

It is probably possible to accomplish this with an AppleScript saved as an application or something similar. 

This Article is from:http://hints.macworld.com/article.php?story=20110601220925705