问题描述
在操作系统迁移时,出错提示“Not enough space on /boot”。
问题原因
/boot分区的可用空间要求大于100 MiB,如果待迁移的操作系统的/boot目录没有100 MiB的空间来更新initramfs和新内核,可能会导致操作系统迁移失败。
解决方案
清理/boot目录下不再需要的内核版本,包括对应的initramfs、vmlinuz和config等,请保证清理后的内核能成功启动。
- 使用root用户远程连接ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例。 
- 执行以下命令,查看已安装的内核版本。 - rpm -qa | grep kernel
- 执行以下命令,查看正在使用的内核版本。 - uname -r- 回显信息如下所示。 - [root@iZbp104w56ovfyfxy9o**** ~]# uname -r 3.10.0-1160.el7.x86_64
- 清理不再需要的内核版本。 - 例如,清理 - kernel-3.10.0-514.26.2.el7.x86_64。- 如果内核通过rpm包的方式安装,执行以下命令,清理内核。 - yum remove kernel-3.10.0-514.26.2.el7.x86_64
- 如果内核通过编译源码的方式安装,依次执行以下命令,清理内核。 - REMOVE_KERNEL=3.10.0-514.26.2.el7.x86_64 grubby --remove-kernel=/boot/vmlinuz-$REMOVE_KERNEL rm -rf /boot/initramfs-$REMOVE_KERNEL.img /boot/initramfs-${REMOVE_KERNEL}kdump.img /boot/symvers-$REMOVE_KERNEL.gz /boot/System.map-$REMOVE_KERNEL /boot/vmlinuz-$REMOVE_KERNEL /boot/config-$REMOVE_KERNEL grubby --remove-kernel=/boot/vmlinuz-$REMOVE_KERNEL
 
- 设置剩余内核中最新版本的内核作为默认启动内核。 - 执行以下命令,查看目前已安装的所有内核。 - grubby --info=ALL
- 执行以下命令,查看目前默认启动内核。 - grubby --default-kernel- 回显信息如下所示。 - [root@iZbp104w56ovfyfxy9o**** ~]# grubby --default-kernel /boot/vmlinuz-3.10.0-1160.90.1.el7.x86_64
- 执行以下命令,设置剩余内核中最新版本的内核作为默认启动内核。 - 例如,设置剩余内核中最新版本的内核为 - 3.10.0-1160.76.1.el7.x86_64。- grubby --set-default /boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64
 
- 问题排查解决后,运行SMC客户端再试。具体操作,请参见运行SMC客户端。 
该文章对您有帮助吗?