Win10启动修复(找不到grub引导)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win10启动修复(找不到grub引导)相关的知识,希望对你有一定的参考价值。

参考技术A 起因:装了win10,然后在另一个分区里装了Ubuntu。后来格掉了Ubuntu所在的分区,Windows找不到引导,系统启动后出现如下提示:

正确的解决方式:

1.插入Windows10启动U盘。
2.进行安装,选择之前系统所在盘;
3.选择之前系统所在磁盘,按住shift+F10,调出cmd。
4.依次键入bootrec /fixmbr 回车;bootrec /fixboot 回车;
5.重启。

Linux系统引导过程及引导修复


一、通电

二、bios初始化

对硬件检测
初始化硬件时钟

三、磁盘引导

mbr=主引导记录=0磁道1扇区446
作用:
记录grub2引导文件的位置

当mbr数据丢失,系统会因为找不到启动分区而停止启动

–问题模拟方式
系统磁盘:dev/sda

dd if =/dev/zero of=/dev/vda bs=446 count=1  ##清除系统/dev/sda上的mbr数据

恢复方式:
用光盘进入系统挽救模式

chroot /mnt/sysimage
grub2-install /dev/vda  #重新安装grub2到系统硬盘上
exit
exit

系统无法正常打开:
在这里插入图片描述
加入光盘:
在这里插入图片描述
选择光盘启动:
在这里插入图片描述
选第三个:
在这里插入图片描述
进入拯救模式:
在这里插入图片描述
进入shell 输入命令后重启 即可打开系统:
在这里插入图片描述

四、grub2文件引导

rhel8
/boot/grub2/grub.cfg
/boot/loader/entries/xxxxxxxx.conf

指定/boot位置
指定系统启动时加载文件成名

–问题模拟1:

rhel8:
rm -fr /boot/loader/entries/xxxxxxx.conf

修复:

rhel8:
cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot
kernel-install add 内核版本号 内核镜像
kernel-install add $(uname -r) /boot/vmlinuz-4.8.0-193.el8.x86_64

手动引导 在开机未能进去的页面

set root='hd0,msdos1'
linux16 /vmlinuz-3.10.0-957.el7.x86_64 ro root=/dev/nvme0n1p2
initred16 /initramfs-4.18.0-80.el8.x86_64.img
boot

模拟问题2:

rm -fr /boot/grub2/grub.cfg

修复

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

五、内核加载

加载内核作用:
/boot/vmlinuz-$(uname -r)
系统初始化硬件设备
只读挂在/设备

问题出现:

rm -fr /boot/vmlinuz-$(uname -r)

恢复:
复制系统中usr下的内核文件到/boot中即可

进入到挽救模式

chroot /mnt/sysimage
cp /usr/lib/moddules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
exit
exit

六、系统初始化镜像

/boot/initramfs-4.18.0-80.el8.x86_64.img
加载系统时钟
加载selinux
加载系统主机信息
加载/etc/fstab文件中磁盘挂载策略
加载磁盘配额
初始化系统程序开机启动服务
开启虚拟控制台
开启图形

–问题出现

rm -fr /boot/initramfs-xxxxx.img

恢复:

mkinitra /boot/initramfs-$(uname -r).img $(uname -r)

在这里插入图片描述
在这里插入图片描述

七、系统启动级别

级别含义
0关机
1单用户
2无图形网络模式
3无图形网络模式
4无图形网络模式
5有图形网络模式
6重启

问题出现:

systemctl set-default reboot.target

恢复:
在开机选择界面按进入到引导文件编辑模式
在内核加载选项最后加入启动级别5
ctrl + x

systemctl set-default graphical.target

八、超级用户密码忘记

恢复:

  1. 在开机选择界面按进入引导文件编辑模式
  2. 在内核加载选项最后删除到ro选项
  3. 更改ro—>rw
  4. 加入rd.break参数终止系统启动进入单用户模式
  5. ctrl+x启动
  6. chroot /sysroot
  7. echo (用户名)| passwd --stdin root
  8. touch /.autorelabel ##当/.autorelabel文件存在seLinux会重新初始化cp kernel-core-4.18.0-80.el8.x86_64.rpm /mnt
    cd /mnt
    rpm2cpio kernel-core-4.18.0-80.e;8.x86_64.rpm | cpio -id
    cp /mnt/lib/modules/4.18.0-80.el8.x86_64/vmlinuz /boot/vmlinuz-$(uname -r)
    exit
    exit
    在这里插入图片描述
    在这里插入图片描述

实验

rm -fr /boot/*

恢复步骤:

grub2-install /dev/sda
grub2-mkconfig > /boot/grub2/grub.cfg
rpm -ivh kernel-core-xxxx.rpm

以上是关于Win10启动修复(找不到grub引导)的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 的引导修复和时间调整

centOS的启动修复

开机启动找不到文件系统的修复步骤

怎样修复grub开机引导

Ubuntu修复启动引导

引导记录损坏修复方法详解