windows10安装后,grub引导修复(亲自实验)

编程

之前在本机有fedora 29的系统,但是由于错误安装,把windows10 启动安装到 linux 所在的硬盘中,导致原来的 efi中的grub启动被破坏,不能进入到linux中;我首先通过磁盘精灵,把efi中启动文件拷贝到现有的windows安装盘中,重新启动后成功从新的efi分区进入windows; 然后开始进行恢复fedora系统;这时候,有两种办法,一种是重新安装 linux; 另外一种方法就是重新修复grub引导;因为对linux比较了解,我选择了后者;首先参考了两篇已经实践的博客:

  • https://www.cnblogs.com/younc/p/5033995.html (可以参考)
  • https://my.oschina.net/NorthOcean/blog/192131?fromerr=05yQWmOZ (可以参考,但不完全适合)
  • https://blog.51cto.com/shenghao/1212813?source=drt (可以参考,但是有错误)
  • https://docs.pagure.org/docs-fedora/the-grub2-bootloader.html (我用的fedora29, 使用此文档最好, 但是此文章比较复杂,修复引导请看我自己的操作记录)
  • https://blog.51cto.com/shenghao/1212813?source=drt (可以参考,提供一种思路)

Fedora 29 引导修复:

  • 制作live cd 或者 启动盘;
  • 启动进入live os 
  • sudo -i 
  • mkdir -p /mnt/fedora
  • mount /dev/fedora/root /mnt/fedora
  • mount /dev/sda2 /mnt/fedora/boot (挂载boot, 如果boot 分区单独分区的话)
  • mount -t proc proc /mnt/fedora/proc
  • mount -o bind /dev /mnt/fedora/dev
  • mount -o bind /sys /mnt/fedora/sys
  • mount -t devpts devpts /mnt/fedora/dev/pts
  • mount -t efivarfs efivarfs /mnt/fedora/sys/firmware/efi/efivars
  • chroot /mnt/fedora
  • yum makecache 
  • dnf install grub2-efi grub2-efi-x64-modules shim (安装系统为 64位) 
  • grub2-install --recheck /dev/sda1 (sda1 为efi 分区)
  • exit (退出chroot, 好像我在里面使用 grub2-mkconfig 一直阻塞) 
  • mount /dev/sda2 /boot (启动分区 sda2)
  • mkdir /mnt/efi
  • mount /dev/sda1 /mnt/efi (efi分区 sda1)
  • grub2-mkconfig -o /mnt/efi/EFI/fedora/grub.cfg(efi启动时,可以索引到其他磁盘上的系统,比如windows10 系统等)

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

  • reboot 至此,重启后即可进入正常分区;
  • 注意此时,windows efi的引导还在,只是被grub2覆盖了, 先启动grub2;
  • 启动后,需要重新创建 grub2 cfg;
  • 最后,祝您使用愉快;

如果你对linux的启动机制,以及mbr,efi 等不是很了解;建议还是重新安装系统为好,防止把现有的windows系统搞坏;当前很多的pc机,都是基于冯诺依曼结构设计,计算机的中心是存储;所以要保护好磁盘上的分区数据不被破坏;重新划分磁盘的时候,也要多加小心;

保持更新,转载请注明出处;更多内容请关注cnblogs.com/xuyaowen;

以上是 windows10安装后,grub引导修复(亲自实验) 的全部内容, 来源链接: utcz.com/z/511827.html

回到顶部