必须在升级前完成系统内核级备份,五种方法包括:一、用内置“备份还原工具”捕获全系统镜像;二、手动备份/boot文件与GRUB配置;三、rsync同步/boot及/lib/modules;四、ZFS/Btrfs快照;五、导出内核deb包及签名信息。

如果您计划对银河麒麟操作系统执行内核升级操作,为防止新内核引发启动失败、驱动不兼容或系统无法进入桌面等严重问题,则必须在升级前完成系统内核级备份。内核备份不同于常规文件备份,需确保引导配置、模块映像、initramfs及/boot分区关键组件完整可回退。以下是五种经实测验证的内核级备份方法:
一、使用内置“备份还原工具”捕获含内核的全系统镜像
该方法通过麒麟原生图形化工具生成一致性系统快照,自动包含/boot/vmlinuz-*、/boot/initrd.img-*、/lib/modules/对应版本目录及GRUB配置,适用于所有用户且无需命令行干预。备份过程基于LVM快照或Btrfs子卷机制,确保内核相关文件处于原子状态。
1、点击屏幕右下角搜索图标,在搜索框中输入备份还原,双击打开该应用。
2、在主界面切换至“系统备份”标签页,勾选“新建系统备份”选项。
3、点击“浏览”按钮,选择外部U盘、挂载的NAS路径或本地非系统分区(如/backup)作为保存位置。
4、填写备注信息,建议格式为“内核升级前_V10-SP1_20260501”,点击下一步。
5、系统自动检测目标路径空间与权限;若提示/backup分区容量不足,请更换路径或清理旧备份。
6、确认后点击下一步启动备份,进度条完成后显示“备份创建成功”,并生成带时间戳的唯一记录。
二、手动备份/boot分区全部内核文件与GRUB配置
此方法直接提取当前运行内核所依赖的所有引导级文件,生成独立可移植的内核备份包,不依赖图形界面,适用于救援环境或最小化安装场景,备份内容包括vmlinuz、initrd.img、system.map、config及grub.cfg原始副本。
1、以root权限打开终端,执行:sudo mkdir -p /backup/kernel-backup-$(date +%Y%m%d)
2、复制当前内核映像与初始化内存盘:sudo cp /boot/vmlinuz-$(uname -r) /boot/initrd.img-$(uname -r) /backup/kernel-backup-$(date +%Y%m%d)/
3、复制内核配置与符号表:sudo cp /boot/config-$(uname -r) /boot/System.map-$(uname -r) /backup/kernel-backup-$(date +%Y%m%d)/
4、备份当前GRUB主配置文件:sudo cp /boot/grub/grub.cfg /backup/kernel-backup-$(date +%Y%m%d)/grub.cfg.bak
5、打包归档:sudo tar -zcf /backup/kernel-backup-$(date +%Y%m%d).tar.gz -C /backup kernel-backup-$(date +%Y%m%d)
三、使用rsync精确同步/boot及/lib/modules目录
rsync以归档模式同步可确保软链接、权限、时间戳及扩展属性完整保留,特别适合保留多版本内核模块结构,排除动态伪文件系统干扰,生成可直接用于chroot环境修复或离线挂载的内核文件副本。
1、创建带日期标识的备份目录:sudo mkdir -p /backup/boot-modules-$(date +%Y%m%d)
2、执行同步命令,排除运行时伪文件系统:sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /boot/ /lib/modules/ /backup/boot-modules-$(date +%Y%m%d)/
3、验证同步完整性:sudo diff -r /boot /backup/boot-modules-$(date +%Y%m%d)/boot 2>/dev/null | head -n 5
4、确认输出为空表示一致;若有差异,重复步骤2并添加--delete参数强制对齐。
四、启用ZFS/Btrfs快照机制冻结当前内核运行态
ZFS或Btrfs文件系统支持秒级快照,可将整个根分区(含/boot挂载点所在子卷)状态瞬时固化,仅记录自上次快照以来的块级变更,占用空间极小,且快照自带内核版本上下文,支持直接从GRUB菜单回滚至该状态。
1、打开“控制中心”,进入“系统安全”模块。
2、左侧菜单选择“系统快照”,确保右侧开关处于开启状态。
3、点击“立即创建快照”,在弹窗中填写名称,例如“内核升级前_$(uname -r)_20260501”,勾选“包含用户主目录”(可选)。
4、确认后等待进度条完成,系统显示“快照创建成功”,并在列表中显示对应时间戳与唯一ID。
5、快照即刻集成至GRUB菜单,开机按住Shift键(UEFI下为Esc)即可选择以Kylin OS (Snapshot: …)开头的启动项。
五、导出当前内核deb包并存档签名信息
针对APT管理的内核包(如linux-image-kylin-amd64),该方法提取已安装内核的原始deb文件及GPG签名,便于在无网络环境下重新安装相同版本,规避源仓库变更或包被移除导致的恢复失败风险。
1、查询当前内核包名:dpkg -l | grep "linux-image" | grep "$(uname -r)"
2、导出deb包(假设包名为linux-image-kylin-amd64):sudo apt download linux-image-kylin-amd64
3、保存包校验信息:apt show linux-image-kylin-amd64 | grep -E "(Version|Architecture|Size|SHA256)" > /backup/linux-image-kylin-amd64.info
4、验证deb完整性:sha256sum linux-image-kylin-amd64_*.deb
5、将deb包与.info文件一并移入备份目录:sudo mv linux-image-kylin-amd64_*.deb /backup/ && sudo mv /backup/linux-image-kylin-amd64.info /backup/

















