zoukankan      html  css  js  c++  java
  • 修复grub引导多种方法

     使用安装版的windows重装windows时会改写mbr,造成grub丢失,可以用grub4dos引导进入ubuntu后修复grub或用livecd启动后修复grub。

    1、用grub4dos修复ubuntu

    先下载最新版的grub4dos,下载地址http://sourceforge.net/projects/grub4dos/files/GRUB4DOS/,如果是xp系统,把grub4dos压缩包内的grldr复制到C盘根目录下,修改boot.ini,在最后加上一行 c:grldr=”grub4dos”,

    对 于vista/win7系统,把压缩包内的grldr.mbr和grldr复制到C盘根目录下,在C盘自己建立一个boot.ini文件,若有boot隐 藏分区的,先给boot分区分配盘符.
    再把grldr,grldr.mbr和boot.ini放在boot分区下,boot.ini内容如下:

    Win7使用软改激活的请不要使用此方法,否则会造成win7不能启动。

    然后在根目录新建一个menu.lst,内容为

    timeout 0
    default 0

    title grub2
    find –set-root /boot/grub/core.img

    kernel /boot/grub/core.img
    boot

    (有/boot分区的改为

    find –set-root /grub/core.img

    kernel /grub/core.img)

    重启后选择Grub4Dos会自动转入grub2,从grub2菜单项选择ubuntu启动后,在终端执行

    sudo grub-install /dev/sda

    将grub装入第一硬盘的mbr,如要装入第二硬盘的mbr把sda改为sdb,第三硬盘为sdc,类推。
    至于要把grub装到sda或sdb或sdc的mbr上,需根据自己情况确定,看看要设置哪一块硬盘为启动盘,就把grub装到那块硬盘的mbr上。

    2、用livecd修复grub

    Linux 下制作 Ubuntu 启动 USB

      sudo dd if=ubuntu-13.10-desktop-amd64.iso of=/dev/sdb     #/dev/sdb 为 USB 盘符

    windows 下用 rufus, https://sourceforge.net/projects/rufus.mirror/   将live iso 写入usb 作启动盘

    1. 查看硬盘分区状况,获取 Linux 系统安装分区编号

      sudo fdisk -l     

    假如你的ubuntu的 / 分区是sdb1,又假如 /boot分区是 sdb6,用livecd启动,在终端下输入

    sudo -i
    mount /dev/sdb1 /mnt
    mount /dev/sdb6 /mnt/boot  (有boot 单独分区一定要此步)

    mount  --bind /proc /mnt/proc
    mount  --bind /dev /mnt/dev
    mount  --bind /sys /mnt/sys

    chroot  /mnt 
    grub-install  --root-directory=/mnt /dev/sda

    若卸载掉旧的grub, 如下

    apt-get purge grub-pc

    安装新

    apt-get install grub-pc

    grub-mkconfig

    grub-install  /dev/sda

     如果grub.cfg己丢失,或grub.cfg出现错误,需要重建的继续执行下面操作:

     grub-mkconfig -o /boot/grub/grub.cfg

         Grub 已经修复成功,我们还需要退出 chroot 环境、卸载已经挂载的设备与目录:

      exit #退出 chroot 环境

      umount /mnt/dev

      umount /mnt/proc

      umount /mnt/sys  ;  umount  /mnt/boot 

      umount /mnt

      reboot

    3、用带grub启动的光盘或U盘修复

    如果手上有grub启动的工具盘,用工具盘启动,在grub菜单上按c进入命令行状态,

    在grub>提示符下输入

    grub>find /boot/grub/core.img (有/boot分区的用find /grub/core.img)

    (hdx,y) (显示查找到的分区号)

    grub>root (hdx,y)

    grub>kernel /boot/grub/core.img (/boot分区的用 kernel /grub/core.img)

    grub>boot

    执行boot后能转入grub2菜单,启动ubuntu后,再在ubuntu终端下执行

    sudo grub-install /dev/sda (或sdb,sdc等)修复grub。
    如果ubuntu的启动分区使用ext4格式,要有支持ext4格式的grub才能修复。

    4、没安装引导器的 grub4dos引导ubuntu的方法
    按第一步的方法使用 boot.ini 建立grub4dos引导项,自己编写 menu.lst,内容如下

    timeout 3
    default 0

    title Ubuntu 9.10
    root (hdx,y) ——–> (hd0x,y) 为 /boot分区的分区号
    kernel /vmlinuz-xxx-generic root=/dev/sdxy ——->/dev/sdxy 为 / 分区的分区号

    initrd /initrd.img-xxx-generic

    没 /boot 分区的用
    timeout 3
    default 0

    title Ubuntu 9.10
    root (hdx,y)
    kernel /boot/vmlinuz-xxx-generic root=/dev/sdxy
    initrd /boot/initrd.img-xxx-generic

  • 相关阅读:
    手动制作openstack windows镜像
    kolla-ansible部署多节点OpenStack-Pike
    手动制作openstack CentOS 镜像
    VNC Viewer连接打开remote display的VMware虚拟机出现闪退
    Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'
    ImportError: No module named 'requests.packages.urllib3'
    使用kolla安装的openstack mariadb为集群所有节点无法启动
    kolla-ansible部署单节点OpenStack-Pike
    墨刀--在线原型设计工具
    Pycharm配置支持vue语法
  • 原文地址:https://www.cnblogs.com/eksay/p/13222094.html
Copyright © 2011-2022 走看看