Forum Discussion

F-Houghton's avatar
F-Houghton
Iron Contributor
Feb 28, 2025

Help Making existing windows 11 drive bootable via USB on another PC

I upgraded my PC drive to a new/faster SSD. I want to use the old drive as an emergency bootable drive in case my new drive has issues (which it currently does).

When I set the boot config in BIOS to boot to the external USB Thunderbolt device, I get BSD with Inacessible Drive error. I formatted my EFI partition to FAT32 and used BCDEDIT to create new BCD records, but wondering if the issues is the fact that the BCE records specify the partitions by drive letter. Yes, these are drive letters E: and F: now as I am booted into Disk 0. But when I boot into the External USB, won't these drives be different (i.e. the boot loader will be C:, not F:). So is this why I get Inaccessible error as it can't find E: or F: when booting into this External USB drive?

If so, what do I update the Device pararmeters to in the BCD to point to correct partitions when booting into this drive? I would think you'd have the Device specified as some Id that uniquely identifies the drive, not a relative drive Letter that changes.

Am I on the right path? :)

  • EyuKaz's avatar
    EyuKaz
    Copper Contributor

    TL:DR: You're on the right path, but forget about the drive letters—they’re just messing with you. Focus on using the partition GUIDs instead. Update the BCD to point directly to those, not E: or F:, since the letters change when you boot from USB. Stick with the partition IDs (which are static), and you should be good to go.

     

    You’re definitely heading in the right direction by thinking that the drive letters (E: and F:) are causing the issue. Windows is indeed throwing the Inaccessible Drive error because, when you boot from the external USB drive, the drive letters are changing (your boot loader on F: might be trying to load, but Windows is looking for C: instead). So you’re spot on that the BCD (Boot Configuration Data) is getting confused.

     

    But here’s the key: Drive letters aren’t static when switching between internal and external drives, especially when booting from USB. The OS dynamically assigns letters during boot, which is why things get wonky. So, instead of using drive letters, the BCD should reference the unique partition IDs (GUIDs), which will remain the same no matter where the drive is plugged in or how it’s booted.

     

    What You Need to Do:

     

    1. Focus on Partition GUIDs, Not Drive Letters: The BCD entries that are currently pointing to E: and F: are what’s causing the boot issue. When booting from the external USB drive, Windows is looking for these partitions, but it can’t find them because the drive letters shift around. The solution is to update the BCD to use partition GUIDs instead. These GUIDs are unique identifiers for each partition that don’t change across boots or devices, unlike drive letters.

     

     

    2. Steps to Update the BCD:

     

    First, open Command Prompt as Administrator.

     

    Use diskpart to get the GUIDs of both your E: and F: partitions:

     

    In Command Prompt, type:

     

    diskpart

     

    list volume (this will show you all the partitions; find your E: and F: partitions here)

     

    select volume X (replace X with the correct volume number for each)

     

    detail partition (this command will show the GUID for that partition)

     

     

     

    Now, use bcdedit to update your boot manager and boot loader to reference the correct partitions by GUID, not drive letter:

     

    bcdedit /store E:\EFI\Microsoft\Boot\bcd /set {bootmgr} device partition={GUID-for-E}

     

    bcdedit /store E:\EFI\Microsoft\Boot\bcd /set {current} osdevice partition={GUID-for-F}

     

    bcdedit /store E:\EFI\Microsoft\Boot\bcd /set {current} device partition={GUID-for-F}

     

     

     

    By doing this, you’re telling Windows to look directly at the specific partition based on its unique ID, no matter what drive letter it gets assigned during the boot process.

     

     

    3. Verify BIOS Settings (UEFI vs Legacy): Make sure your BIOS is set to boot in UEFI mode if your external drive is GPT-formatted (which is likely). If it’s MBR, then Legacy Boot should be enabled. Incorrect BIOS settings can also throw the Inaccessible Drive error.

     

     

    4. Check Your EFI Partition: Since you mentioned formatting the EFI partition, double-check that all the necessary boot files are still there. Missing or corrupted boot files in the EFI partition can also cause issues.

     

     

    5. Run a Quick Boot Repair: If things still aren’t working, boot from a Windows installation USB, go to Repair your computer > Troubleshoot > Advanced options > Command Prompt, and run:

     

    bootrec /fixmbr

     

    bootrec /fixboot

     

    bootrec /rebuildbcd

     

     

     

     

    This should fix any lingering boot issues related to missing or corrupted boot files.

     

    Bottom Line:

     

    You’re right that the drive letters (E: and F:) are part of the problem, but the fix is to update the BCD to point to the partition GUIDs, not drive letters. This way, Windows won’t get confused during the boot process, no matter what device or USB configuration you’re using.

     

    Once you make those adjustments, you should be able to boot from your external drive without hitting the Inaccessible Drive error.

     

     

     

Resources