linux下boot标准分区如何扩容及注意事项

前提情景:

按照普通标准分区扩容的方式先对boot分区进行扩容,具体步骤也可以参考如下wiki,网上资料很多,这里不做赘述。

CentOS7 扩容任何目录(包括 /boot)小白都可以学会,每一步都有详细截图引导_51CTO博客_centos7根目录扩容

这种情况下,扩容完boot并重启系统后  可以看到boot分区是确实已经顺利完成扩容,使用上也没有问题。但遇到其他需要修改grub.cfg启动项的场景时,会发现系统开机后grub读取的还是原来的/dev/sda1下boot分区里的grub.cfg,无论是怎么修改当前的grub.cfg启动项,在开机启动页面依旧是不会生效。

原因分析:boot是标准分区的情况下,通过增加/dev/sdb磁盘对/boot分区扩容之后,系统启动项仍然是第一块sda磁盘,所以开机grub画面读取的还是原分区下的grub.cfg(切记,此时绝对不能格式化原来/boot对应得/dev/sda1分区时,否则系统将会无法启动,开机直接进入grub rescue>,修复方法参考问题1),这时,我们需要将启动项在bios中设置为第二块sdb磁盘才可以读取到最新的grub引导项。具体操作步骤如下:

此处以实际遇到的传统Legacy模式引导说明,具体UEFI可以参考如下步骤:

1、fdisk /dev/sdb    将该磁盘设置为boot分区标识*(输入a后,可以增加*,再次输入a后可以删除*)

(遇到告警提示可以忽略,不影响,原因是扩容后该磁盘重新挂载了/boot,我们可以先将该磁盘卸载,然后再操作);

2、grub2-install /dev/sdb  安装grub到sdb磁盘上

3、grub2-mkconfig -o /boot/grub2/grub.cfg  重新生成grub.cfg引导文件

4、bios中调整第二块磁盘/dev/sdb为第一启动盘

5、此时 即使将原来/boot分区对应的/dev/sda1格式化也没有影响

其他说明:boot分区不能设置lvm方式。

问题1

修复方法:

参考:Linux 开机进入grub 命令行模式.docx

https://www.cnblogs.com/tanghu/p/10965019.html

使用cp -R  /usr/lib/grub/i386-pc/* /mnt/sysimage/usr/lib/grub/i386-pc

然后使用chroot切换到/mnt/sysimage环境,继续运行

 grub2-install /dev/sda,即可成功安装grub2

然后我们还需要重新生成配置文件:

grub2-mkconfig -o /boot/grub2/grub.cfg

为了保险起见我重新运行了一次

# grub2-install /dev/sda

重起之后即可正常引导进入Linux系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值