grub安装:GRUB安装,配置及使用汇总




  ()安装时安装grub.
  安装redhat 时会提示安装引导,如果选择grub为引导,建议把grub安装到硬盘引导扇区MBR.grub 还可以引导其它操作系统如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS以及 95、98、NT、2000、XP
  ( 2)grub配置
  旦选择了grub为引导,下面我们来了解下它配置.
  /boot/grub/grub.conf是grub产生个引导选择菜单以及设置些选项.下面是我grub.conf:
  
  #例子开始
  
  # grub.conf generated by anaconda
  #
  # Note that you do not have to rerun grub after making changes to this file
  # NOTICE: You have a /boot partition. This means that
  # all kernel and initrd paths are relative to /boot/, eg.
  # root (hd0,6)
  # kernel /vmlinuz-version ro root=/dev/hda10
  # initrd /initrd-version.img
  #boot=/dev/hda
  default=0
  timeout=10
  splashimage=(hd0,6)/grub/splash.xpm.gz
  # --> Redhat Linux 8.0 <--
  title Red Hat Linux (2.4.18-14)
  root (hd0,6)
  kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
  initrd /initrd-2.4.18-14.img
  # --> Microsoft XP <--
  title Microsoft Windows XP
  rootnovery (hd0,0)
  chainloader +1
  
  #=例子结束
  
  配置选项解释:
  以"#"开头是注释行.
  我这里有两个操作系统,分别是Red Hat Linux和Microsoft Windows XP.
  其中 timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择话,将自动选择默认操作系统(我这里默认是Redhat linux 8.0)
  默认操作系统是由default项来控制,default后数字表明第几个是默认,这里0表示第个,1表示第 2个.所以如果你想修改默认操作系统,就修改default后数字.
  title项是设置操作系统名称,grub不支持中文(有点遗憾).
  splashimage项指定grub界面背景图片,有兴趣朋友可以修改grub背景哦!
  root (hd0,6)标识从第个硬盘,第7个分区来启动搜索引导内核.注意这儿root和linuxroot分区区别,此root非彼root也!grub硬盘标识思路方法和linux有点区别.在linux中第个主分区为hda1,第 2个主分区为hda1,第个逻辑分区为hda5,而在grub中是以(hdx,y)来标识,如第个主分区为(hd0,0)第个逻辑分区为(hd0,1)依此类推.所以这儿root后面是你/boot所在分区标识.
  知道了内核在哪儿还要具体指出哪个文件是内核文件这就是kernel工作
  kernel /vmlinuz-2.2.18-14 ro root=LABEL=/.介绍说明/boot/vmlinuz-2.2.18-14 就是要载入内核后面都是传递给内核参数ro是以readonly意思注意我这里内核前面路径是"/",boot单独分了个区,如果你没有为boot单独分区,那么内核前面路径就是"/boot".
  initrd用来linux image并设置相应参数
  再来看看windows定义段吧
  这里我添加了项来引导 WindowsXP要完成此操作GRUB 使用了"链式装入器"(chainloader)链式装入器从分区 (hd0,0) 引导记录中装入 winXP 自己引导装入器然后引导它这就是这种技术叫做链式装入原因 -- 它创建了个从引导装入器到另这种链式装入技术可以用于引导任何版本 DOS 或 Windows如果你在计算机中装有win98,winme,win2k,winxp话,chainloader会把引导权交和winNTLoader来引导.
  
  ( 3)Grub启动盘制作
  要制作引导盘需执行些简单步骤首先在新软盘上创建 ext2 文件系统然后将其安装并将些 GRUB 文件复制到该文件系统最后运行 "grub" 它将负责设置软盘引导扇区
  
  将张空盘插入 1.44MB 软驱输入:
  
  # mke2fs /dev/fd0
  创建了 ext2 文件系统后需要安装该文件系统:
  
  # mount /dev/fd0 /mnt/floppy
  现在需要创建些目录并将些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:
  
  # mkdir /mnt/floppy/boot
  # mkdir /mnt/floppy/boot/grub
  # cp /boot/grub/stage1 /mnt/floppy/boot/grub
  # cp /boot/grub/stage2 /mnt/floppy/boot/grub
  再有个步骤就能得到可用引导盘
  
  在linux bash中从 root 用户运行"grub"非常有趣并值得注意它实际上是 GRUB 引导装入器半功能性版本尽管 Linux 已经启动并正在运行您仍可以运行 GRUB 并执行某些任务而且其界面和使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到界面(即GRUB控制台)完全相同
  在 grub> 提示符处输入:
  
  grub> root (fd0)
  grub> up (fd0)
  grub> quit
  
  现在引导盘完成了
  
  ( 4).恢复被windows破坏grub.
  如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中grub,这时需要恢复grub.
  1.把linux安装光盘张放到光驱然后重新启动机器在BOIS中把系统用光驱来引导
  2.等安装界面出来后按[F4]键也就是linux rescue模式
  3.系列键盘以及几项简单配制过后就[继续]了这个过程我不说了比较简单
  4.然后会出现这样提示符:
  sh#
  5.我们就可以操作GRUB了.输入grub:
  sh#grub
  会出现这样提示符:
  grub>
  我们就可以在这样后面输入:
  grub>root (hdX,Y)
  grub>up (hd0)
  如果成功会有个successful......
  这里X如果是个盘就是0如果你所安装linux根分区在第 2个硬盘上那X就是1了;Y就是装有linux系统所在根分区 up (hd0)就是把GRUB写到硬盘MBR上
  
  ( 5).用NTLoader来引导linux.
  如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub.并用windowsNTLoader来引导linux.
  1. 安装grub
  我用grub是Redhat8.0带grub安装包: grub-0.92-7.rpm
  安装: rpm -ivh grub-0.92-7.rpm
  
  其他安装方式也样,只要你安装上grub就行了.RH8缺省用grub, 1,2步骤可以
  省了.
  
  2. 建立grub环境
  cp /usr/share/grub/i386-pc/* /boot/grub
  
  3. 生成grub配置文件/boot/grub/menu.conf
  按照上面所讲grub.conf来生成个配置文件.
  注意了, 这里我linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),
  你可能不样了,不能完全照着"画瓢"噢! 下面第3步分区位置也应该和你系统致.
  
  3. 安装grub至Linux分区boot
  将grubstage1安装到/dev/hda4boot扇区(hd0,3). 过程如下:
  
  /sbin/grub (运行grub)
  grub> (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf
  
  (注意,上面"grub>"为grub提示符,其后内容写在行上.)
  
  4. 取得grubboot信息
  过程如下:
  dd =/dev/hda4 of=/grub.lnx bs=512 count=1
  
  这样得到grub引导信息,只要用NT Loader来加载它就行了.
  
  5. 将上面得到grub.lnx弄到WindowsC盘根目录下
  可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:\; 情况允许也可以直接在Linux下拷贝到C:了. 我C盘(即设备/dev/hda1)为FAT32, 可以直接从Linux下弄过去了. 如下:
  
  mount -t vfat /dev/hda1 /mnt/c
  cp /grub.lnx /mnt/c
  umount /mnt/c
  
  6. 修改NT Loaderboot.ini
  在其中加入行: C:\grub.lnx="Redhat Linux - GRUB"
  加入后boot.ini内容如下:
  
  [boot loader]
  timeout=15
  default=C:\boot.lnx
  [operating systems]
  multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
  
  [VGA mode]" /basevideo /sos
  C:\grub.lnx="Redhat Linux - GRUB"
  
  OK. 可以用NT Loader加载Linux了, 其实上面过程基本上和用NT Loader加载LILO样.其基本思想就是用NT Loader来加载LILO或grub引导区(grub.lnx), 其中关键就是LILO或grub引导区获取.
  
  ( 6)活用grub交互功能
  grub具有强大交互功能.学会了将会使你受益非浅!
  1.grub没有显示菜单如何办?
  当开机后进入grub界面但没了菜单,只剩下个grub>提示符,如何启动呢?别急,看下面:
  grub>cat (hd0,6)/boot/grub/grub.conf (为了看参数)
  grub>root (hd0,6)
  grub>kernel (hd0,6)/vmlinuz-2.4.18-14 ro root=LABEL=/
  grub>initrd (hd0,6)/initrd-2.4.18-14.img
  grub>boot
  OK!启动了吧!以上有些数字要根据你实际情况更改.
  以上这个思路方法也可以用于测试新编译内核.
  2.进入单用户模式.
  有时不小心把root用户密码忘了,只能进入单用户模式来重新设置root密码.思路方法如下:
  开机进入grub界面,按C进入命令行模式,然后按照上面思路方法进行,只是在
Tags:  硬盘安装linuxgrub grub的安装 grubfordos安装 grub安装

延伸阅读

最新评论

发表评论