zoukankan      html  css  js  c++  java
  • 重装win7 修复ubuntu引导

    恢复引导方法:

    1.放进liveCD,重启,看到有界面出来的时候,选择试用,不要点安装。

    2.进入ubuntu试用版后,打开终端,在左上角的应用程序->附件->终端那

    3.输入以下命令:

    sudo fdisk -l   //得到的结果类似下面。查看ubuntu的根目录在那,这里没办法直接看出来,只能靠你自己识别,可以从分区的大小判断是不是根分区,就是在装ubuntu时,挂载点为 / 的那个分区

    <!--more-->

    从图中的结果看出来,根分区在sda12.因为小狼记得分/分区的时候是分了20G的大小,并且当时是先分了/分区,然后再分了一个20G的/home分区的。所以判断出sda12是/分区,而不是sda13,虽然它也是20G.把sda12记住。

    <strong>注意:如果分区的时候,你单独把boot分区分出来了,还要多一步工作,就是找出boot分区:</strong>

    从上图可以看出,boot分区在sda8,因为它是最小的,只有200M.(你装ubuntu的时候分了多少就是多少)

    记住sda8。

    4.输入

    sudo mount /dev/sda8 /mnt

    因为小狼的单独把boot分区分出来了,并且它的位置在sda8.如果你没有单独把boot分区分出来.那就修改一下位置,改为

    sudo mount /dev/你的根分区所在位置 /mnt

    5.输入

    sudo grub-install --root-directory=/mnt /dev/sda8

    同样,如果你没有把boot分区单独分出来就改成

    sudo grub-install --root-directory=/mnt /dev/你的根分区的位置

    这里应该不会有什么问题,因为如果位置不对,无法安装,你可以一直输这个命令直到位置对了为止.

    6.如果出现了no error report。那你就差不多成功了.然后sudo init 6.重启。

    7.重启之后你会无奈地发现......windows也无法启动了,进入的是grub的命令行.....不要怕。进到这里你已经离成功不远了.

    输入:

    root (hdX,Y)   //x为硬盘位置,如果你只有一快硬盘,X=0,如果有多块,相应设置x。Y为boot分区所在位置,这里是8.如果没有单独分boot分区,y就是你的/分区所在位置

    kernel /vmlinuz-2.xxxxx-generic root=/dev/sda12(无论你有没有把boot分区单独分出来,这里都要写/根分区的位置,否则无法完成启动,这里可以按tab完成填写)

    如果没有单独把boot分区分出来,就是

    kernel /boot/vmlinuz-2.xxxxx-generic root=/dev/sda12 这里可以按tab键补全文件名 原文的命令是linux不过我显示没有 应该是kernel
    initrd /initrd.img-2.xxxxx-generic

    initrd /boot/initrd.img-2.xxxxx-generic
    boot

    到这里已经差不多完成了.因为你已经可以进入原来的ubuntu了,但是如果就这样不管了,那么下一次重启还需要重复一次上面的工作。这也太渗人了。。。

    那最后就修复一下grub吧.

    打开终端,输入

    sudo update-grub

    看到

    Generating grub.cfg ...
    Found linux image: /boot/vmlinuz-2.6.35-27-generic
    Found initrd image: /boot/initrd.img-2.6.35-27-genericFound Windows Server 2008 (loader) on /dev/sda1
    done

    恭喜,现在已经全线完工了。赶快重启一下看看熟悉的grub引导菜单是不是回来了~

    以上转自http://wowubuntu.com/fix-grub.html 部分有自己的修改

    &nbsp;

    如果出现grub error 到了grub rescue的界面肿么办?

    譬如 error:file not found 亦或是error:unknow filesystem

    grub rescue&gt;ls

    查看有哪些分区 我的根分区是(hd0,msdos1) 因为我把ubuntu根分区放在第一块硬盘的第一个分区 没有另外分boot 显示可能有所不同

    grub rescue&gt;set root=(hd0,msdos1)

    grub rescue&gt; set prefix=(hd0,msdos1)/boot/grub

    grub rescue&gt;insmod normal

    grub rescue&gt;normal

    现在应该开启正常的画面了 进入ubuntu还有两步

    1.sudo update-grub

    2.sudo grub-install /dev/sda

    <strong>本篇文章转载至网络,我感觉我自己在操作的过程中遇到的一个问题就是:我在之前制作ubuntu的时候,分了一个跟分区,boot分区,和swap分区,在修复引导的时候,只挂载了跟分区,然后重新安装grub的时候,安装没有问题,但是无法启动。查了很多资料,最后终于找到解决方法,就是boot分区一定要挂载在跟分区的boot目录下面,然后再重新安装grub。然后启动一切ok!!!!</strong>

  • 相关阅读:
    Zookeeper 笔记小结
    kafka-Reblance
    kafka笔记
    Dubbo笔记--
    Dubbo 成熟度策略.
    zookeeper watch笔记
    zookeeper 笔记--curator分布式锁
    zookeeper 笔记
    git原理整体理解
    VM options 以及 properties文件的一些理解
  • 原文地址:https://www.cnblogs.com/Seven-Wang/p/4451576.html
Copyright © 2011-2022 走看看