让Grub2正常运行起来!

本文提供详细的步骤指导如何使用启动盘运行Ubuntu系统,并重装Grub2。此外,还介绍了当Grub2损坏时如何进行修复,包括彻底删除和重新安装的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Grub2重装

  1. 使用启动盘运行ubuntu系统(制作windows+ubuntu的多系统启动盘
  2. 使用sudo fdisk -l 或通过Dash运行Disk Utilities查看磁盘的详情,决定 grub2安装在/dev/sda/dev/sdb
  3. 挂载root分区(假设root分区在/dev/sda1上
    sudo mount /dev/sda1 /mnt
  4. 绑定设备目录
    sudo mount --bind /dev /mnt/dev
  5. 如果boot目录单独挂载一个分区上,那么你一定要执行这命令 (假设boot分区在/dev/sda2上)
    sudo mount /dev/sda2 /mnt/boot
上面准备步骤完成 ,真正进入重装Grub的过程
  1. 切换root目录
    sudo chroot /mnt/
  2. 更新grub.cfg文件
    update-grub
  3. 安装Grub2
    grub-install /dev/sda
  4. 卸载挂载点并重启
    umount /mnt
    reboot
  5. 进入磁盘上ubuntu系统,运行sudo update-grub 就可以在Grub启动菜单中添加磁盘上所有系统的启动选项(包括windows系统)

Grub2修复

当上电开机,电脑只在屏幕左上角显示grub rescue>,说明Grub2已经因为原分区结构改变导致被损坏。本质原因:由于grub2分为两部分,一般情况下第一部分是烧写在MBR内,另一部分位于某个分区的/boot/grub目录下(如果/boot单独分区,则直接写在对应分区的/grub目录)。由于强制改变原分区结构比如合并或删除分区,致使grub2的MBR程序找不到/grub目录下程序代码。

彻底删除Grub2:

只要进入Windows PE启动盘,运行MBR修复工具即可,或者运行故障修复台,执行MbrFix /drive 0 /fixmbr /win7命令(详情查看MbrFix /? 帮助

修复Grub2:
  1. 使用ls命令,一定找到Ubuntu安装分区:grub rescue>ls
    (hd0) (hd0,msdos1) (hd0,msdos5) (hd0,msdos6)…等等

  2. 依次查找各分区下有没有/boot目录:
    如果/boot没有单独分区,用以下命令:
    grub rescue>ls (hd0,X)/boot/grub
    如果/boot单独分区,则用下列命令:
    ls (hd0,X)/grub
    X表示各个分区
    正常情况在屏幕上会显示很多文件并且这些文件的扩展名是.mod.lst,但有一个文件是grub.cfg

  3. 如果找到正确的grub目录所在分区,则设法临时性将grub的两部分关联起来
    /boot没有单独分区的命令:
    grub rescue>set root=(hd0,Y)
    grub rescue>set prefix=(hd0,Y)/boot/grub
    grub rescue>insmod /boot/grub/normal.mod
    Y表示所找到正确的分区
    grub rescue>normal
  4. 进入ubuntu后,在终端执行:
    sudo update-grub
    sudo grub-install /dev/sda
    Grub2 是否安装在/dev/sda上根据自己的具体情况而定!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值