Menu

External drive not bootable?

deseven
2019-02-17
2019-02-20
  • deseven

    deseven - 2019-02-17

    Hello. This isn't strictly related to rEFInd, but i hope it can help me understand the issue.

    So, i use iMac 2017 and i have a Windows 10 installed on an external usb 3.0 ssd drive . It all worked fine (i was just holding option to boot Windows when needed) before i switched the enclosure to usb 3.1/thunderbolt one. Now i can't boot to my Windows installation, it isn't shown as an option.

    Here are my disks:

    /dev/disk0 (internal):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                         121.3 GB   disk0
       1:                        EFI EFI                     314.6 MB   disk0s1
       2:                 Apple_APFS Container disk2         121.0 GB   disk0s2
    
    /dev/disk1 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *2.0 TB     disk1
       1:                        EFI EFI                     209.7 MB   disk1s1
       2:                  Apple_HFS Data                    2.0 TB     disk1s2
    
    /dev/disk2 (synthesized):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      APFS Container Scheme -                      +121.0 GB   disk2
                                     Physical Store disk0s2
       1:                APFS Volume System                  92.0 GB    disk2s1
       2:                APFS Volume Preboot                 45.9 MB    disk2s2
       3:                APFS Volume Recovery                517.0 MB   disk2s3
       4:                APFS Volume VM                      2.1 GB     disk2s4
    
    /dev/disk3 (external, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:     Apple_partition_scheme                        *256.1 GB   disk3
       1:        Apple_partition_map                         32.3 KB    disk3s1
       2:                  Apple_HFS FAST                    255.9 GB   disk3s3
    
    /dev/disk4 (external, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *250.1 GB   disk4
       1:                        EFI EFI                     209.7 MB   disk4s1
       2:       Microsoft Basic Data Boot Camp               249.8 GB   disk4s2
    

    disk0 is internal ssd, disk1 is internal hdd, disk2 is a virtual fusion drive without hdd part (common practice to use it like that), disk3 is external ssd for data and disk4 is Windows installation i'm trying to boot.

    Windows installation is also visible when i boot into macOS (selecting it doesn't help):

    Just to be sure, i booted from Windows 10 install, checked that the drive is still here, mounted EFI volume and ran bcdboot on it.

    I think that enclosure can be unavailable for some reason on a boot level.

    In order to confirm it and to be able to have more control over what's happening i installed rEFInd. It sees only two options - macOS System and macOS Preboot, both lead to the same macOS installation. How can i check if my external drives are available? Is there a way to list drives somehow?

    Any advice is much appreciated.

     
  • Roderick W. Smith

    EFI-mode booting generally requires storing boot loaders on the disk(s) and information pointing to the boot loaders in NVRAM. When you swapped out one disk for another, the NVRAM references stopped being valid, since they referred to the boot loader on the old disk. The solution is to re-register the old boot loader in its new location with the firmware. Unfortunately, I'm not entirely sure how Apple sets this up when you use Boot Camp to dual-boot, so to get it to work in the old way, you'll need to consult Apple's Boot Camp documentation or post on a forum where that expertise hangs out.

    In theory, rEFInd should have detected the Windows installation. The fact that it didn't is not an optimistic sign. You can try hitting the Esc key to have rEFInd re-scan for boot loaders. If that works, then setting the scandelay option in refind.conf should work around the problem. (Any value of 1 or above is likely to work, but you can set it higher if that proves to be necessary.) If hitting Esc in rEFInd does not help, then chances are your Mac's EFI lacks support for the new enclosure type. If so, you won't be able to boot from that disk.

     
  • deseven

    deseven - 2019-02-18

    Thank you very much, that's some useful info.

    I tried rescan already, it didn't help. But i used EFI shell from Clover in rEFInd and here is the output of the map command with my enclosure connected:

    And without one:

    It adds FS7, so it surely sees something, although i have no idea why there is just one file system. It doesn't really match the output of diskutil i posted earlier. What can i try to manually boot from it?

    UPD: drivers i use for rEFInd if that makes any difference

    /EFI/refind/drivers_x64/reiserfs_x64.efi
    /EFI/refind/drivers_x64/ntfs_x64.efi
    /EFI/refind/drivers_x64/iso9660_x64.efi
    /EFI/refind/drivers_x64/ext4_x64.efi
    /EFI/refind/drivers_x64/ext2_x64.efi
    /EFI/refind/drivers_x64/btrfs_x64.efi
    
     

    Last edit: deseven 2019-02-18
  • Roderick W. Smith

    You can try navigating to fs7 by typing fs7: in the EFI shell and then verify that it contains what you expect (presumably an EFI\Microsoft directory tree) with cd and ls. You can repeat that with other filesystems, too, if you don't see what you expect -- it looks like fs2 might be your external drive, too. Given that you've booted the EFI shell from the rEFInd emergency disk, it contains an NTFS driver, which will show your Windows volume, in addition to the Windows boot loader on the ESP. (You do not need the NTFS driver to boot Windows, and I normally advise removing all unnecessary EFI drivers, which in your case would be all of them. This is unlikely to be related to your problems, but it could reveal an extra filesystem in the EFI shell.)

    It's possible that the FAT filesystem on the Windows drive's ESP has been damaged. If so, it won't turn up in the EFI shell or will have garbled or missing content. If this is the case, repairing that filesystem is in order.

     
  • deseven

    deseven - 2019-02-19

    Solved it!

    It turned out that FS7 is another, non-bootable drive (disk3 in diskutil output) in that enclosure. Second disk (disk4) with Windows for whatever reason is not visible on boot.

    So i did stupid but straight-forward thing - i swapped those 2 disks and now it sees the drive i want. I have no idea why it's happening and just like before both disks are available in any OS i load, but now i can boot my Windows installation with rEFInd which is great.

    Thank you very much!

    P.S. For future possible references and google searches - the enclosure in question is Yottamaster D25. Don't buy it i guess :)

     

    Last edit: deseven 2019-02-19
  • Roderick W. Smith

    I'm glad to hear you figured it out. My guess is that the EFI is scanning for just one physical drive per enclosure. (FWIW, Windows does something similar with partitions on USB drives. That's not exactly the same, but it is precedent for this sort of thing.)

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.