Introduction

一般我会在计算机上装两个或者多个系统,例如,我在计算机上安装了Ubuntu、Windows 7、Windows 8.1。有一天我的Win8.1不能正常使用了,我想重新安装Win8.1,但是安装之后Linux就不能被引导进入了!大家知道Linux是使用Grub来引导的,那我们完全可以重新安装Grub!

因为原先的Linux不能进入了,所以我们制作一个Linux系统安装盘,然后利用“试用Ubuntu“来完成这个任务。

制作Linux安装盘

暂时不说这个了。

开始恢复

列出磁盘分区

ubuntu@ubunt:~$ sudo fdisk -l

我有三个硬盘,输出结果如下:

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2bf44b31

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   209717247   104857600    7  HPFS/NTFS/exFAT
/dev/sda2       209717248   419432447   104857600    7  HPFS/NTFS/exFAT
/dev/sda3       419434494  1953523711   767044609    f  W95 Ext'd (LBA)
Partition 3 does not start on physical sector boundary.
/dev/sda5       419434496   629149695   104857600    7  HPFS/NTFS/exFAT
/dev/sda6       629151744   838866943   104857600    7  HPFS/NTFS/exFAT
/dev/sda7       838868992  1048584191   104857600    7  HPFS/NTFS/exFAT
/dev/sda8      1048586240  1048975359      194560   83  Linux
/dev/sda9      1048977408  1348974591   149998592   83  Linux
/dev/sda10     1348976640  1548974079    99998720   83  Linux
/dev/sda11     1548976128  1889515519   170269696    7  HPFS/NTFS/exFAT
/dev/sda12     1889525760  1953523711    31998976   82  Linux swap / Solaris

Disk /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc4e7c4e7

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xafd68fba

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048   209717247   104857600    7  HPFS/NTFS/exFAT
/dev/sdc2       209717248   625139711   207711232    f  W95 Ext'd (LBA)
/dev/sdc5       209719296   625139711   207710208    7  HPFS/NTFS/exFAT

其中System标记为Linux的就是Linux控制的分区了。

挂载硬盘上的Linux分区

我自己知道当初安装Linux的时候分区是这样的:

/boot   ~200MB
/       ~150GB
/home   ~?

所以我判断:

/dev/sda8  /boot
/dev/sda9  /
/dev/sda10 /home

故作如下挂挂载操作:

ubuntu@ubunt:~$ sudo mount /dev/sda9  /mnt
ubuntu@ubunt:~$ sudo mount /dev/sda8  /mnt/boot
ubuntu@ubunt:~$ sudo mount /dev/sda10 /mnt/home

挂载结束后,还要进行如下操作(原因不明):

ubuntu@ubunt:~$ sudo mount --bind /sys /mnt/sys
ubuntu@ubunt:~$ sudo mount --bind /proc /mnt/proc
ubuntu@ubunt:~$ sudo mount --bind /dev /mnt/dev

使用硬盘上的Linux系统重新安装grub

如果你使用的是grub2:

ubuntu@ubunt:~$ sudo chroot /mnt
ubuntu@ubunt:/# grub2-install /dev/sda
ubuntu@ubunt:/# grub2-mkconfig -o /boot/grub2/grub.cfg
ubuntu@ubunt:/# exit # 退出chroot

如果不是grub2:

ubuntu@ubunt:~$ sudo chroot /mnt
ubuntu@ubunt:/# grub-install /dev/sda
ubuntu@ubunt:/# grub-mkconfig -o /boot/grub/grub.cfg
ubuntu@ubunt:/# exit # 退出chroot

退出 & 重起

如果你想

ubuntu@ubunt:~$ sudo umount /mnt/sys
ubuntu@ubunt:~$ sudo umount /mnt/proc
ubuntu@ubunt:~$ sudo umount /mnt/dev
ubuntu@ubunt:~$ sudo umount /mnt/home
ubuntu@ubunt:~$ sudo umount /mnt/boot
ubuntu@ubunt:~$ sudo umount /mnt
ubuntu@ubunt:~$ sudo shutdown -r -h now

如何使用Live CD来修复Grub / Grub2的更多相关文章

  1. [转]使用Ubuntu Live CD修复Grub引导教程

    这个教程的方法我用过了,能够解决了我的问题. 这篇文章主要介绍了使用Ubuntu Live CD修复Grub引导教程,本文以 Ubuntu Live CD 修复 Grub 引导为例,需要的朋友可以参考 ...

  2. ubuntu live cd修复grub引导项

    1. 通过Ubuntu Live CD(安装盘,选择try Ubuntu)进入Ubuntu系统 打开终端,依次进行如下操作: 1. sudo fdisk -l 出现如下界面: 2. 然后会看到,有好多 ...

  3. 二十五、grub (Boot Loader) 以及修复grub

    双系统安装(先Windows后Linux,以免windows NTloader会覆盖Linux loader) GRUB Grand Uniform Bootloader CentOS5,6 grub ...

  4. 修复GRUB引导故障!

    故障原因:MBR中的GRUB引导程序遭到破坏,grub.conf文件丢失,引导配置有误 故障现象:系统引导停滞,显示“grub>”提示符 解决思路:若无MBR备份,进入急救模式,重新安装grub ...

  5. Ubuntu Live CD联网修复

    此模式下可以联网修复ubuntu系统下绝大多数问题.进入LIVE CD模式,打开终端执行以下命令: #此处/dev/sda1为ubuntu根分区,工作中根据实际分区情况更改 sudo mount /d ...

  6. linux+win7双系统重装win7修复grub的办法(转)

    本人是debian+win7的双系统, 下面介绍下重装win7的整个过程以及遇到的一些小问题,在查阅相关博客和朋友的帮助下成功修复, 记录下以便以后有不时之需, 也希望能帮助到遇到同样问题的朋友! 首 ...

  7. Ubuntu 16.04 grub rescue 模式下修复 grub

      前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系 ...

  8. win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub

    前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系统环 ...

  9. 怎样修复grub开机引导(grub rescue)

    很多时候,特别是在linux调整分区后,开机重启时会出现         error : unknow filesystem         grub rescue>         的字样,系 ...

随机推荐

  1. CAdvisor container monitor

    Now cadvisor is useful as a container montor tool. Not only it can monitor many container level metr ...

  2. Java进阶篇(二)——抽象类、内部类

    之前在类和对象中我们说到了类的普通特性,本篇将介绍类的一些高级特性. 一.抽象类 抽象类:抽象类是只声明方法的存在而不去具体实现它的类.抽象类不能被实例化,也就是不能创建其对象.使用abstract关 ...

  3. python pygame 安装和运行的一些问题

    1.python安装过程中可以选择自动配置环境变量,可以避免手动配置,但是缺点是如果环境变量有问题,就得自己重新学习配置环境变量. 2.我自己想用python从游戏方面入手,所以在安装pygame过程 ...

  4. C++ 前期准备

    在线编译网站: http://www.dooccn.com/cpp/ 刷题: https://leetcode.com/ https://leetcode-cn.com/

  5. [LeetCode] Find Duplicate File in System 在系统中寻找重复文件

    Given a list of directory info including directory path, and all the files with contents in this dir ...

  6. CTSC&APIO2017

    CTSC Day -1 因为越发感到自己与dalao们之间姿势水平的差距,本来打算再多学些姿势,但被老师叫去做noi,于是花了一两周的时间做完了noi2011~2015,也学到了一些奇怪姿势,还是挺有 ...

  7. FZU 2157 树形DP

    最开始一直不理解题是什么意思 ╯▽╰ 题意:给出n个点,每个点都有两种花费,一个是0种花费,一个是1种花费,每两个点相连,边也有花费,是随着点所取话费的种类不同,边的花费也不同,边有四种花费,00,0 ...

  8. 【Gcd】

    [题目描述] 有 n 个正整数 x1~xn,初始时状态均为未选.有 m 个操作,每个操作给定一个编号 i,将 xi 的选取状态取反.每次操作后,你需要求出选取的数中有多少个互质的无序数对. [输入数据 ...

  9. Spring系列之装配Bean

    Spring 的三种装配Bean的方式 组件扫描+自动装配(隐式) 通过Java config装配bean(显示) 通过XML装配bean(显示) 一.组件扫描+自动装配(隐式配置) 组件扫描: Sp ...

  10. 利用maven打jar包(项目来自GitHub)

    1.首先去GitHub上clone一个项目.(前提,maven项目) 2.切换到项目根目录. 3.执行mvn package. 第一次操作失败: 分析错误原因(javac):maven无法找到jdk, ...