Why would someone want to run UserMode Linux (UML)

UML is very fast for development and much easier to debug. If for example you use KVM then you need to setup an environment that boots from network or be copying new kernels in the VM. With UML you just run the new kernel.

At one point I was testing some networking code on the kernel. This means that you get very very frequent kernel panics or other issues. Debugging this with UML is very easy.

Additionally, UML runs in places where there's no hardware assisted virtualization, so it was used even more before KVM became commonality.

Their web page has several reasons

Here are some of the things that UML is used for:

  • Hosting of virtual servers
  • Kernel development
  • Experimenting with new kernels and distributions
  • Education
  • Sandbox

UML was also the basis of the original version of the FAUmachine, which is a virtual machine that allows you to inject "hardware" faults into a running kernel.