出錯(cuò)提示“Not enough space on /boot”
問(wèn)題描述
在操作系統(tǒng)遷移時(shí),出錯(cuò)提示“Not enough space on /boot”。
問(wèn)題原因
/boot
分區(qū)的可用空間要求大于100 MiB,如果待遷移的操作系統(tǒng)的/boot
目錄沒(méi)有100 MiB的空間來(lái)更新initramfs和新內(nèi)核,可能會(huì)導(dǎo)致操作系統(tǒng)遷移失敗。
解決方案
清理/boot
目錄下不再需要的內(nèi)核版本,包括對(duì)應(yīng)的initramfs、vmlinuz和config等,請(qǐng)保證清理后的內(nèi)核能成功啟動(dòng)。
使用root用戶遠(yuǎn)程連接ECS實(shí)例。具體操作,請(qǐng)參見(jiàn)通過(guò)密碼或密鑰認(rèn)證登錄Linux實(shí)例。
執(zhí)行以下命令,查看已安裝的內(nèi)核版本。
rpm -qa | grep kernel
執(zhí)行以下命令,查看正在使用的內(nèi)核版本。
uname -r
回顯信息如下所示。
[root@iZbp104w56ovfyfxy9o**** ~]# uname -r 3.10.0-1160.el7.x86_64
清理不再需要的內(nèi)核版本。
例如,清理
kernel-3.10.0-514.26.2.el7.x86_64
。如果內(nèi)核通過(guò)rpm包的方式安裝,執(zhí)行以下命令,清理內(nèi)核。
yum remove kernel-3.10.0-514.26.2.el7.x86_64
如果內(nèi)核通過(guò)編譯源碼的方式安裝,依次執(zhí)行以下命令,清理內(nèi)核。
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
設(shè)置剩余內(nèi)核中最新版本的內(nèi)核作為默認(rèn)啟動(dòng)內(nèi)核。
執(zhí)行以下命令,查看目前已安裝的所有內(nèi)核。
grubby --info=ALL
執(zhí)行以下命令,查看目前默認(rèn)啟動(dòng)內(nèi)核。
grubby --default-kernel
回顯信息如下所示。
[root@iZbp104w56ovfyfxy9o**** ~]# grubby --default-kernel /boot/vmlinuz-3.10.0-1160.90.1.el7.x86_64
執(zhí)行以下命令,設(shè)置剩余內(nèi)核中最新版本的內(nèi)核作為默認(rèn)啟動(dòng)內(nèi)核。
例如,設(shè)置剩余內(nèi)核中最新版本的內(nèi)核為
3.10.0-1160.76.1.el7.x86_64
。grubby --set-default /boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64
問(wèn)題排查解決后,運(yùn)行SMC客戶端再試。具體操作,請(qǐng)參見(jiàn)運(yùn)行SMC客戶端。