Unfortunately it is sometimes the case that your system will fail to boot due to changes within the kernel. It is important that when submitting bug reports about these types of failures that you include the appropriate debugging information that can help the kernel team resolve the issue. The following wiki will document some useful tips to capture any relevant information.
When trying to capture relevant error messages that appear at boot it is often useful to boot with the quiet and splash options removed. This will hopefully allow you to see any messages that come across your screen. To edit boot option parameters, do the following:
- Press 'Escape' key at the 3 second pause by Grub bootloader.
- Then press 'e' (edit) on the buggy kernel entry, followed by 'e' again on the kernel line.
Then remove the splash and quiet keywords and press 'b' to boot.
It's best if you can attach a log file which may have captured any messages you see. If you are unable to capture a log file, a digital photo will work just as well. As a last resort you can even copy messages down by hand.
Depending on the type of error messages you encounter, there are other boot options you could try. For example, if you notice ACPI errors, try booting with the acpi=off boot option. For a full description of these options, refer to the kernel parameters document.
Sometimes you may even be dropped into an initramfs shell. Obviously this indicates errors in the boot sequence, for example failing to find your root partition/filesystem. You are dropped into the initramfs shell in an effort to allow you to recover the system. Hopefully if you boot with the quiet and splash options removed you will notice error messages before being dropped into the shell which will help debug and direct you to a solution.
If you are dropped into an initramfs shell you may want to also try booting with the debug boot option. It should write a log to /tmp/initramfs.debug. You could also specify some arbitrary arguement (for example debug=vc) to have the output written to the console.
There is another initramfs boot parameter which can purposely drop you into the initramfs shell during different stages of the initial boot sequence. The parameter is break=[option] where option can be: top, modules, premount, mount, bottom, or init. The default is premount if no options are specified.