Switching an existing SSD to a framework laptop, is it bootable directly?

Hi, I am not a hardware expert. Just consult some basic questions regarding the framework laptop upgrade.

Case 1:
If I have an 11th gen framework laptop and I upgrade the motherboard, by moving the existing ram and SSD on the 11th gen motherboard to the new 12th gen motherboard. The SSD has a windows OS installed. Will the laptop be bootable without doing any changes?

Case 2:
Similar to case 1, if the SSD (compatible with framework laptop, in the suggested list of SSD brand list) with Windows comes from a laptop of another brand, say an HP laptop, and switches to a framework laptop, will it be bootable directly and used without any problem?

A general question is what determines an SSD with Windows can be bootable from a new laptop?

How about the case for an SSD with Linux installed?

Case 3:
Linux version of Case 1.

Case 4:
Linux version of Case 2.

Thank you for your answer.

==== No need to read just some background reason that I ask this question ======
In 2016, I spent nearly $1900 US dollar to buy a 15 inch Macbook pro mid 2015. A few days ago, while I was working, the laptop suddenly turns black screen with a burning smell coming from it. I took it to a local repair store to fix it. They spend two days and tell me that they are not able to fix it, some problem with the logic board. If I send it to some company with mail-in service, it probably will take around $200 to fix it. I have data in the SSD and I need them to resume my work, but when I search online, I found that the enclosure are surprisingly expensive. So I am thinking about different cases of switching SSD to quickly resume my work if a similar thing happen in the future.

I probably will not fix the Macbook pro and will ditch Apple forever. A $1900 laptop, only serves for 6 years, and cannot even be used as a backup laptop … For the old mac, like 2015 mid, although it is inconvenient, there is still a way I can get access to the data with an SSD enclosure. For the new Macbook air with M1, M2 chip, SSDs are fully soldered on the logic board, what would people do, when the laptop refuses to boot?? Always use Mac with an external drive attached?? Cannot imagine…

For developers, taking a new laptop and starting to configure everything from scratch is very time-consuming. It is very important that I can simply switch the SSD and resume work if something goes wrong with the laptop.

Framework laptop offers a great solution that, we can use the motherboard only (relatively cheap) as a backup desktop. Soon, there will be some used motherboards we can buy on eBay.

I can speak on case 2 since that’s what my brother did with his HP laptop and Framework laptop.

It booted right out of the box and installing the Framework drivers was no big deal. However, the laptop still had all the old HP drivers (AMD, different keyboard/trackpad), and getting rid of those was a hassle. I don’t think it was entirely necessary, but definitely a good peace of mind thing.

At one point, the keyboard did not work at all, nor did plugging in an external keyboard. I forget exactly what error code Windows was giving me, but I specifically remember that the Synaptics driver was interfering with another driver, and uninstalling one of them (I forgot which one) fixed the problem.

So it will work, and depending on how much you mess around with it, it could get a little tricky, but for the most part case 2 for Windows should be a-okay.

1 Like

Generally swapping the SSD into a new windows machine should work, indeed. Besides some potential driver issues.
I am no Linux expert by any means, but as far as i can tell it should work without an issue, since most drivers are included directly into the kernel and simply loaded on demand, where in Windows land you would have to install the drivers on top of windows.

Regarding your data. The 2015 Macbooks are still around. Maybe you have a friend or a relative that still uses one? Macbook Pro 2013-2015 or Macbook Air 2014(?) - 2017 should do.
Maybe you could just swap your SSD into their machine and get your data from it.

1 Like

I think that for linux you need to chroot into your SSD while plugged into frame work and do:

Systemd-boot

  1. chroot mount root and boot
  2. bootctl update
  3. check blkid and update fstab/crypttab
  4. Rebuild initramfs mkinitcpio -p linux

GRUB

same as above except that step 2 is the grub-mkconfig command

2 Likes

While I don’t have a Framework Laptop (yet!), in my experience one can freely move existing Linux installations between different PCs without any issue as long as:

  1. Nvidia is not involved (going from Intel graphics to AMD graphics or vice-versa “just works”)

  2. the boot method used for your existing OS installation is present on the destination PC (e.g. if you installed your OS via BIOS/legacy boot, then you can’t boot it on a PC with UEFI only such as the Framework Laptop; same goes for the opposite whereby a UEFI-only installation cannot boot on a PC with only BIOS/legacy boot, at least not until you manually add a secondary BIOS/legacy boot bootloader)

  3. the drive is connected in roughly the same manner (e.g. you can’t boot from internal drives when connected via USB and you can’t boot USB drives if removed from their enclosure and connected directly); I say “roughly” because you can clone an NVMe drive to a SATA drive and boot from the SATA drive without issue (and presumably vice-versa, but don’t quote me on this), and it’s hypothetically possible that you could boot from an NVMe drive connected via Thunderbolt since both use PCIe (but again don’t quote me on this!)

There’s technically a fourth (IDE vs AHCI) and a fifth (32bit vs 64bit) thing but they only involves PCs from the mid-2000s and predate NVMe SSDs altogether.

1 Like

Case 1 will probably work without issues, but you may need to re-activate the Windows, as it’s a different machine and it will almost certainly notice it immediately.

Case 2 I haven’t used Windows for years now (exited in the win7 era) but the golden rule was, that you should uninstall any hardware-specific drivers before switch. Like if you moved between AMD and Intel, you could but only if you removed the drivers beforehand – otherwise it crashed (and you could do the uninstall in Safe mode) You’ll probably not run into this in Case1 as the HW is quite similar.

Case 3 will probably work without any issues, “plug and play”

Case 4; You might need to rebuild the initrd with some additional drivers, but I’d think that there would be no need.

Hardware Caveat for case 2 and 4:
Please verify that the ssd you have, is indeed an NVME ssd, and is the correct length;
So the slot, that’s used for the ssd, is called M.2 There are multiple things that an m.2 slot can be used for:
It can have USB 3.0 terminated on it
It can have SATA3
It can have PCI-e (required for NVME ssds)
etc.

Not so long ago, there were /there are M.2 form factor SSDs which are actually SATA, and not NVME. Thiese will almost certainly not work in (or will not even plug in to) a Frame.Work or any other modern machine.

Also, there are cards, which have the same M.2 connector, but are shorter It’ll plug in, and it might work, but you have no way to physically bolt down the card in the machine

Also, there are M.2 NVME SSDs that are double sided (both sides have chips on them) and may not physically fit into the machine again

So if you have an M.2 SSD, that will physically fit, and is NVME, then your chances are good (there can still be some software incompatibility, but I’d think the chance is slim)

This will probably not be a problem for cases 1 and 3, because if it worked in the 11th gen FrameWork, it’ll almost certainly will also work in the 12th gen one.

Further info about the M.2 slot:

Boot Caveat for 3 and 4
Your older machine may have used Legacy / MBR boot. This might not work in a modern efi based system like FrameWork. If you have a GPT partition table with a decent-sized EFI partition to boot from, that’s the cleanest

4 Likes

Just cloned my ubuntu on a 1TB samsung 980. Then updated to ubuntu 22.04 for the kernel… Planning to pour it in the framworklaptop 12th gen asoon as I receive it in few weeks . Hope this will work :smiley:

2 Likes

Excellent overview, just a very tiny additional edge case which you’re unlikely to encounter, but it exists:

There are early non SATA but non NVMe M.2 SSDs. M.2 can be USB and SATA and even networking (CNVi as used in Framework’s wireless card) but also PCIe. There used to be PCIe 3.0 x2 M.2 drives that were AHCI, not NVMe (I have one, a Plextor M6e) and PCIe 3.0 x4 M.2 drives that were AHCI, not NVMe (also in my collection, a Samsung SM951 AHCI). These will NOT work in a Framework, although they may physically fit.

AHCI was the old SATA drive interface (data not physical). It was superseded by NVMe, which is only for PCIe SSDs (data not physical, theoretically it could be used over a SATA or even an IDE connection, the I/O and drive controllers need to support it as well as the OS and BIOS).

Strictly speaking, a modern SSD like the SK Hynix P41 is a PCIe 4.0 x4 SSD that operates using NVMe only.

A manufactuer could even enforce PCIe or SATA over M.2 using appropriately placed notches. Framework has used an M notch in the M.2 socket, which means a PCIe x2 drive (B key) will not fit. Only a PCIe x4 drive will fit, but unfortunately so will SATA (M key). But if the SATA M.2 drive manufactuer was more strict, they would use a B notch only, which would not fit in the Framework motherboard. So you have to do a bit of research. You can get SATA M.2s, high capacity at a low price, but since PCIe M.2s are coming down in price so rapidly they’re disappearing.

An M.2 SSD you buy today will probably be PCIe 3.0 or PCIe 4.0 x4 NVMe 2280 with B+M notches. Suitable for PCIe x2 or PCIe x4 sockets of any PCIe version. 2280 = 22mm wide 80mm long. There are 2242 and 2230 SSDs and adapters for 2280 - if they were slim enough you could use these with a Framework (provided the drive was PCIe NVMe).

As an aside, the Framework wireless slot is A+E slot 2242 M.2. You could only use a network card here, not an SSD. The notches mean it will not accept PCIe x4 SSDs. Here it accepts a network connection using CNVi, though it also provides 2 lanes of PCIe. Interestingly it could also provide DP x4!

@Fraoch
Thanks for the additional info, I learned something new today (M.2 AHCI stuff)

1 Like