重装windows后 用live cd修复ubuntu启动gurb

来源:互联网 发布:hadoop大数据平台构建 编辑:程序博客网 时间:2024/05/16 19:12
           一般安装windows 和 linux双系统, 都是先安装windows, 然后安装linux, 那么linux的grub安装会加入windows启动的选项, 开机时就能选择启动进入哪个系统了。

            但是如果重装了windows, windows会重写mbr分区表, 导致grub的信息丢失, 开机就不能进入linux了。 下面就用ubuntu例子来修复grub启动项。

            第一步, 用livecd 启动系统
                       进入livecd里的ubuntu, 连这一步都不知道的代表你没硬盘安装过Ubuntu,用wubi重装一次吧...

            第二步, 获取root权限
                  
打开终端,输入如下命令:
                    sudo passwd
                    #两次输入自己设的密码
                    su - root
                    #输入上面密码


          
第三步, 获得安装linux的根目录/分区编号。
                   
执行:
                    fdisk -l
                  

重装windows后 用live cd修复ubuntu启动gurb - 饥民 - 饥民2011

如上图,可以根据文件格式和分区大小来判断。 我这个台机器ubuntu是安装在/dev/sdb6 这个分区下面的。
但是要把grub恢复安装到第一块硬盘/dev/sda 下面会提到

             第四步, 挂载/dev/sda6 到livecd 的系统下
          
输入如下命令:
               mkdir -p /media/sdb6  && mount /dev/sdb6 /media/sdb6

             
            
              第五步, 挂载Livecd的/dev /sys /proc 到你安装ubuntu的分区下:
           
因为这个3个目录的信息都是实时生成的, 所以要把他们挂到原来的分区下面:
             依次执行:
                mount --bind /dev /media/sdb6/dev
              mount --bind /proc /media/sdb6/proc
              mount --bind /sys /media/sdb6/sys

          
第六步, chroot到硬盘上的ubuntu系统:
           
chroot命令是1个很强大的命令。可以改变你当前的环境
              执行:
                chroot /media/sdb6

          
            
第七步, 安装grub到启动的硬盘
            注意这里是安装grub到硬盘。而不是分区啊
                至于哪个硬盘要看你之前安装ubuntu时是选哪个硬盘启动的, 一般来讲都是机器的第一块硬盘,所以这里我要把他安装在/dev/sda

              如果安装错硬盘怎么办? 没关系的, 只是系统从/dev/sda启动时找不到grub信息, 照着这篇文章重新来一次就ok 没什么后果。
            
              执行:
             grub-install /dev/sda
                              #注意不要写成/dev/sda1啊
                              #再fedora中用的是grub2 就要执行grub2-install /dev/sda

 
             第八步,更新grub 配置
          
grub的配置一般都在/boot/grub/grub.cfg 或者 /boot/grub2/grub.cfg 中zhong
            但无需修改他们, 因为他们之前但配置是正确的, 除非你安装啦windows之前还重新分区了..

            执行:
            update-grub
                        #这个只是1个别名 真正的命令是:
                        #grub2-mkconfig -o /boot/grub/grub.cfg
                        #grub2-mkconfig  /boot/grub/grub.cfg 是重新生成配置文件。
         
第九步,重启进入硬盘的ubuntu
         
  现在重启后你就可以见到硬盘的ubuntu了, 但是发现grub菜单没有windows?
            不要紧, livecd 修复是不会认出windows,进入硬盘里的ubuntu再一次执行更新grub就ok了le

          执行:

           sudo update-grub
            

           第十步,再次重启, 这次再grub菜单见到linux和windows的启动选项了,修复完成!