When you test a new kernel or a new OS, it is important to make sure
that your computer can boot even if the new system is unbootable. This
is crucial especially if you maintain servers or remote systems. To
accomplish this goal, you need to set up two things:
You must maintain a system which is always bootable. For instance, if
you test a new kernel, you need to keep a working kernel in a
different place. And, it would sometimes be very nice to even have a
complete copy of a working system in a different partition or disk.
You must direct GRUB to boot a working system when the new system
fails. This is possible with the fallback system in GRUB.
The former requirement is very specific to each OS, so this
documentation does not cover that topic. It is better to consult some
So let's see the GRUB part. There are two possibilities: one of them
is quite simple but not very robust, and the other is a bit complex to
set up but probably the best solution to make sure that your system
can start as long as GRUB itself is bootable.