The reasons to why old kernels are not intentionally being marked for autoremoval (as of 2008-11-04) is because it was considered too dangerous and apt has an exception to not tag linux-image-* packages for autoremoval because we had no idea which kernels actually worked for a system.
However, I had thought that this problem had been addressed using last-good-boot for grub after runlevel 2 was reached, here:
The reasons to why old kernels are not intentionally being marked for autoremoval (as of 2008-11-04) is because it was considered too dangerous and apt has an exception to not tag linux-image-* packages for autoremoval because we had no idea which kernels actually worked for a system.
However, I had thought that this problem had been addressed using last-good-boot for grub after runlevel 2 was reached, here:
https:/ /wiki.ubuntu. com/KernelTeam/ removing- old-kernels
But since the wiki hasn't been updated since '08, maybe that is not true anymore.