zoukankan      html  css  js  c++  java
  • win + ubuntu 双系统 grub引导项修复

    1.  ubuntu liveCD模式,找到ubuntu的系统盘位置,挂载到系统上面,然后使用grub进行修复
    2. ubuntu liveCD模式下是用boot-repair软件进行修复
    3. grub急救模式

      

    1. ubuntu liveCD模式 + grub修复

    一种情况是grub已经损坏或者丢失,开机后直接进windows,没法进入grub,也没法进入急救模式resume,

    此时需要使用ubuntu安装盘选择try ubuntu without installing,进入liveCD模式,挂载ubuntu系统盘,

    如果不知道哪个盘是ubuntu安装盘,可以使用下面的命令查看磁盘,可以看到sda5是linux的系统盘

    sudo fdisk -l

    找到ubuntu的系统盘后,使用下面的命令将磁盘挂载到系统上

    sudo mount /dev/sda5 /mnt

    grub-install 会恢复grub文件夹中丢失的文件,但是不会恢复故意删除和损坏的文件,

    所以要完成引导的修复,需要grub2完全被卸载并重新安装

    下一步开始恢复grub2的引导,此时要注意如果是grub执行的是--root-directory,grub2才是执行的下面这个命令,现在基本上都是grub2

    sudo grub-install --boot-directory=/mnt/boot /dev/sda

    如果没有报错,就代表修复完成

    如果重启后grub的引导界面上没有windows系统,则进入ubuntu后,更新一下grub的引导项

    sudo update-grub

    上图就是修复了grub的启动项,包括ubuntu和windows

    2. 使用boot-repair来修复grub引导项

    第一步进入ubuntu liveCD模式,

    第二步安装boot-repair

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    sudo apt-get install -y boot-repair && boot-repair

    等待一会就会出先boot-repair的界面

    点击Recommended repair,修复过程中它可能会要求你去执行一些命令,按照他的要求,打开终端,执行命令,执行完毕后,点击forward(下一步)

    在boot-repair修复完成后,重新启动,就可以见到久违的启动菜单了

    3. grub急救模式

    开机后,进不去系统,进入grub管理页面,这表示grub的配置文件损坏,进入了急救模式,

    在急救模式下只有少数几个命令可以使用:

    set:查看系统环境变量,这里可以查看启动路径和分区

    ls: 查看设备

    insmod:加载模块

    root:用于启动系统的分区,在救援模式下设置grub启动分区

    prefix:设定grub启动路径

    具体修复步骤如下:

    3.1 寻找ubuntu的系统盘

    首先查看有哪些磁盘,然后去找ubuntu的系统盘

    ls
    ls(hd0,msdos6)

    挨个去试,直到找到ubuntu的系统盘

    3.2 安装MBR

    grub rescue>set root=(hd0,msdos6)
    grub rescue>set prefix=(hd0,msdos6)/grub
    grub rescue>insmod normal                     //加载normal
    grub rescue>normal

    自动重启后就可以看到grub的启动菜单栏了

    选择ubuntu后,发现还是进入不了系统,这是因为还没有真正的修复grub,这个需要到ubuntu系统中进行修复

    怎么进入ubuntu系统呢?

    进入系统启动界面,按c进入命令行模式

    grub >set root=hd0,msdos6
    grub >set prefix=(hd0,msdos6)/grub
    grub >linux (hd0,msdos6)/boot/vmlinuz-xxx-xxx root=/dev/sda6 //里边的xxxx可以按Tab键,如果有acpi问题,在最后加一句acpi=off
    grub >initrd (hd0,msdos6)/boot/initrd.img-xxx-xxx
    grub >boot

    这样就可以进入ubuntu了

    3.3 进入ubuntu修复grub

    前面的工作已经恢复了MBR,下一步需要更新下grub引导项

    sudo update-grub

     重启后就可以看到grub引导菜单中有windows和ubuntu了

    如果不行的话,回到第三步,在更新grub引导项后,再执行命令

    sudo grub-install /dev/sda

    此时可能会报错"grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory"

    解决方式是安装一下grub-pc-bin这个包,然后重新执行一下上面的命令

    sudo apt-get install grub-pc-bin



    参考文档 

    https://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/

    https://blog.csdn.net/gatieme/article/details/59127020

    https://lesca.me/archives/restore-boot-menu-after-reinstalling-windows.html

    https://askubuntu.com/questions/737059/problem-installing-windows-over-ubuntu-grub-install-error

    https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot

    http://yhz61010.iteye.com/blog/2302418

    http://blog.sina.com.cn/s/blog_7deb436e0101nzkq.html

  • 相关阅读:
    Java中last_insert_id的使用
    Java上传视频
    Java创建Excel-DEMO
    导出excel表格
    Java导入excel并保存到数据库
    Java基础13一异常
    Java基础12一IO流
    腾讯云-等保要求
    云安全等保项目服务内容及云安全产品清单-(腾讯云部分)
    《网络风险及网络安全》培训总结
  • 原文地址:https://www.cnblogs.com/zxhyJack/p/9165919.html
Copyright © 2011-2022 走看看