原本因为工作的关系, 装了 Fedora 17 测试, 想说干脆试用看看, 不过使用了一段时间后, 还是不习惯, 所以又安装了 Ubuntu 12.04 版, 没想到安装完后怎么原本 Grub2 开机选项中的 Fedora 不见了?即使在 Ubuntu 中利用 update-grub 重新产生了 /boot/grub/grub.cfg, 仍然就是没有看到 Fedora 出现。

为了一探究竟, 把安装 Fedora 的分区挂载起来看了一下, 奇怪, 怎么 /boot/grub 下没有 grub.cfg 档?又注意到了 /boot 下有另一个 grub2 目录, 里头有 grub.cfg 文件, 难不成就是这个原因?没办法, 死马当活马医, 既然这里有 grub.cfg 档, 我就在 Ubuntu 下帮 Grub2 新增一个项目, 从这个 grub.cfg 文件复制 Fedora 开机内容试看看了。

以下是 Fedora 下 /boot/grub2/grub.cfg 中有关第一个选项 (预设就是启动 Fedora) 的内容:

### BEGIN /etc/grub.d/10_linux ###

menuentry 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-33f4c026-0cb9-4b61-bf8d-17b4b8779488' {

load_video

set gfxpayload=keep

insmod gzio

insmod part_msdos

insmod ext2

set root='hd0,msdos8'

if [ x$feature_platform_search_hint = xy ]; then

search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  33f4c026-0cb9-4b61-bf8d-17b4b8779488

else

search --no-floppy --fs-uuid --set=root 33f4c026-0cb9-4b61-bf8d-17b4b8779488

fi

echo    'Loading Linux 3.3.4-5.fc17.x86_64 ...'

linux    /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=UUID=33f4c026-0cb9-4b61-bf8d-17b4b8779488 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet

echo    'Loading initial ramdisk ...'

initrd    /boot/initramfs-3.3.4-5.fc17.x86_64.img

}

只要把这一段复制下来, 贴到 /etc/grub.d/ 下预设提供给我们当范本的 40_custom 档案中即可 (用贴的最方便, 不然还得研究 Grub2 的指令, 也容易出错):

#!/bin/sh

exec tail -n +3 $0

# This file provides an easy way to add custom menu entries.  Simply type the

# menu entries you want to add after this comment.  Be careful not to change

# the 'exec tail' line above.

menuentry 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-33f4c026-0cb9-4b61-bf8d-17b4b8779488' {

load_video

set gfxpayload=keep

insmod gzio

insmod part_msdos

insmod ext2

set root='hd0,msdos8'

if [ x$feature_platform_search_hint = xy ]; then

search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 --hint='hd0,msdos8'  33f4c026-0cb9-4b61-bf8d-17b4b8779488

else

search --no-floppy --fs-uuid --set=root 33f4c026-0cb9-4b61-bf8d-17b4b8779488

fi

echo    'Loading Linux 3.3.4-5.fc17.x86_64 ...'

linux    /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=UUID=33f4c026-0cb9-4b61-bf8d-17b4b8779488 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet

echo    'Loading initial ramdisk ...'

initrd    /boot/initramfs-3.3.4-5.fc17.x86_64.img

}

要特别注意前两行不能改, 只要把刚刚复制的内容贴到 # 开头的註解行之后即可, 接着再使用 update-grub 指令, 就可以看到这次居然自动找到 Fedora 了:

www.linuxidc.com @ www.linuxidc.com:~$ sudo update-grub

Generating grub.cfg ...

Found linux image: /boot/vmlinuz-3.2.0-26-generic

Found initrd image: /boot/initrd.img-3.2.0-26-generic

Found linux image: /boot/vmlinuz-3.2.0-23-generic

Found initrd image: /boot/initrd.img-3.2.0-23-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Windows 8 (loader) on /dev/sda1

Found Fedora release 17 (Beefy Miracle) on /dev/sda8

done

接着只要重新开机, 就可以看到开机选单上反而出现了两个 Fedora 17 的选项, 一个是刚刚我自己加上去, 由 40_custom 自订的选项, 另一个就是刚刚经由 update-grub 指令, 透过 OS-Prober 自动找到的。虽然两个选项都可以启动 Fedora, 不过过程的显示内容不大一样, OS-Prober 自动找到的选项启动过程多是文字, 最后才进入绘图模式, 从原本 Fedora 的设定档复制过来的选项开机过程很早就进入绘图模式, 比较美观。

后来发现, 其实只要把安装 Fedora 17 的分区挂载起来, OS-Prober 的动作就可以自动找到 Fedora 了。另外, 我不知道为甚么 Fedora 要改将 grub.cfg 放到 /boot/grub2 下, 但根据 Fedora 的文件, 的确是特意如此。

GNU Grub2 的官方文件在这里, 提供参考 (不过比较难阅读)。

grub开机选项中没有linux,安装 Ubuntu 后 Grub 开机选项中的 Fedora 不见了相关推荐

  1. linux里没有grub文件,linux – 安装Ubuntu后没有grub菜单,直接启动...

    我有两个独立的SSD.其中一个安装了Windows 10 Pro,另一个安装了Ubuntu 14.04.3 LTS. 当我的计算机启动时,我没有选择grub菜单来选择我要启动的操作系统,它会直接自动启 ...

  2. grub命令 u盘安装linux,u盘安装ubuntu出现grub问题怎么办?

    u盘安装ubuntu出现grub问题的解决办法:首先插上U盘启动电脑,打开终端找到安装的分区:然后查看文件找到grub2的分区,并进行从rescue到normal的转变动作:最后重启系统并输入[sud ...

  3. Windows10 中使用 virtualbox 安装ubuntu 虚拟机

    文章目录 Windows10 中使用 virtualbox 安装ubuntu 虚拟机 1 下载 virtualbox 1 打开网址,[virtualbox官网](https://www.virtual ...

  4. 在VMware15中创建虚拟机安装ubuntu系统(超详细教程)

    此篇博文分享幼儿园老小(本人)创建虚拟机安装ubuntu系统的详细操作过程,希望对新手有所帮助咯!(大佬请自行略过哈哈) 我的下载地址详情如下: 下载请戳–>Ubuntu18.04/64位下载地 ...

  5. Linux装ntfs后内存不够,Linux_安装Ubuntu后无法使用NTFS硬盘或移动硬盘,  在安装Ubuntu系统后,存在 - phpStudy...

    安装Ubuntu后无法使用NTFS硬盘或移动硬盘 在安装Ubuntu系统后,存在无法使用NTFS硬盘或移动硬盘的问题,下面小编就给大家介绍下Ubuntu系统无法挂载NTFS的解决方法,不知如何挂载的朋 ...

  6. 设置中文linux输入ubuntu,Linux_ubuntu怎么设置成中文?ubuntu中文设置图文方法,  很多朋友安装ubuntu后,发 - phpStudy...

    ubuntu怎么设置成中文?ubuntu中文设置图文方法 很多朋友安装ubuntu后,发现都是英文,看不懂要怎么办?其实ubuntu是可以设置成中文的,下文小编就为大家带来ubuntu中文的设置方法, ...

  7. 1050显卡装linux卡住,安装 Ubuntu 后卡死的问题

    安装 Ubuntu 后,因为系统集成的显卡驱动和 NVIDIA 显卡不兼容,导致装完系统重启的时候卡死,这时候只能强制关机重启. Ubuntu系统集成的显卡驱动程序是 nouveau,我们需要先将no ...

  8. win10下安装Ubuntu后,启动时没有win10选项解决方法

    win10下安装Ubuntu后,启动时没有win10选项解决方法 参考文章: (1)win10下安装Ubuntu后,启动时没有win10选项解决方法 (2)https://www.cnblogs.co ...

  9. oracle安装后开机很慢,Windows下安装Oracle拖慢开机速度的解决方法

    环境:win7 + oracle R2 方法:将安装Oracle后自动开机启动的服务改为手动启动 步骤如下: 1.修改服务项 Ctrl + R,输入services.msc,打开服务列表,找到Orac ...

最新文章

  1. 第一学期网络技术知识总汇
  2. JQuery操作CheckBox和Radio
  3. 【UAV】高度控制代码分析
  4. pwn学习总结(二) —— 基础知识(持续更新)
  5. 衡量时间序列相似度的方法:从欧氏距离到DTW及其变种
  6. java comparable接口_浅谈程序接口
  7. JS之Date对象和获取系统当前时间
  8. android记账系统预算功能,怎么挑选合适的 Android 记账应用?你可以从记账需求入手...
  9. 10本入门编程书籍推荐,带你入门到精通
  10. qqxml卡片 php代码,qqxml卡
  11. 技术大佬:我去,你写的 switch 语句也太老土了吧
  12. JavaScript数组every方法
  13. python去掉json中的转义符_企业微信表情符自动转义怎么用?企业微信电脑版这样做...
  14. matlab如何采集两路语音信号,基于MATLAB的语音信号采集与处理
  15. 弄懂这56个Python技巧,秒变Python大神
  16. QAxObject保存Excel表格
  17. Filecoin 近期热点话题,官方打造长期价值护城河!
  18. dockermount与volume的区别
  19. 数字化转型风口,渠道商服务的转型与升级
  20. error C2065: “IDD_DIALOG1”: 未声明的标识符 .

热门文章

  1. python 审批流_Odoo 基于企业微信实现的通用审批流功能的自助配置及使用说明 - Oejia 技术栈,企业方案分享、Odoo顾问...
  2. 三维空间刚体运动4-5:四元数多点离散数值解插值方法:Sping
  3. html前沿技术网页,html页面标签元素总结
  4. Unreal Engine 4切换默认Camera实现
  5. C++默认构造函数的合成
  6. Android平台网络模式的修改
  7. PVS的内存和存储规划设计
  8. Exchange Server 2013系统要求
  9. 锐捷6800 vrrp mstp配置实例
  10. 公差基本偏差代号_508/f7:基本偏差怎么查,标准公差又怎么查?