适用于任何内核升级的高效回退逻辑

适用于任何内核升级的高效回退逻辑

我是 Ubuntu Linux 系统的新手。该系统有一个硬盘,其中有三个磁盘分区,如下所示

fdisk -l
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Device        Start        End    Sectors   Size Type
/dev/sda1      2048    1050623    1048576   512M EFI System
/dev/sda2   1050624   59643903   58593280    28G Linux filesystem
/dev/sda3  59643904 1953523711 1893879808 903.1G Linux filesystem

两个内核位于两个独立的磁盘(sda2、sda3)上。一个是活动内核,另一个是备份内核。

要求 :如果我使用不同版本的内核升级活动内核并且失败,系统应该使用备份内核启动并变为活动内核。。如果内核升级成功,则应该使用升级后的内核而不是备份内核来启动。

处理这种情况的有效回滚(或回退)机制是什么?此外,需要哪些以及所有与 GRUB 相关的配置来支持这种情况。

如果您能提供一些见解或分享任何有用的逻辑/脚本来处理此问题,我将不胜感激。

相关内容