ubuntu 更改boot分区格式,重建引导

ubuntu 20.04 迁移系统后,无法启动,grub引导失败;

使用boot-repair 修复后, /boot 分区变成了vfat 格式,改回ext4格式的步骤如下:

操作步骤如下:

  1. dd if=/dev/sda2 of=boot_sd2.bk
  2. umount /dev/sda2
  3. mkfs.ext4 /dev/sda2 #格式化
  4. mount /dev/sda2 mybootmount # 挂载分区
  5. mount -o loop boot_sd2.bk sda2 # 挂载备份文件
  6. rsync -a sda2 mybootmount # 把备份文件还原到新分区
  7. blkid 查看 UUID,并修改/etc/fstab 使用新的UUID指向 /boot 目录
  8. update-grub

此时重启系统无法引导,so使用live镜像启动

a. 挂载系统到 mnt (我的是lvm),即根分区所在的磁盘

$ sudo mount /dev/ubuntu-gv/ubuntu-lv /mnt
$ sudo mount /dev/sda2 /mnt/boot # (我的boot单独一个分区)

b. 挂载其他所需的目录(使用 --bind)  

$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys

c. chroot 到硬盘上的 Linux 系统

$ sudo chroot /mnt

d. 安装&更新 grub

$ grub-install /dev/sda
$ grub-mkconfig -o /boot/grub2/grub.cfg

此时关机重启ok了,如果想继续其他操作,比如执行reboot命令,执行下一步

e. grub 已经修复成功,我们还需要退出 chroot 环境、卸载已经挂载的设备与目录:

$ exit #退出 chroot 环境
$ sudo umount /mnt/boot
$ sudo umount /mnt/dev
$ sudo umount /mnt/proc
$ sudo umount /mnt/sys
$ sudo umount /mnt

 

 

 

评论列表: