我花了本月的大部分时间尝试在我的Debian 9 (Stretch)上安装、重新安装、手动删除和重新安装最新的 linux-image-4.9.0-8(或其),但它总是会(重新)启动进入那个错误的 Linux 3.16.0-5 版本。
我什至删除了整个/boot
目录内容并重新安装。
我在独立分区所在的/dev/sda
驱动器中安装了标准的 Debian 9 。/dev/sda1
/boot
我的清单:
- 检查了Debian 管理手册。
- 硬件中没有 UEFI 引导加载程序
- 关闭 imageramfs 选项
/etc/kernel-img.conf
- 没有花哨的内核模块(甚至没有 NVIDIA 和 ATI)
- 正确使用
apt
代替apt-get
这是我自己遇到的一个谜题系统。
的最新目录/boot
是:
$ ls -lat /boot
total 106000
drwxr-xr-x 23 root root 4096 Jan 17 12:25 ..
drwxr-xr-x 2 root root 4096 Jan 17 12:17 grub
drwxr-xr-x 3 root root 4096 Jan 17 12:17 .
-rw-r--r-- 1 root root 19595458 Jan 17 12:17 initrd.img-4.9.0-8-amd64
-rw-r--r-- 1 root root 19446192 Jan 17 12:08 initrd.img-4.9.0-5-amd64
-rw-r--r-- 1 root root 19587298 Nov 7 13:58 initrd.img-4.9.0-7-amd64
-rw-r--r-- 1 root root 186563 Oct 27 14:46 config-4.9.0-8-amd64
-rw-r--r-- 1 root root 3195896 Oct 27 14:46 System.map-4.9.0-8-amd64
-rw-r--r-- 1 root root 4232992 Oct 27 14:46 vmlinuz-4.9.0-8-amd64
-rw-r--r-- 1 root root 186568 Aug 13 15:31 config-4.9.0-7-amd64
-rw-r--r-- 1 root root 3192069 Aug 13 15:31 System.map-4.9.0-7-amd64
-rw-r--r-- 1 root root 4232992 Aug 13 15:31 vmlinuz-4.9.0-7-amd64
-rw-r--r-- 1 root root 19478453 Feb 19 2018 initrd.img-4.9.0-3-amd64
-rw-r--r-- 1 root root 186473 Jan 4 2018 config-4.9.0-5-amd64
-rw-r--r-- 1 root root 3185098 Jan 4 2018 System.map-4.9.0-5-amd64
-rw-r--r-- 1 root root 4216608 Jan 4 2018 vmlinuz-4.9.0-5-amd64
-rw-r--r-- 1 root root 186386 Sep 18 2017 config-4.9.0-3-amd64
-rw-r--r-- 1 root root 3180929 Sep 18 2017 System.map-4.9.0-3-amd64
-rw-r--r-- 1 root root 4204320 Sep 18 2017 vmlinuz-4.9.0-3-amd64
注意到没有 Linux 3.16.0-5 映像/initramfs。
然而执行uname
总是会导致:
Linux arca 3.16.0-5-amd64 #1 SMP Debian 3.16.51-3+deb8u1 (2018-01-08)
顶级目录内容及其符号链接也是正确的:
# ls -lat /
total 112
drwxrwxrwt 14 root root 11264 Jan 17 13:15 tmp
drwxr-xr-x 33 root root 1080 Jan 17 12:46 run
drwxr-xr-x 19 root root 3480 Jan 17 12:45 dev
drwxr-xr-x 178 root root 12288 Jan 17 12:45 etc
dr-xr-xr-x 13 root root 0 Jan 17 12:44 sys
dr-xr-xr-x 195 root root 0 Jan 17 12:44 proc
drwx------ 36 root root 4096 Jan 17 12:44 root
drwxr-xr-x 23 root root 4096 Jan 17 12:25 .
drwxr-xr-x 23 root root 4096 Jan 17 12:25 ..
drwxr-xr-x 3 root root 4096 Jan 17 12:17 boot
drwxr-xr-x 2 root root 12288 Jan 17 11:27 sbin
drwxrwxr-x 2 root root 4096 Jan 17 11:27 bin
lrwxrwxrwx 1 root root 29 Nov 7 13:56 initrd.img -> boot/initrd.img-4.9.0-8-amd64
lrwxrwxrwx 1 root root 29 Nov 7 13:56 initrd.img.crap -> boot/initrd.img-4.9.0-7-amd64
lrwxrwxrwx 1 root root 26 Nov 7 13:56 vmlinuz -> boot/vmlinuz-4.9.0-8-amd64
lrwxrwxrwx 1 root root 26 Nov 7 13:56 vmlinuz.crap.4.9.0.7 -> boot/vmlinuz-4.9.0-7-amd64
drwxr-xr-x 6 root root 4096 Oct 11 17:01 opt
drwxr-xr-x 20 root root 4096 Oct 10 16:52 lib
drwxr-xr-x 3 root root 4096 Oct 10 16:34 srv
drwxr-xr-x 8 root root 4096 Sep 5 13:34 home
drwxr-xr-x 13 root root 4096 Mar 17 2018 var
drwxr-xr-x 2 root root 4096 Mar 17 2018 lib64
drwxr-xr-x 7 root root 4096 Feb 19 2018 media
drwxr-xr-x 2 root root 4096 Feb 19 2018 debootstrap
drwxr-xr-x 10 root root 4096 May 16 2017 usr
drwxr-xr-x 2 root root 4096 Oct 8 2016 mnt
drwx------ 2 root root 16384 Oct 8 2016 lost+found
甚至引导分区也sda1
被/boot
正确标记。
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xfa4b1728
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 1953523711 1953021954 931.3G 5 Extended
/dev/sda5 501760 1953523711 1953021952 931.3G 8e Linux LVM
Partition 2 does not start on physical sector boundary.
Command (m for help): quit
可能您使用的是 UEFI,而
/boot
引导加载程序使用的不是您列出的目录,而是一个未挂载的 vfat 分区。检查它/etc/fstab
,如果你有一个单独的/boot
分区,就mount /boot
在升级内核之前。如果您不想手动安装,请从它的行中
/boot
删除该选项noauto
/etc/fstab