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. 【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  2. Linux下的MySQL5.7.14启动方法

    启动MySQL服务: systemctl start mysql 启动MySQL服务(安全方式): mysqld_safe --user=mysql & 登录MySQL(有密码): mysql ...

  3. OpenGL中glUniform1i使用

    在OpenGL中使用glGetUniformLocation和glUniformxxx等函数时,要在之前启用对应的着色器程序,即调用glUseProgram.

  4. 全球性WannaCry蠕虫勒索病毒感染前后应对措施

    前言:针对WannaCrypt勒索病毒的讨论和技术文章是铺天盖地,大量的技术流派,安全厂家等纷纷献计献策,有安全厂家开发各种安全工具,对安全生态来说是一个好事,但对个人未必就是好事,我们国家很多用户是 ...

  5. 获取 Let's Encrypt 免费通配符证书实现Https

    说明 3月14日,Let's Encrypt的执行董事Josh Aas对外宣布,他们的通配符证书正式上线,用户可以基于此特性轻松部署/开启所有子域名的HTTPS功能. Let's Encrypt 是国 ...

  6. [C#]200 行代码使用 C# 实现区块链

    文章原文来自:Code your own blockchain in less than 200 lines of Go!,原始文章是通过 Go 语言来实现自己的区块链的,这里我们参照该文章来使用 C ...

  7. Caffe+VS2015+python3的安装(基于windows)

    在网上找了许多安装Caffe的教程 感觉全都是杂乱无章的 而且也没有详细的 只能自己当小白鼠来实验一次了 本次配置:CUDA 8.0+ CUDNN  +VS 2015 +Python 3.5 + Ca ...

  8. ASP.NET MVC4通过UrlRewriter配置伪静态,支持html后缀

    参考文章: ASP.NET MVC4通过UrlRewriter配置伪静态 http://blog.csdn.net/just_shunjian/article/details/51132866 .NE ...

  9. hadoop中集群节点ID不一致( java.io.IOException: Incompatible clusterIDs )

  10. discuz7.2 faq.php 注入漏洞分析

    写在前面的话:分析完整个漏洞,不得不感叹,发现漏洞的人真的好细心呀. 在分析整个漏洞之前,没看poc,然后就直接看faq.php 准备试试自己发现漏洞的能力,但是分析完一整个php,也是卡在 in() ...