IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 操作系统 > LINUX > Linux GRUB实现双系统引导之菜鸟教程

Linux GRUB实现双系统引导之菜鸟教程

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  根据网友 Seqic 反映,在安装了 Linux 和 Windows 双系统之后,不知如何再启动 Windows (因为系统使用 Linux 的引导程序了)。通常,这是因为安装 Linux 时没有为 GRUB 做好相应的配置。

  Seqic 使用的是 Fedora 12,不知是这个发行版默认不对 GRUB 进行配置,还是在单系统时不对 GRUB 进行配置,我在安装 Fedora 12 时也没有遇到 GRUB 配置界面。

  什么是GRUB

  在为系统配置 GRUB 之前,先了解一下 GRUB 比较好,以下是摘自&维基百科&的内容:

  &GRUB 是 GNU GRUB 的简称,是来自 GNU 项目的一个多系统引导程序。它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。

  GRUB 非常轻便。它支持多种可执行格式,除了可适用于支持多启动的操作系统外,还通过链式启动功能支持诸如 Windows 和 OS/2 之类的不支持多启动的操作系统。GRUB 支持所有的 Unix 文件系统,也支持 Windows 适用的 FAT 和 NTFS 文件系统,还支持 LBA 模式。GRUB允许用户查看它支持的文件系统里文件的内容。&

  简单地讲,使用 GRUB 实现多系统引导,就是通过编辑 grub.conf 配置文件,使系统启动时会出现一个多操作系统选择菜单,选择 Linux 则启动 Linux,选择 Windows 就启动 Windows,其它系统也一样 :D

  &grub.conf 配置文件的绝对路径是 /boot/grub/grub.conf,需要 root 权限才可以读取和编辑这个文件。&

  GRUB配置文件

  GRUB 是 Linux 中最主要的多系统引导程序,使用它可以为 Unix、Linux、Windows、OS/2 等操作系统制作多系统引导菜单,并对这些操作系统进行引导启动。

  对于 GRUB 的表现和行为控制,主要通过编辑 grub.conf 配置文件得以实现,为了之后更好的自定义引导菜单,我们先通过以下简单的示例认识 grub.conf 配置文件中的各个选项,以及它们的作用。

  1.#boot=/dev/sda

  2.default=0

  3.timeout=0

  4.splashimage=(hd0,0)/grub/splash.xpm.gz

  5.hiddenmenu

  6.

  7.title Fedora (2.6.32.9-67.fc12.i686.PAE)

  8.  root (hd0,0)

  9.  kernel /vmlinuz-2.6.32.9-67.fc12.i686.PAE ro root=/

  10.  initrd /initramfs-2.6.32.9-67.fc12.i686.PAE.img

  11.

  12.title Windows 7

  13....

  14.

  说明:

  default - 默认引导的菜单条目。在本例中,默认引导第一个条目 Fedora (2.6.32.9-67.fc12.i686.PAE)。如果将 default 的值改成 1, 则会默认引导 Windows 7。

  timeout - 自动选择默认引导前菜单显示的时间。本例中,如果用户没有在 30 秒之内选择操作系统,则会默认引导第一个条目 (即default 0)

  splashimage - 指定 GRUB 引导菜单的界面风格。(hd0,0)/grub/splash.xpm.gz,是指在第一块硬盘的第一个分区(hd0,0) 中,使用 grub 目录下的 splash.xpm.gz 文件作为界面风格。一般来讲,无需更改这个配置 :D

  hiddenmenu - 隐藏 GRUB 引导菜单。如果不想在启动时显示 GRUB 引导菜单,则删除此条目。

  系统引导条目

  title - 引导条目的名称。通常使用操作系统的名称做为标识,你可以自行更改这个名称,例如使用 &Fedora 12&, &Fedora&, 或者是 &MyLinux& 都可以。这个标题将显示在 GRUB 引导菜单中。

  root - 操作系统内核和引导文件所在的磁盘分区。(hd0,0) 表示第一块硬盘的第一个分区,(hd0,2) 表示第一块硬盘的第3个分区,依次类推。

  kernel - 系统内核及 boot 命令用到的参数。

  initrd - 系统引导程序

  kernel 和 initrd 中指定的文件都是相对于 root 中所设置的硬盘分区,例如本例中的 (hd0,0) 是机器上的 /boot 分区,kernel 的位置实际上是 /boot/vmlinuz-2.6.32.9-67.fc12.i686.PAE

  使用GRUB引导Windows

  不像 Unix 和 Linux,Windows 属于不支持多启动的操作系统,简单的在 grub.conf 配置文件中使用 kernel 和 init 选项,无法实现对 Windows 的引导。要能够通过 GRUB 引导 Windows,需要使用 GRUB 的链式(chain-load)启动功能。

  提醒:查看和编辑 /boot/grub/grub.conf 都需要 root 权限,并且在编辑 grub.conf 之前,最好先为这个文件做一份备份。

  对于配置文件的备份,通过使用 cp 命令即可完成

  1.~]# cp /boot/grub/grub.conf /boot/grub/grub.conf.bak

  2.

  一般情况

  要使用 GRUB 的链式启动功能引导 Windows,一般情况下,只需要向 grub.conf 配置文件中添加以下内容即可。

  1.title Windows 7

  2.rootnoverify hd(0,0)

  3.makeactive

  4.chainloader +1

  多硬盘的情况

  如果你的机器上有两块以上的硬盘,并且 Windows 操作系统安装在第二块硬盘上,则还需要在配置中加入 map 命令,它们的作用是更改两块硬盘的映射关系

  1.title Windows 7

  2.map (hd0) (hd1)

  3.map (hd1) (hd0)

  4.rootnoverify hd(0,0)

  5.makeactive

  6.chainloader +1

  7.

  多主分区的情况

  使用 GRUB 引导 Windows 可能出现的另一个问题,是同一块磁盘上安装了多个 Windows 操作系统,这样一来硬盘上就会有多个主分区。要让 GRUB 正确的引导某个 Windows 操作系统,你需要对 GRUB 隐藏不必要的主分区。假设在第一个分区 hd(0,0) 上安装了 Windows XP,在第二个分区 hd(0,1) 上安装了 Windows 7,而你希望引导 Windows 7,则应该使用以下配置

  1.title Windows 7

  2.unhide hd(0,1)

  3.hide hd(0,0)

  4.rootnoverify hd(0,1)

  5.makeactive

  6.chainloader +1

  7.

  一般而言,大多数用户都属于第一种情况,只需要简单的几行配置就能够实现 Windows 的引导了。

关键词标签:Linux GRUB,双系统引导

相关阅读 安装红帽子RedHat Linux9.0操作系统教程 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 多种操作系统NTP客户端配置 Linux操作系统修改IP Linux实现SCSI硬盘热插拔及在线识别 Linux下用CDMA modem拨号上网

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程 安装红帽子RedHat Linux9.0操作系统教程 Linux服务器:设计高性能网站架构-LLMP Linux服务器:设计高性能网站架构-LLMP 使用Clonezilla迁移到虚拟Linux环境 使用Clonezilla迁移到虚拟Linux环境 Linux上的MRTG流量监控中心 Linux上的MRTG流量监控中心 Linux 双网卡绑定一个IP原理及实现 Linux 双网卡绑定一个IP原理及实现 linux和windows等系统远程控制ubuntu桌面 linux和windows等系统远程控制ubuntu桌面

相关下载

人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载 linux命令行浏览器的使用方法 Linux NFS服务固定端口及防火墙配置 U盘安装Ubuntu 10.04 Linux清除用户登录记录和命令历史方法