How to boot framework from external SSD enclosure

I am attempting to add an egpu to an AMD mainboard through the m.2 port generally reserved for the nvme SSD. The mainboard is in a cooler master case and did not come from a laptop. I have a Samsung 990 pro with both ubuntu and Windows partitions. What I eventually want is for the computer to always boot from the exteranl SSD(plugged into top right usb4.0 port) once it has been moved into an external case.

For background I installed windows first, created a free partition then installed Ubuntu (all with the SSD in the reserved spot). Things operated normally with the grub launcher coming on at startup to select which operating system I wanted to use. I then moved the SSD to an external enclosure (GPU adapter is not yet here so nvme slot was left empty) and attempt to start the PC. I have had no luck getting anything to boot. sometime boot magager will see the ssd and both operating systems but cannot load either, other times is only see 1 of the two, and sometimes it does not see the ssd at all. Does anyone have experience doing something like this?

How did you install Ubuntu and Windows on the SSD? (Unclear what “in the reserved slot” means - is this an NVME you’re placing into the enclosure?)

I think if you had installed these with the drive in the NVME slot, the addresses where grub expects to find the relevant operating system to boot are going to have changed. I would have done the installations with the drive in the enclosure.

1 Like

@SoldierSvejk both ubuntu and windows were installed as you described ( in the nvme slot). i was actually able to attempt to install windows to a different nvme drive that a friend was able to let me borrow for a bit. with the nvme ssd in an enclosure and the windows installer on a usb drive I attempted to install windows. the computer recognized the blank nvme and the usb installer but upon trying to install the OS a message came up that saying “windows cannot be installed to a usb device”. do you know of any way to get around that hurdle of installing windows to a usb device?

since I could not install the windows to a “usb device” i put it (the nvme ssd) in the nvme slot, installed the OS. I then removed the ssd and placed it in and external inclosure but never got anything to boot or even get into my bios which was odd.

in a bit of a frantic worry i place my original nvme drive (the one that i new had both windows and ubuntu installed) in the nvme slot and it loaded as expexted. I took that opertunity to see how the computer viewed the external nvme (with windows installed on it) and noticed that a bit locker message about not being activated showed on the drive. any htoughts you have on either how to install to a “usb device” or how to make the computer boot an OS that was installed from one location then moved would be greatly appreciated

I don’t normally use windows, but there seems to a few options to bypass windows’ restriction on that. WinToUSB, Rufus, Ventoy, probably others. Here is a link just from google How to Run Windows From a USB Drive | PCMag

As SoldierSvejk mentioned, when you installed the OSes a bootloader was created and since the drive was in the internal NVME slot at the time, the bootloader recorded the internal slot as the place the OSes are located. While it could be manually changed, honestly the easiest fix is just to reinstall Ubuntu, this time with the drive connected by USB.
~edit~ but that’s only to get Ubuntu working. Windows very likely needs to be installed via one of the methods above. Those installers probably do some configuration hack(s) to get windows to shut up about being on usb.

1 Like

Hi Michael,

I think you should be able to follow this guide, same method as linked above (PCMag)… see here:

I don’t think there is any other simple method of getting Windows installed on the external drive. The other alternative is to update the GRUB configuration to reflect the new UUID of your partitions. But this will be more complicated frankly (and Windows might still freak out - I’m not so familiar with Windows system administration).

Yeah, I don’t think merely updating grub will fix windows. The windows usb installer utilities likely do some hack or registry tweaks to get windows to stop whining.

1 Like

Thanks for the infirmation and links…I do have Rufus currently installed and should be able to do some testing tomorrow with a “mobile windows” tomorrow per the guides.

<obligitory warning>
    Please note you should not run your primary 
    operating systems off a USB drive
</ow>

Now that’s out of the way, what you are wanting can absolutely be done. I have done it a few times (Windows installs to USB drives then back to internal drives, including a couple of times with the Framework 1TB Expansion card). I have wasted more time that I’m willing to admit cloning/imaging/resizing partitions/reinstalling Windows and Linux.

The biggest tip I can give you for the Windows part is to learn about BootDriverFlags. This will unlock the magic of just having Windows boot off a USB drive with no BS. See here for a nice run-through:

FYI, have I mentioned that it is not recommended to run your main OS over a USB connection? Cool just checking. Anyway…

Make sure you have a bootable Windows USB and Ubuntu USB (or throw both on a Ventoy’ed USB). You may need to update bootloaders or force GRUB to re-add its EFI stub/loader/path whatever into your UEFI BIOS boot loader or just add the *.efi for grub manually in BIOS otherwise.

Happy to provide more assistance if needed.

Edit/Thoughts:

  • I’m not saying to edit your registry from Linux like the link describes. Boot Windows with the drive in the internal NVMe slot and make the change with regedit and then shutdown and remove.
  • While you are editing the registry in windows, also plug in the USB enclosure (with a random drive ideally) so if Windows does need to grab a driver it can before you try and boot with it.
  • If you are using bitlocker, you should at least suspend protection before the final shutdown and removal of the drive. It is highly recommended to remove the TPM protector and switch to a preboot password/passphrase to save having to enter a recovery code if you break something (or at very least have the recovery code on another machine/phone/paper etc).
1 Like

@Matthew_Quarisa based on my original post (that the nvme slot will be used for my egpu connection) and your note that it is not recommended to run is from USB do you have another suggestion for how to load the OS?

Do you have any thoughts about connecting my SSD to the m.2 E key where the current wifi card is? Would you vote that point of connection over USB? I am aware the is a bottle neck ( pcie 3 or 4 x1 rather than the pcie 4x4 at the nvme slot). I have a m.2 M to E key converter coming in this week but was considering it only a backup if I could not load throu USB (USB just seamed a cleaner and more portable option)

It’s more that you may experience more issues/data corruption/wierd gremlins when running your OS over USB. It is also kind of Framework’s position that your OS should not be ran permanently over a USB connection.

I just wanted to be clear that you may experience issues with your proposed configuration. It is your hardware though and you should do whatever you want with it! It may work flawlessly for you or it might play up after a month.

For my opinion, if I were in your shoes, I’d give what your planning a go 'cause it sounds cool to try. I’d then, depending on what your GPU workload and desk setup is like, just get a USB4 external PCIe enclosure for the GPU and put the SSD back in the NVMe slot.

I’d much rather be troubleshooting an USB4 eGPU issue with a reliably working OS on my machine than troubleshooting a machine that is having stability/boot/other issues where the OS can’t be trusted.

SSD in the WiFi slot would be better for sure. You mention though the USB seemed cleaner and more portable option, are you planning on moving this around? If so I would strongly recommend just putting the drive back in the NVMe slot and use a USB4 eGPU enclosure so you only have one adaptor to go through (USB4 to PCIe) rather than having adaptors for the NVMe to GPU and Wifi NVMe to SSD.

1 Like

@Matthew_Quarisa in the rare occasion I take the this machine somewhere I could likely spend the 5 minutes it takes to move the nvme from wifi port back to nvme (as long as I don’t need to mess with the sw on the SSD). The egpu would only be used when I’m at home to play games and cad work (which I wouldn’t be doing If I’m on vacation anyway). I liked the idea of being able to just pull my nvme off USB but the work to remove it from the wifi port is not significant enough if using that port is leaps and bounds easier to boot from.

Just for info (and my M to E key adapter won’t be in until tomorrow) I attempted toms guild process of making a wintogo USB on a 128 GB micro SD card. Everything seemed to install per the guide and I even saw the windows boot manager on the micro SD when I started the computer. The windows setup started and I got as far as windows searching for updates but after a few moments the screen went black and nothing seemed to happen. I gave it some time before hard powering off and retrying. Got same results…do you have any ideas about what I could do to help finish the windows setup?

Update…did some further tests and the “windows boot manager” I had thought was on the micro SD is somehow on the USB hub (if I remove the SD card while viewing boot manager the “windows boot manager” remains. Not sure how the hub would store anything but at least it explains why installation does not go through ( possibly)

@Michael_Perrotta No ideas with the windows to go, I’ve never used it. Using a micro SD is generally worse than using a USB SSD, even the high speed/high endurance ones. It works fine for many people but YMMV a considerable amount. Also can be very dependent on the SD card reader as well.

If you are referring the the “Windows Boot Manager” in the list of bootable devices in BIOS or in the boot menu then it is just an EFI boot entry/config entry that your BIOS has saved/cached. Your USB hub (unless it has storage internally, like the ability to add an SSD or something) would not be storing anything.

You may still see the Windows Boot Manager entry even with the hub disconnected. I have systems that have Windows Boot Manager, Linux Boot Manager, Fedora etc all sitting in the menu from testing different distributions. Most UEFI/BIOS have an option to remove those config entries.

@Matthew_Quarisa thanks for the clarification about the " windows boot manager". It makes sense that it must have been a save/catched entry. I unfortunately do not have a regular usb large enough to make a wintogo so will just have to wait on the m.2 E to M converter (says it will be hear by 10pm tomorrow) and hopefully my nvme sSD will just boot up as normal.

I may order a 512GB USB just to see what is possible with it

@Matthew_Quarisa my m.2 m to e key converter came in but when I tested it my framework did not seem to recognize that a SSD was attached. Do you know if there is a setting for making the framework amd mainboard look at the wifi port for a drive?

@Michael_Perrotta Sorry I have no experience with that. I would check that the converter is passing through all the PCIe lanes and its not just passing through only the USB ones.

I never managed to get windows to work however i ended up completely deleting everything on my ssd (used disks on a live ubuntu drive to do this) and installing ubuntu 23.10.1 to the ssd. i then moved the drive to an external case. the computer (without changing any bios or boot settings) sees the drive an boots is by default in under 30 seconds to ubuntu. the original reason for doing this was to incorperate an egpu through the m.2 slot. this also works now.

thanks for all that helped

1 Like