I accidentally ran apt-get autoremove twice on a couple of Ubuntu 14.04 LTS servers, and it removed the stale kernel (on 1st run) and the old kernel (on 2nd run), leaving the latest kernel the only one available in /boot.
The .old kernel was linux-headers-3.13.0-139-generic, and if I look at /etc/apt/apt.conf.d/01autoremove-kernels, I see that it should've been kept: // DO NOT EDIT! File autogenerated by /etc/kernel/postinst.d/apt-auto-removal APT::NeverAutoRemove { "^linux-image-3\.13\.0-139-generic$"; "^linux-image-3\.13\.0-141-generic$"; "^linux-headers-3\.13\.0-139-generic$"; "^linux-headers-3\.13\.0-141-generic$"; "^linux-image-extra-3\.13\.0-139-generic$"; "^linux-image-extra-3\.13\.0-141-generic$"; "^linux-signed-image-3\.13\.0-139-generic$"; "^linux-signed-image-3\.13\.0-141-generic$"; "^kfreebsd-image-3\.13\.0-139-generic$"; "^kfreebsd-image-3\.13\.0-141-generic$"; "^kfreebsd-headers-3\.13\.0-139-generic$"; "^kfreebsd-headers-3\.13\.0-141-generic$"; "^gnumach-image-3\.13\.0-139-generic$"; "^gnumach-image-3\.13\.0-141-generic$"; "^.*-modules-3\.13\.0-139-generic$"; "^.*-modules-3\.13\.0-141-generic$"; "^.*-kernel-3\.13\.0-139-generic$"; "^.*-kernel-3\.13\.0-141-generic$"; "^linux-backports-modules-.*-3\.13\.0-139-generic$"; "^linux-backports-modules-.*-3\.13\.0-141-generic$"; "^linux-tools-3\.13\.0-139-generic$"; "^linux-tools-3\.13\.0-141-generic$"; }; The timestamp of /etc/kernel/postinst.d/apt-auto-removal is very recent, so I cannot guarantee that it had the same contents at the time of my second apt-get autoremove run. (Thankfully, running apt-get autoremove for the third time does not try to remove my current--and only--kernel.) -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apt in Ubuntu. https://bugs.launchpad.net/bugs/1637797 Title: kernel referred to by /*.old autoremoved Status in apt package in Ubuntu: Confirmed Bug description: apt-get suggests to remove and, with autoremove command, actually removes previous kernel referenced by /*.old links and breaks the ability to boot with a previous kernel. Kernel referenced by /*.old may not be autoremoved. # apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: linux-headers-3.13.0-88 linux-headers-3.13.0-88-generic linux-image-3.13.0-88-generic linux-image-extra-3.13.0-88-generic Use 'apt-get autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Press any key to continue... # ls -l /*.old lrwxrwxrwx 1 root root 33 Jun 10 11:57 /initrd.img.old -> boot/initrd.img-3.13.0-88-generic lrwxrwxrwx 1 root root 30 Jun 10 11:57 /vmlinuz.old -> boot/vmlinuz-3.13.0-88-generic # uname -a Linux server 3.13.0-100-generic #147-Ubuntu SMP Tue Oct 18 16:49:53 UTC 2016 i686 athlon i686 GNU/Linux --- ApportVersion: 2.14.1-0ubuntu3.21 Architecture: i386 DistroRelease: Ubuntu 14.04 InstallationDate: Installed on 2011-08-18 (1899 days ago) InstallationMedia: Kubuntu 11.04 "Natty Narwhal" - Release i386 (20110427) NonfreeKernelModules: nvidia Package: apt 1.0.1ubuntu2.15 PackageArchitecture: i386 ProcVersionSignature: Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39 Tags: trusty Uname: Linux 3.13.0-100-generic i686 UpgradeStatus: Upgraded to trusty on 2014-10-18 (743 days ago) UserGroups: _MarkForUpload: True To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1637797/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp