双系统修复Ubuntu 12.04 GRUB引导

 由于linux采用的是GRUB引导,但是Windows没有采用了不同的引导程序,但是在MBR种只能存在一种引导方式,这就存在一个问题,如果安装Linux和Windows的双系统的话,那么势必将出现引导问题:

情况一:先安装安装的是Windows系统,然后安装的是LInux系统

由于linux使用的GRUB可以包含windows的引导,所以一般不会存在什么问题

如果先安装了Windows后安装Linux不能进入WIndows的话,那么进入恢复模式后,更新grub即可,grub会自动的添加WIndows的引导项

情况二:先安装linux。后安装的Windows,

      由于安装的Windows会覆盖原来的grub引导记录,因此这样的安装顺序将导致一个很普遍的问题:不能进入linux系统,因为linux系统的引导被覆盖了

  另外的可能还有意外的删除了LInux的引导或重新修改了mbr,那么也会导致不能进入Linux

结合网上的方法,本文侧重于Grub的恢复:

    首先,要申明的一点的是,对于不同的LInux系统而言,引导的命令是不同的,比如RedHat/Centos,如果丢失不能进入系统,那么可以增加一条如下的命令就可以重新进入系统:

root (hd0,6)    kernel /vmlinuzinitrd /initrd.img

我们假设linux 的root分区就在第一个磁盘的第六个分区上,那么就可以写root(hd0,6)

后面的两个命令”/”接的是具体的文件名,不同版本不同

但是对于Ubuntu,这样的通用方式却不能启动,那么只能借助LiveCD来重新安装GRUB:

1.从U盘或LiveCD进入Ubuntu(注意,这里进入的Ubuntu是你的U盘或LiveCD上的Ubuntu)

2.打开终端,输入:

?
sudo fdisk -h

上面的命令可以看到所有的分区,根据分区的block值来判断那个是LInux的/分区,可以根据大小来判断,那个的block值和原来linux系统的根分区相似,那么分区就是linux的根分区,

如果实在不知道,那么挂载全部的分区,然后依次查看所有的分区的文件也可以确定,确定完后,记得卸载挂载过的分区,这里我们假设分区为sda7

3.挂载根分区:

?
sudo mkdir /mnt/root #创建root目录用于挂在根分区
sudo mount /dev/sda7 /mnt/root #挂载分区到/mnt/root目录下 

4.如果你的boot分区和根分区不为同一个分区的话,那么将boot分区挂载到之前挂载的根分区的boot目录下,:

     假设boot分区为:sda10

?
sudo mount /dev/sda10 /mnt/root/boot #因为之前已经将根分区挂载到/mnt/root目录下了,因此将boot分区挂载到该目录的boot目录下 

5.安装grub:

?
sudo grub-install --root-direcotory=/mnt/root /dev/sda 

6.安装完成后重启即可,如果原先的WIndows的引导消失,进入恢复模式的linux,然后选择更新grub即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值