我用的是主板自带的软raid0,之前的操作系统是lubuntu22.04和win7,分区类型是mbr。最近把win7升级成win10,双引导被win10覆盖了,需要修复。
通过u盘启动lubuntu22.04 live cd,在终端中我输入sudo fdisk -l,没有看到类似/dev/md126p1这样的分区,显然live cd并没有自动识别软raid0分区。
在终端中输入sudo dmraid -a y,然后再去fdisk里查看分区,可以看到多了类似
/dev/mapper/xxxxxxxxVolume0p1这样的分区,这就是识别到的软raid0分区了,名称不一样没有关系,不影响修复引导。
然后是mount grub所在的分区,输入:
sudo mkdir /mnt/l
sudo mount /dev/mapper/xxxxxxxxVolume0p2 /mnt/l
然后就可以用grub-install修复引导了:
sudo grub-install --boot-directory=/mnt/l/boot /dev/mapper/xxxxxxxxVolume0
(如果你的/boot目录是单独挂载在一个分区下的,那么boot-directory就设为/mnt/l)
重启之后,就能看到grub引导被修复了。但并没有结束,还需要执行一下update-grub以找到新装的win10。
从grub进入硬盘上的lubuntu22.04操作系统,然后在终端中执行sudo update-grub。
至此,双引导修复完成。