Ubuntu installed on USB stick - are such installations limited to run on the same machine?

Solution 1:

A portable installed system, that boots both in UEFI and BIOS mode is described in this link,

Installed system that boots from UEFI and BIOS mode

There are more details at the following link,

help.ubuntu.com/community/Installation/UEFI-and-BIOS

Q: Now, during the installation, I noticed that the wizard configures some hardware-related elements. Does this mean that such installations are limited to run on the same machine as where the install wizard is executed?

A: No. It is portable, but not as portable as a persistent live drive.

Q: ... because persistent space is limited.

A: You can store the persistence in a partition, which is limited only by the size of the drive. With a GUID partition table (GPT) it can be several terabytes. mkusb can install such persistent live systems.

Comments: But there are other drawbacks with a persistent live system. It is less stable compared to an installed system, and you cannot use a new kernel because the kernel is started before the overlay for persistence is started. Also, I would recommend to install program packages, but not update and upgrade the persistent live system. Instead you should install a new persistent live system from a current iso file.

See also the following links,

askubuntu.com/questions/936633/ubuntu-live-from-usb-with-full-persistence-and-ntfs/936641#936641

Persistent live versus installed Ubuntu in the USB flash drive

Try Ubuntu (Kubuntu, Lubuntu, Xubuntu, ...) before installing it

Edit: A USB 3 SSD flash drive has much faster flash hardware than a standard USB pendrive, and there are USB 3 pendrives with specified high read/write performance. The market changes, so it is worth checking on the internet, which brand and model to select to get the best buy 'today'. See this link about fast USB 3 pendrives,

help.ubuntu.com/community/Installation/FromUSBStick#Notes_about_speed

Solution 2:

I had just installed Ubuntu on an USB 3.0 drive with methods outlined here:

  • How do I install Ubuntu to a USB key? (without using Startup Disk Creator)

This installation will work on almost any other hardware with few limitations only:

  • the hardware must be able to boot from USB
  • a 64-bit installation will not boot on a 32-bit CPU
  • proprietary drivers needed for newer graphic cards may not be included
  • some network cards need additional setting to be made
  • the computer BIOS may need to be adapted to boot from legacy BIOS

Sadly even if on USB 3.0 it performs far less than from a real install. Even dist-upgrading took ages. It would suit for testing only but then it may be very useful (I was able to test WIFI module's settings before installing).

Solution 3:

Ubuntu, just like any other linux distibution, supports any hardware, that is supported by supplied kernel (kernel itself + kernel modules). Most distibutions use "hardware-wide" kernels, that are compiled with support for a wide amount of hardware, to make kernel compatible with as many PCs as possible.

This means that (from hardware point of view) OS, installed with default kernel, will be able to launch on any PC, that can handle this OS default installation (so, as mentioned above, 32-bit PC won't launch 64-bit kernel of ubuntu64)

If you have problems with some of your PCs, you can allways alter your kernel configuration and recompile it with support of unsupported-by-default hardware, but also note that you will have to keep basic settings (supported architecture, instructions sets and so on) on the level of weakest PC (just like 32/64 example - if you want one stick for 10 x64 PCs and 1 x32 PC, you have to use x32 on all 11 PCs) or create several boot points mapping to different kernels.

After start, you should take in mind, that you may have to reconfigure your network settings (as long as ethernet devices naming varies depending on hardware and because you will have another MAC address - so your network's DHCP and NAT policies will be raised here)

Additional hardware, that is not handled by kernel itself - like proprietary GPU drivers or drivers that use proprietary firmware (for example oldish usb scanners) will require configuration because it is not configured on-the-fly during boot process by default.

Also note, that beside of hardware support, there is also some logic-related stuff like host naming (if you will launch 20 clones in one network you will have a network of same-named pcs), dhcp leasing (20 launches of 1 clone on 20 pcs will take 20 leases instead of one with different IPs, so if you are on dhcp, you will have to alter your NAT rules on your router) and so on.