Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
So. As a utility to reboot to Windows partition whe nalready in my session, BootChamp is a good thing. I totally approve.

Boot Runner is too heavy for me and not very elegant.

So i am working on something to make this more elegant to reboot to bootcamp right from login screen with just one click.

It should look like this in the end:

View attachment 761335

So When Win10 is having its update multi reboot episodes i don't have to login to reboot. as Boot Runner but less heavy in my mind. hope i'll be able to do this as i want.

If some are interested, i'll try to keep updated on my progress...

The issue with Boot Runner is that it really is designed for widescale deployment in classrooms and such. It's too much for the average user. What was useful was that Boot Runner seems to be the only website that shows users they can disable SIP only for nvram.
 
So, i just tried my proof of concept for what i want to do, and here is how i want it to look like.

This was done with an Applescript so i had to have a passwordless admin user wich is clearly not good :)

But at least i know the commands i need and i can go to a "Launchd" version wich i expect, will be more secure and deployable.

edit: You can skip all the black screen to the last few seconds, it was just to show it is effectively working.

 
  • Like
Reactions: h9826790 and expede
So, i just tried my proof of concept for what i want to do, and here is how i want it to look like.

This was done with an Applescript so i had to have a passwordless admin user wich is clearly not good :)

But at least i know the commands i need and i can go to a "Launchd" version wich i expect, will be more secure and deployable.

edit: You can skip all the black screen to the last few seconds, it was just to show it is effectively working.


I think you can have the password stored inside the script as well. But this may be an even worse idea than running a passwordless admin account.
 
  • Like
Reactions: lilins
SO i managed to make this as a launchd.

the sh is only accessible for root and the user bootcamp (standard user without password) can only sudo for this script

BUT i am just unable to make Something easily deployable... the sudoers file is a pain in the ass
 
  • Like
Reactions: h9826790
Just some extra info for the original post.

AFAIK, in order to let Bootchamp / Boot Runner work correctly. The user should avoid any use NTFS software in macOS. If the Windows boot drive is mounted by those NTFS software to enable write in. Bootchamp / Boot Runner may not able to make it boot (or even can't recognise it's a Windows boot drive).
 
  • Like
Reactions: lilins
No boot screen? No problem. :)

do shell script "bless -device /dev/disk1s1 -mount /Volumes/EFI -setBoot -nextonly" with administrator privileges
tell application "Finder" to restart

Replace disk1s1 with your Boot Camp EFI partition discovered by typing diskutil list in Terminal. When you enable the Script Editor menu bar icon you can select your script to restart into Windows just like using the BootChamp app.

I owe you about a million thanks for solving my problems. I was so frustrated when I couldn't reboot into Windows while using the Mojave Beta. After reverting back to High Sierra, BootChamp worked again, but then 10.13.6 broke it again. Thanks so much for this technique. I can now access my Windows 10 drive from Mojave and High Sierra. Life is good again. :)
 
  • Like
Reactions: MisterAndrew
i already solved the problem from Mojave i made an applescript from the command line. i also made a passwordless user that can launchd the command line at boot. so when i choose user bootcamp it log in and directly boot back on windows. quickier when there is windows updates
 
Hi, just poking my head in here as I get rolling. I have a Mac 5,1 (a flashed 4,1, really, but same diff) and I have been running a GTX 960 in it for a good while. I have two separate primary boot vols, both SSDs, one OS X High Sierra and one Win 7. The Win 7 volume was originally created with Boot Camp. Boot Camp in OS X successfully switches the boot vol to Win 7 without difficultly. However in Win 7, Boot Camp can't see the APFS HS vol, of course. I maintain a separate bootable backup of the HS SSD on a non-SSD in bay three; that volume is still HFS and is visible to Win Boot Camp.

However, Win Boot Camp is not successfully blessing that volume. A restart will either land me back in Windows or in some cases I get the 'no bootable volume' message, but only ever from attempting a boot over to Mac OS X from Windows.

As is well documented, the straightforward resolution is to slot the OOB GPU and option-restart into Boot Manager. Some people have reported success booting headlessly into Boot Manager and properly selecting the HS APFS boot volume blind; I have not yet been able to do that. The disadvantage to leaving the OOB GPU slotted is that its driver settings conflict with Nvidia's needs in Win7 and the drivers for the GTX are disabled in Win when the original card is active.

In reviewing the thread-starter here, I believe that if I understand the technique accurately, I need to turn off SIPS for nvram only in Recovery Mode, and then rely on one of the three non-Apple crossboot programs to select the Win 7 volume when a Win 7 boot is required.

I *think* the Windows - to - Mac booting issue is theoretically resolved by these techniques because the boot setting that enables a Windows boot is one-time only and that after completing the Windows session the device *should* simply restart in OS X normally without further user intervention, and that there are no settings widgets in Windows to manipulate, unlike the Apple implementation of Boot Camp. Is that correct?

I'll be poking and prodding this on the machine over the next week or so and just wanted to get my head straight on it first.
 
Last edited:
  • Like
Reactions: lilins
That's interesting that it's having issues booting back to an HFS macOS install. Yes, I would set it to always boot into macOS, then use one of the programs or make a script to boot 'one time' into Windows.
 
I haven't moved the physical drives around in the slots yet. Some support threads at TwoCanoes iirc seem to suggest that dual SSD setups (on MacBooks, using an optical-swap kit) have essentially the same issue that I do, of NF HFS OSX restarts. TwoCanoes support has not been much help in the threads but they did suggest swapping the physical drives around, which is of interest to me because it's so easy to do. If drive-bay senority is an issure here I suspect the optimal ordering for me would be HD OSX HS backup in bay 1, Win 7 SSD where it is, and primary HS SSD boot vol in bay 3, with bay 4 reserved for wacky experiments I have yet to visualize. Ssems like an easy enough thing to test, so I'll add that to my worksheet as I noodle forth.
 
I haven't moved the physical drives around in the slots yet. Some support threads at TwoCanoes iirc seem to suggest that dual SSD setups (on MacBooks, using an optical-swap kit) have essentially the same issue that I do, of NF HFS OSX restarts. TwoCanoes support has not been much help in the threads but they did suggest swapping the physical drives around, which is of interest to me because it's so easy to do. If drive-bay senority is an issure here I suspect the optimal ordering for me would be HD OSX HS backup in bay 1, Win 7 SSD where it is, and primary HS SSD boot vol in bay 3, with bay 4 reserved for wacky experiments I have yet to visualize. Ssems like an easy enough thing to test, so I'll add that to my worksheet as I noodle forth.
I've been fighting the same problem all day. My disks look like this:

First SSD: High Sierra
Second SSD: Mojave
First HD: Win 10
Second HD: A HFS+ install of High Sierra (objective to provide a way to boot back from Windows)

When I try to boot back from Win 10 to the HFS HS using the Boot Camp control panel I just return to Win 10. The Bootcamp control panel sees the HFS HS disk in its gui, but will not boot back.

UPDATE - THE PROBLEM IS NOW FIXED

I removed Boot Runner and went back to using my own script to boot from MacOS to Win 10, and there was no longer any problem booting back from Win 10. The problem may have somehow been related to having multiple Boot Runner install's (one for each MacOS install). Not sure why that would be a problem - or it may have been some other corruption on my part that was magically cured by removing the Boot Runner files.
 
Last edited:
I *think* the Windows - to - Mac booting issue is theoretically resolved by these techniques because the boot setting that enables a Windows boot is one-time only and that after completing the Windows session the device *should* simply restart in OS X normally without further user intervention, and that there are no settings widgets in Windows to manipulate, unlike the Apple implementation of Boot Camp. Is that correct?

I'll be poking and prodding this on the machine over the next week or so and just wanted to get my head straight on it first.

yes this work. without 3rd parties soft, an applescript work, but you need to launch your session so it is especially annoying when you have windows update reboots.

Personnaly i added an admin user with blank password and with only single script in his sudo ability, a session launchd to launch the script, and there it is one click reboot to windows from login screen

 
Here's the Applescript I use to boot into Windows that solves the variable Disk ID problem.

# My Win 10 EFI booting requires -device /dev/diskXs1 be included in the "bless" command.
# It may be that Win 10 legacy BIOS booting only requires -mount /Volumes/BOOTCAMP because
# that seems to work for some Mac's, but not for my Win 10.

# This script solves the problem of the Disk ID assigned to the Win 10 physical disk changing
# from one power-up to another. The Disk ID depends on when it is enumerated during boot.

set Win_devID to do shell script "diskutil info BOOTCAMP | grep Node"
# this assigns the string "Device Node: /dev/diskXsY" to the Win_devID variable, where X is unpredictable
# BOOTCAMP is the Win 10 volume name

set Win_devID to (text -7 thru -2 of Win_devID) & "1"
# This strips everything except "diskXs" and appends a "1" for the EFI location (always "1")

display dialog "Windows 10 EFI Volume was assigned as " & Win_devID buttons {"Cancel", "Boot Win10"}

do shell script "bless -device \"/dev/" & Win_devID & "\" -mount /Volumes/EFI -setBoot -nextonly" password "your_password" with administrator privileges

tell application "Finder" to restart
 
Here's the Applescript I use to boot into Windows that solves the variable Disk ID problem.

Many thanks for providing this neat script. Whenever I try this on my 4,1 with High Sierra, I get this error message:
"error "Could not set boot device property: 0xe00002bc" number 3"

Any help on this is highly appreciated, as my Windows 10 installation is pretty useless now that I cannot boot back easily to macOS with my unflashed Nvidia card. Thanks in advance!
 
Many thanks for providing this neat script. Whenever I try this on my 4,1 with High Sierra, I get this error message:
"error "Could not set boot device property: 0xe00002bc" number 3"

Any help on this is highly appreciated, as my Windows 10 installation is pretty useless now that I cannot boot back easily to macOS with my unflashed Nvidia card. Thanks in advance!
Have you disabled the SIP nvram using the terminal in Recovery mode (command-R)? It's

csrutil enable --without nvram
 
Have you disabled the SIP nvram using the terminal in Recovery mode (command-R)? It's

csrutil enable --without nvram

Thanks for pointing me to disabling SIP. I will give this a try as I recall that BootChamp worked also only with disabled SIP. Having a NVIDIA card, this means also to re-enable SIP each time a NVIDIA web driver comes out. So updating became a bit of a hassle with a non-flashed GPU.
 
Last edited:
Thanks for pointing me to disabling SIP. I will give this a try as I recall that BootChamp worked also only with disabled SIP. Having a NVIDIA card, this means also to re-enable SIP each time a NVIDIA web driver comes out. So updating became a bit of a hassle with a non-flashed GPU.
Be aware that any time you do a PRAM reset it will also re-enable the entire SIP.
 
Here's the Applescript I use to boot into Windows that solves the variable Disk ID problem.

# My Win 10 EFI booting requires -device /dev/diskXs1 be included in the "bless" command.
# It may be that Win 10 legacy BIOS booting only requires -mount /Volumes/BOOTCAMP because
# that seems to work for some Mac's, but not for my Win 10.

# This script solves the problem of the Disk ID assigned to the Win 10 physical disk changing
# from one power-up to another. The Disk ID depends on when it is enumerated during boot.

set Win_devID to do shell script "diskutil info BOOTCAMP | grep Node"
# this assigns the string "Device Node: /dev/diskXsY" to the Win_devID variable, where X is unpredictable
# BOOTCAMP is the Win 10 volume name

set Win_devID to (text -7 thru -2 of Win_devID) & "1"
# This strips everything except "diskXs" and appends a "1" for the EFI location (always "1")

display dialog "Windows 10 EFI Volume was assigned as " & Win_devID buttons {"Cancel", "Boot Win10"}

do shell script "bless -device \"/dev/" & Win_devID & "\" -mount /Volumes/EFI -setBoot -nextonly" password "your_password" with administrator privileges

tell application "Finder" to restart

This works great! Thanks!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.