shortcut to content

Dual Boot Windows Startup Disk Switcher Application

Page address: http://acc.mnsu.edu/software/startupdisk.html

Last Updated: 09/18/2009

 

UPDATE: Good News From Apple

With the introduction of Snow Leopard, Boot Camp has also been updated. One of the new features of Boot Camp is the ability to set the startup disk through command line. For more information please visit: http://support.apple.com/kb/HT3802
*Note: You will need to install the new version of Boot Camp that comes with Snow Leopard (Boot Camp version 3.0)

 

Updated Notes

Since Apple has updated the Boot Camp software we will no longer be updating this page. Please feel free to use any information for reference and use the Startup Disk Switcher Application below.

Required Files:

Download: SetStartup.zip
Download PsTools*: PsTools.zip
*Note: PsTools is the sole property of Sysinternals. Please view the EULA for PsTools before downloading and using. EULA can be found in the PsTools.zip folder under "Eula.txt"

Instructions:

1. Download and expand both .zip files.
2. From the SetStartup folder, copy the files SetStartup.bat and SetStartup.exe to C:\Windows\System32\
3. From the PsTools folder, copy the psexec.exe file to C:\Windows\System32\
4. Go to Control Panel, then Administrative Tools, then Task Scheduler.
5. Create either a Basic Task or a Task and go through the setting until you come across the Action setting. Choose the Start a Program action setting and browse to: C:\Windows\System32\SetStartup.bat
6. Now whenever you have that Scheduled task to run it will switch the startup disk, and restart the computer.
*Note for interactive logon environments: You must Enable the setting "Interactive logon: Do not require Ctrl + Alt + Delete" (you can do this by editing gpedit.msc -> Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options). The application will not work properly without this setting enabled.

Our Implementation Strategy:

All of our machines are running OS X 10.5 and Vista. We use Bootpicker for the user GUI to switch between OS's.

To run Windows updates we set a cron job to run at 1:30am every morning with the command: /usr/sbin/bless --device /dev/disk0s3 --setBoot --legacy Then another cron job at 1:31am with the command: /sbin/reboot The first command switches the startup disk to our Windows partition (disk0s3), then the second command reboots the machine into windows to pull updates. Cronnix is a great, free tool for easily scheduling cron jobs through a GUI.

After the machine is in Windows and finishes updates, we have a Windows Scheduled Task running at 5am every day which runs the SetStartup.bat application to restart back into OS X. Then at 6am the Macintosh side pulls updates from our update server.

This strategy keeps both OS's up to date with the latest updates without the need to re-image or manually touch the machines.

AutoIT

Included in the SetStartup.zip file is the source code for the AutoIT applicaiton. AutoIt is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. Please feel free to edit the code to fit your needs. You can find more information and download links for AutoIT here.

Disclaimer

Minnesota State University, Mankato is not responsible for any problems or issues caused by proper or improper use of this application. Please use with caution and at your own risk.

Special Thanks

A special thanks goes out to Steve Rodman for writing the application and researching implementation solutions. Also a big thanks to Sysinternals' PsExec.

 

If you have any questions please feel free to contact me:
Patrick Huber
patrick.huber@mnsu.edu