华为云主机【openEuler 22.03 (LTS-SP1)】扩容boot分区
系统环境:openEuler 22.03 (LTS-SP1),引导模式:BIOS,系统盘分区表:MBR 
一.问题现象
/boot分区使用率已达100%
二.扩容 boot
🔒 前置准备
1. 备份数据
bash
# 备份 /boot 所有内容
rsync -av /boot/ /boot_backup/![]()
2. 系统盘快照
给系统盘创建完整快照,万一操作失败可一键回滚。


3.系统盘扩容1GB
云主机内,lsblk查看到/dev/vda大小增加到101G

3. 创建分区
#1备份分区表:sfdisk -d /dev/vda > bak.txt
#2创建扩展分区/dev/vda4(1G)
fdisk /dev/vda
输入 n
Seclct:e
First sector:回车
Last sector:回车

#3创建逻辑分区/dev/vda5(1G)
输入 n
First sector:回车
Last sector:回车

#4加载分区表
partprobe /dev/vda
![]()
4.新分区格式化
bash
mkfs.ext4 /dev/vda5
🔒boot分区扩容
📂 步骤 1:数据迁移
迁移数据到新 /boot 分区
bash
# 1. 创建临时挂载点
mkdir -p /mnt/newboot
# 2. 挂载新分区到临时目录
mount /dev/vda5 /mnt/newboot
# 3. 同步原 /boot 数据到新分区(保留权限与属性)
rsync -av /boot/ /mnt/newboot/
# 4. 验证数据完整性(对比两个目录)
diff -r /boot/ /mnt/newboot/
![]()
# 若无输出,说明数据完全一致
📂 步骤 2:修改 fstab
修改 /etc/fstab (先测试,不生效)
#1. 获取新分区 UUID:
bash
blkid /dev/vda5 ![]()
#2. 编辑 /etc/fstab ,注释掉原 /boot 行,添加新行:
bash
#3. 测试挂载配置(验证 fstab 正确性)
bash
# 先卸载临时挂载
umount /mnt/newboot
# 尝试按新 fstab 挂载 /boot
mount /boot
# 验证挂载成功
df -h /boot
# 若显示 /dev/vda5,说明配置正确
📂 步骤 3:重新安装 GRUB 引导(确保指向新 /boot )
bash
# 1. 安装 GRUB 到磁盘(必须在新 /boot 挂载后执行)
grub2-install /dev/vda
# 2. 生成新的 GRUB 配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
# 3. 验证配置文件是否包含新分区信息
grep -E "set root|linux|initrd" /boot/grub2/grub.cfg | head -10
# 应有输出,只要 set root 是 hd0,msdos5 ,就代表迁移成功。
📂 步骤 4:最终验证与重启
#1. 检查引导文件:
bash
ls /boot
# 确认 vmlinuz、initramfs、grub.cfg 都存在

#2. 重启验证:
控制台重启云主机
重启后若系统正常启动,执行:
bash
df -h /boot![]()
# 最终确认 /boot 已使用 /dev/vda5
⚠️ 额外安全提示
- 若重启后无法启动,可在云控制台回滚快照恢复到操作前状态。
- 原 /dev/vda2 分区(旧 /boot )可在确认新 /boot 正常后,再删除或扩容其他分区。
三.后续扩容根分区
前置准备:控制台创建系统盘备份
1.系统盘扩容
根分区目前大小:100G

控制台扩容20G

扩容后/dev/vda大小:121G

2.扩容vd4 、重建vda5 & 新建vd6
bash
partprobe /dev/vda #加载分区表
sfdisk -d /dev/vda > bak.txt #备份分区表
fdisk -l /dev/vda
#记下vda4原始Start、vda5 的Start/End
#1.扩容vda4
fdisk /dev/vda
p
d #删除扩展分区4
4
n #新建扩展分区4
e
4
First Sector:填入抄好的vda4旧起始扇区 → 回车
Last Sector:结束扇区这里直接回车(全盘拉满)

#2.重建vda5
First Sector:填入抄好的vda5起始扇区 → 回车
Last Sector:填入抄好的vda5结束扇区 → 回车
p #检查vda5起始、结束扇区与之前是否一样

#3.新建vda6
n
两次回车(自动逻辑分区vda6,占vda4剩下所有空位)
First Sector: 回车
Last Sector:回车
#改变分区vd6的类型
t
6
8e #linux LVM类型
p 整体复核:vda4扩容、vda5(起始/结束扇区)不变、vda6类型8e
w 保存
#4.刷新分区
bash
partprobe /dev/vda
lsblk
3.LVM扩容根分区
#1.扩容lvm
bash
pvcreate /dev/vda6
vgdisplay
vgextend openeuler /dev/vda6
lvdisplay
lvextend -l +100%FREE /dev/openeuler/root
#2.文件系统拉伸
Bash
#xfs文件系统
xfs_growfs /
#3.校验空间
bash
df -h
4.强制修复引导
#1.重建(删重建扩展分区必执行)
bash
grub2-install /dev/vda
grub2-mkconfig -o /boot/grub2/grub.cfg
#2.验证配置文件是否包含新分区信息
grep -E "set root|linux|initrd" /boot/grub2/grub.cfg | head -10
无报错再 reboot
5.出错回滚
bash
sfdisk /dev/vda < bak.txt
partprobe /dev/vda
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)