In short: I updated from High Sierra, to Mojave, and I can no longer boot from the separate SSD which I use for Windows. Only my main volume is bootable.
My Mac Pro's specifications are in my signature. (Note that I have no EFI card.) I'm thinking that this whole thing is a bug which [hopefully] will be worked out within the next few mini updates to Mojave.
Here's the Applescript I wrote to boot into Windows. You can access it from the script icon in the menu bar so it's always available.
Just substitute the name of your Windows volume for BOOTCAMP if you use another name. Also be sure to insert your password where it says your_password.
# 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