Resolved Updated to Mojave... now I can't boot into my Windows volume

Discussion in 'Mac Pro' started by PowerMac G4 MDD, Sep 28, 2018.

  1. PowerMac G4 MDD macrumors 68000

    PowerMac G4 MDD

    Joined:
    Jul 13, 2014
    Location:
    At the intersection of Conch and Coral.
    #1
    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.
     
  2. h9826790 macrumors G5

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #2
    Just tested on my cMP.

    No problem at all to boot my Windows 10 (EFI mode installed on a dedicated SSD) with the terminal bless method.
     
  3. PowerMac G4 MDD thread starter macrumors 68000

    PowerMac G4 MDD

    Joined:
    Jul 13, 2014
    Location:
    At the intersection of Conch and Coral.
    #3

    Can you elaborate on the Terminal bless method?
     
  4. AidenShaw macrumors P6

    AidenShaw

    Joined:
    Feb 8, 2003
    Location:
    The Peninsula
    #4
    Open the terminal - touch your throat, your solar plexus, your left shoulder then your right shoulder.
     
  5. PowerMac G4 MDD thread starter macrumors 68000

    PowerMac G4 MDD

    Joined:
    Jul 13, 2014
    Location:
    At the intersection of Conch and Coral.
    #5
    Haha—"touch your throat..." Subtle indication—besides the obvious signature—that I'm replying to an atheist. Well, anyway, thanks for the groaner.
     
  6. Demigod Mac macrumors 6502a

    Joined:
    Apr 25, 2008
    #6
    Does it still work with holding option at boot?
     
  7. h9826790 macrumors G5

    h9826790

    Joined:
    Apr 3, 2014
    Location:
    Hong Kong
    #7
    1) Run the following command in terminal
    Code:
    diskutil list
    2) locate your Windows partition. e.g. My Windows is in EFI mode, and the Windows drive is "disk2"
    Screenshot 2018-09-30 at 04.17.15.png

    3) In terminal, enter (Note: you have to change the disk number according to the result in step 2)
    Code:
    sudo bless -device /dev/disk2s2 -mount /Volumes/BOOTCAMP -setBoot -nextonly
    4) Reboot your Mac

    N.B. The "nextonly" argument make your Mac only boot to Windows once. And automatically go back to MacOS on the next boot. If the cMP doesn't go back to macOS for any reason, you can't use bootcamp apps (in Windows) to select macOS as next boot drive (because Mojave should be on a APFS partition, which is virtually transparent in Windows). So, you can either select a HFS+ partition for next boot (if you have that), or simply perform a PRAM reset. With a RX580, you can always perform a PRAM reset to bring you back to macOS if anything goes wrong.

    If you don't like this complicated procedure to boot to Windows, you may try BootChamp or Boot Runner. They may still work.
     
  8. BillyBobBongo macrumors 68020

    BillyBobBongo

    Joined:
    Jun 21, 2007
    Location:
    On The Interweb Thingy!
    #8
    BootChamp and Boot Runner still work, just need to remember to disable NVRAM in SIP.

    Code:
    csrutil enable --without nvram
     
  9. PianoPro macrumors regular

    Joined:
    Sep 4, 2018
    #9
    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
     
  10. expede macrumors regular

    expede

    Joined:
    Jan 15, 2018
    Location:
    Sweden
    #10
    And I did not do that and still my BootChamp works. I just did a "csrutil disable".

    /Per

     
  11. PianoPro macrumors regular

    Joined:
    Sep 4, 2018
    #11
    That disables all of SIP. Much better to only disable the nvram part.

    csrutil enable --without nvram
     
  12. expede, Sep 29, 2018
    Last edited: Sep 29, 2018

    expede macrumors regular

    expede

    Joined:
    Jan 15, 2018
    Location:
    Sweden
    #12
    Does not work for me. I think BootChamp needs "all" not just "without NVRAM". I mean the script at all. tsialex wrote me;

    sudo sh -c "bless -device /dev/disk5s2 -mount /Volumes/BOOTCAMP -setBoot -nextonly; shutdown -r now"

    But it does just a reboot. I´m on 10.14.1 and 139.0.0.0.0. It worked with 138.0.0.0.0 and 10.14 but not now.

    @PianoPro ; Your script is nice, but it do the same "Reboot" in 10.14.1

    /Per
     
  13. tsialex macrumors 601

    tsialex

    Joined:
    Jun 13, 2016
    Location:
    Brazil
    #13
    This is a hack, not a solution. Macs don't use permanent disk nodes, so at every boot you can have different disk numbers. Don't use this.
     
  14. expede, Sep 29, 2018
    Last edited: Sep 29, 2018

    expede macrumors regular

    expede

    Joined:
    Jan 15, 2018
    Location:
    Sweden
    #14
    :mad::(
    I liked your hack!! It was nice:oops:.

    /Per


     
  15. tsialex macrumors 601

    tsialex

    Joined:
    Jun 13, 2016
    Location:
    Brazil
    #15
    @PianoPro posted a nicely done AppleScript, use that - it's a elegant solution.
     
  16. crjackson2134 macrumors 601

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #16
    Sadly it's not working for me. I just tested it. I must be doing something wrong here.
     
  17. expede, Sep 29, 2018
    Last edited: Sep 29, 2018

    expede macrumors regular

    expede

    Joined:
    Jan 15, 2018
    Location:
    Sweden
    #17
    Thank you! But it, as a wrote in #12, just do the same = Reboot into OSX.

    /Per

     
  18. tsialex macrumors 601

    tsialex

    Joined:
    Jun 13, 2016
    Location:
    Brazil
    #18
    Change from 1 to 2 in this line:
    Code:
    set Win_devID to (text -7 thru -2 of Win_devID) & "2"
    
     
  19. Demigod Mac macrumors 6502a

    Joined:
    Apr 25, 2008
    #19
    Does your script need SIP to be disabled to work? Was under the impression the bless command doesn't work with SIP turned on.
     
  20. tsialex macrumors 601

    tsialex

    Joined:
    Jun 13, 2016
    Location:
    Brazil
    #20
    You have to adapt it to how your partitions are made. It's not a one size fits all solution at this point.
     
  21. expede macrumors regular

    expede

    Joined:
    Jan 15, 2018
    Location:
    Sweden
    #21
    Still reboot into OSX, but thanks for your time and effort tsialex.

    /Per

     
  22. PianoPro macrumors regular

    Joined:
    Sep 4, 2018
    #22
    Yes, you must turn off SIP-nvram of course to "bless". To do that:

    From Recovery mode - command-R from a startup, access terminal and then type:

    csrutil enable --without nvram

    Note if you do a PRAM reset (not necessary with the script) that will re-enable all of SIP
    --- Post Merged, Sep 29, 2018 ---
    Use "1" if you are using UEFI booting into Windows, as I said at the top of my script. In that case you should bless the EFI volume, not the BOOTCAMP volume. The EFI volume is always "1".

    If you are booting into Windows with the legacy BIOS (which normally happens if you installed from the Bootcamp Assistant app rather than doing the preferred UEFI install without Bootcamp assistant) then you need to bless the BOOTCAMP volume. You can use: diskutil list from the terminal to discover where the BOOTCAMP volume is on the physical disk. It's the Y from the returned "diskXsY", and it won't change between boots (which the X can). Y may be "2" or may not depending on how many partitions you have on that disk and which is the BOOTCAMP partition.

    I think you will also need to change -mount /Volumes/EFI to -mount /Volumes/BOOTCAMP if you are using the legacy BIOS boot. I can't check that because I don't use the legacy BIOS boot.
     
  23. PowerMac G4 MDD thread starter macrumors 68000

    PowerMac G4 MDD

    Joined:
    Jul 13, 2014
    Location:
    At the intersection of Conch and Coral.
    #23
    Odd... I am suddenly able to boot into Windows again. I don't think Mojave was the problem; I think I was effectively falling into a Windows update trap which never showed up on my screen. (I even tried the boot procedure twice and was still met with a black screen.)

    Eventually, I tried again, finally seeing a Windows update screen—all followed by a restart and successful boot. Of course, this whole time, it was Windows being the stupid OS that it is. Not sure why its updating compromised the boot process like that. Gotta disable that stuff.
     
  24. dvbcheck, Oct 3, 2018
    Last edited: Oct 3, 2018

    dvbcheck macrumors newbie

    dvbcheck

    Joined:
    Aug 16, 2014
    Location:
    Germany
    #24
    Hello PianoPro,
    thanks for your script.
    It´s working for me but clicking the cancel button reboots my machine into macOS.

    How to enable to quit the script?
     
  25. tyvol, Apr 5, 2019
    Last edited: Apr 5, 2019

    tyvol macrumors newbie

    tyvol

    Joined:
    Jan 7, 2009
    Location:
    Indio, California
    #25

    Quite elegant, actually.

    But now, with 10.14.4 and the new Boot Rom of 141.0.0.0.0, this elegant solution sadly doesn't seem to work anymore...

    As I can't get to the EFI menu (and Windows 10) by holding down the option key at start, I'm a bit stuck.

    Any suggestions as to how I might get this great Script to work again?

    TIA...
     

Share This Page

51 September 28, 2018