Methods to try out new OS releases without committing to it?

USB alternatives

USB alternatives are good, when

  • you want to test the performance (on bare metal)
  • the computer is not powerful enough to run a system well in a virtual machine

You can use a USB pendrive with at least 2GB drive space and create a

  • live Ubuntu system in the pendrive.

    Boot from the USB pendrive and select 'Try Ubuntu' in the boot menu (and something similar with other linux distros). If you save data, install programs or tweak the system in a live (live-only) drive, it will not survive shutdown or reboot.


If you want to

  • try Ubuntu in a more advanced way or
  • save data, install programs or tweak the system and
  • you have/get a fast USB pendrive of at least 4 GB,

you can create a

  • persistent live Ubuntu system

or if you have/get a fast USB pendrive of at least 16 GB, you can create an

  • installed Ubuntu system (like installed in an internal drive, but in a USB pendrive).

    An installed system in a USB drive is stable and flexible, can be kept up to date and tweaked without any limits. In this way it is better than a persistent live system. It is portable between computers, if you can avoid proprietary drivers, but a persistent live system is more portable.

Links

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

  • help.ubuntu.com/community/Installation/FromUSBStick

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

  • help.ubuntu.com/community/mkusb

  • help.ubuntu.com/community/mkusb/persistent

  • Ubuntu live from USB with full persistence and NTFS

  • multibootusb.org/

  • Boot Ubuntu from external drive


  • Restore a USB stick to a standard storage device

  • Can't format my usb drive. I have already tried with mkdosfs and gparted

  • Is DD Image disk writing permanent?


One way to test new distros and OS versions is with virtualization. It does not require space for an additional PC/keyboard/video/mouse or adapters to run multiple PCs with a single keyboard, video, mouse. It only requires a single PC and some virtualization software.

This assumes that you have a machine with a multi-core CPU capable of virtualization and a reasonable amount of memory. I would recommend at least 8GB of memory with 16GB better if you have it.

If you are running Ubuntu and only want to try Linux distros (I do not believe Windows will work), you can use the free virtualization software packaged in Ubuntu: KVM or Xen. Both work fine, are FREE, and can run various Linux distros. However, the tools to manage the VMs are somewhat lacking. Oracle has a FREE version of a virtualization tool called VirtualBox and of course there is always the commercial VMWare product. Both VirtualBox and VMWare can also run Ubuntu on top of a Windows machine if that is your desktop of choice.

By using a VM manager, you will be able to add new distros as they come out, test them, play with the new features, and then discard them when the new release appears. They only eat up disk space when not running, so they do not even need to be discarded unless that becomes tight. With a VM manager, it is easy to balance 5, 10 or more distros on a machine and be able to boot them up and take them down as needed. If you are lucky enough to have a 32GB or 64GB machine, you can even run them all in parallel.


As an even faster and cheaper alternative to sudodus’ answer you can boot directly from a bootable drive image file instead of a dedicated (USB) drive.

At least for Ubuntu ISO images (and derivatives like Linux Mint) the following recipe works. Other distributions may need further tweaking.

  1. Store the bootable drive image(s) in ISO format1 somewhere as a file on your internal storage drive(s)2.

  2. Add a Grub “parts” file, e. g. 35_isofiles, with the content

    #!/bin/bash
    set -e
    . /usr/share/grub/grub-mkconfig_lib
    shopt -s nullglob
    
    make_iso_menuentry()
    {
        local isodevice="$(exec "$grub_probe" -t device -- "$1")" || return $?
        local isogrub="$(make_system_path_relative_to_its_root "$1")"
        local label="${2:-"$1"}"
    
        printf 'menuentry %s {\n' "'${label//\'/\'\\\'\'}'"
        printf '\tset isofile=%s\n' "'${isogrub//\'/\'\\\'\'}'"
        prepare_grub_to_access_device "$isodevice" | sed -e 's/^/\t/'
        printf '\t%s\n' \
            'insmod loopback' 'insmod iso9660' 'loopback loop "$isofile"' \
            'linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename="$isofile" ro noprompt noeject noplymouth' \
            'initrd (loop)/casper/initrd.lz'
        printf '}\n\n'
    
        printf 'Found "%s" image: %s\n' "$label" "$1" >&2
    }
    
    
    for iso in /path/to/image.iso # <-- set path to your ISO image here
    do
        make_iso_menuentry "$iso" "${iso##*/}" || true
    done
    

    to /etc/grub.d and make it executable.

    Edit the file path in the indicated line to match your needs. You can add multiple paths and/or Bash glob patterns if you want.

  3. Make the file executable:

    sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. Make sure that the Grub menu is enabled.

  5. Update the Grub configuration:

    sudo update-grub
    
  6. Reboot and select the newly added Grub menu entry to boot from the respective image file.


1 Other file system types are possible but may require other Grub commands and boot parameter tweaking.

2 LVM, RAID and encrypted file systems should work thanks to Grub’s utility library but I didn’t test them.