Many of the ubuntu computers I look after were setup with a reasonable (at the time) 200MB /boot – in fact I think this was one of the default options in the Ubuntu setup. The default behaviour of the unattended updates package appears to install new kernels and not remove old ones. Combine this with the fact that the kernels are getting larger and 200mb is just not enough to maintain a few versions any more.
Rather then messing about with partition resizing or building a new machine out we can just move /boot onto the much larger root drive.
Make sure to either run these as sudo (or switch to root with sudo -s)
1. Take a backup of your server.
2. Copy the contents of boot over, remove the old one and rename.
cp -a /boot /boot2
umount /boot
rmdir /boot
mv /boot2 /boot
3. Now comment the /boot entry in /etc/fstab (Just add a # infront of the line that mounts boot):
vim /etc/fstab
4. Update grub and make sure everything is correct:
update-grub
5. Now reboot the computer and check everything is working – if not use the advanced options and try and alternate kernel version. Failing that restore from your backup.