zoukankan      html  css  js  c++  java
  • 修复grub引导

    大部分安装了linux的一定还保留着windows,有的甚至不是双系统,是三系统甚至更多
    (1)Ubuntu的grub重装和修复。在装了winxp和Ubuntu的电脑上,winxp还原或重装后,grub的启动菜单会丢失,开机会看到 grub2的提示符,虽然说grub2从命令行也可以引导,但是我从来没成功过,因此重建菜单是唯一的路:用启动盘启动选择试用ubuntu到ubuntu下(硬盘启动的情况没试过),在终端输入命令:
    sudo -i

    fdisk -l   (显示你的分区情况,一般sda是我们的硬盘,adb是u盘)
    mount /dev/sdax /mnt   (x,y,z分别为/和/boot,/home所在的分区序号)
    mount /dev/sday /mnt/boot   (/boot一般200m左右)

    mount /dev/sdaz /home   (加载你的其他分区,我安装时为/home分了一个分区,如何有其他分区的话依次加载)
    grub-install --root-directory=/mnt/ /dev/sda
    上边的每一行都是要单独输入的命令,如没有为/boot(一般200m左右)或者/home单独分区则不需要第三或四行命令,每一行命令输完后都没有错误提示才行,如果有检查下命令是否有毛病或者多试几次,重启后即可进入grub引导进入ubuntu。如果没有看见windows系统则在ubuntu下输入命进入Ubuntu后,打开中断输入命令:
    sudo update-grub
    sudo grub-instll /dev/sda
    第一行命令输入后会显示grub检测到的硬盘上的系统,第二行是将信息写入硬盘,若这些都做了还是无法引导winxp,则要检查grub配置文件:
    sudo gedit /boot/grub/grub.cfg
    看下XP的引导文件是不是为
    menuentry "Microsoft Windows XP Professional" {
    set root=(hd0,1)
    search –no-floppy –fs-uuid –set 4a807ca0807c93e3
    drivemap -s (hd0) $root
    chainloader +1
    若是则将set root=(hd0,1)改为set root=(hd0,0)因为大部分人都将XP装在第一分区,而grub2在这一点上好像总是出错
    (2)安装XP+Ubuntu9.10+fedora13后fedora的grub无法引导Ubuntu的问题。这是我最近遇到的问题,我原来装的是 opensuse11.2+XP+Ubuntu9.10但是源太慢了所以格了opensuse装了最新的fedora13,但是装完了后发现Ubuntu 启动项不见了,呵呵,系统不能识别一般发生在先装新发行版本后装后发行的版本时,没想到这个fedora13竟然不能识别比他早了近半年的 Ubuntu9.10,后来我进了fedora,用gedit打开fedora的grub配置文件,在后面加了个title ubuntu9.10,然后根据ubuntu里的引导文件在fedora里重写ubuntu的引导,原来的ubuntu的引导文件为/boot/grub /grub.cfg,内容为
    menuentry "Ubuntu, Linux 2.6.31-14-generic" {
    recordfail=1
    if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,7)
    search --no-floppy --fs-uuid --set 3038f513-2a08-44c9-b966-b1a09814b523
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=3038f513-2a08-44c9-b966-b1a09814b523 ro quiet splash
    initrd /boot/initrd.img-2.6.31-14-generic
    }
    则对应的fedora引导文件应加入的内容为(对照fedora自己的,注意uuid后的数据来历,我就不多说了)
    title ubuntu(2.6.31-22-generic)
    root (hd0,4)
    uuid 3038f513-2a08-44c9-b966-b1a09814b523
    kernel /boot/vmlinuz-2.6.31-22-generic root=UUID=3038f513-2a08-44c9-b966-b1a09814b523 ro quiet splash
    initrd /boot/initrd.img-2.6.31-22-generic
    (fedora引导文件为/boot/grub/grub.conf)最后应把ubuntu的vmlinuz和initrd.img(省略版本号了)放到 fedora的/boot里当然fedora里的grub配置文件指向的是自己的/boot,所以会发现ubuntu里的是
    set root=(hd0,7)而fedora为root (hd0,4),因为我的ubuntu的/boot在hd0,7而fedora的/boot在hd0,4(这是最关键的一点,我在网上看的,但是没有保存链接)这些做完保存后就行了

  • 相关阅读:
    排列专题(不定期更新)
    搜索专题(不定期更新)
    Redis 高级面试题
    面试题1
    CentOS7查看开放端口命令及开放端口号
    Union和Union All到底有什么区别
    浅谈MySQL中优化sql语句查询常用的30种方法
    什么是分布式系统,如何学习分布式系统(转)
    浅析分布式系统(转)
    什么是分布式系统(通俗易懂的说法)(转)
  • 原文地址:https://www.cnblogs.com/swek/p/4338182.html
Copyright © 2011-2022 走看看