Can a single OS installation on an SSD be shared between a desktop and a laptop?
Solution 1:
Most standard Linux distros will allow you to do this - provided they are the same architecture (eg Both are Intel 32bit or 64bit machines).
Linux typically packs all the common drivers you might need as modules as part of the intitial boot process, and there is no "system lock in" to check if the hardware is the same as previous boots.
I have, on multiple occassions, pulled drives out of 1 system, plugged them into another and everything just worked. In fairness, I do try and keep my hardware fairly standard (intel chipset motherboards with intel CPU) which makes it that much simpler, but certainly this can work on more diverse hardware.
My distro of choice is Ubuntu, but I'm confident Redhat based installs will do the same thing - anything where you don't need to compile a custom kernel should work.
Solution 2:
Of the several reasons this cannot work with Windows that come to mind, the most pressing and impossible to work around is Windows Product Activation.
- Every time you move your Windows installation to new hardware you will trigger product activation.
- Very soon you will run out of grace re-activations and have to call Microsoft to get your product key reactivated.
- And very soon after that you'll be told you've reached the end of the road.
Solution 3:
You could run a live Linux iso like Linux Mint, Ubuntu, Debian, or Knoppix (it's more like a live-dvd-only and says "Knoppix is not a Linux distribution like for example Debian, openSUSE, Ubuntu or others", but has many "install" options), there are many others that can run live also, most with persistence to save changes.
Copying one of their iso's onto your SSD drive and using grub to launch it (similar to instructions here) should work, if you have unusual hardware that isn't detected properly in a "regular" Linux install as DrMoishePippik's answer suggests.