`
phoenix007
  • 浏览: 436233 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下安装grub

阅读更多

       (一)安装linux时安装grub.

  安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT、2000、XP。

  (二)grub的配置

  一旦选择了grub为引导程序,下面我们来了解一下它的配置.

  /boot/grub/grub.conf(或/boot/grub/menu.lst,不同的linux,这个文件名也不一样。)是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 Windows XP <--

  title Microsoft Windows XP

  rootnoverify (hd0,0)

  chainloader +1

  #===========例子结束==========

  配置选项解释:

  以"#"开头的是注释行.

  我这里有两个操作系统,分别是Red Hat Linux和Microsoft Windows XP.

  其中 timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhat linux 8.0)

  默认的操作系统是由default一项来控制的,default后的数字表明第几个是默认的,这里0表示第一个,1表示第二个.所以如果你想修改默认的操作系统,就修改default后的数字.

  title一项是设置操作系统的名称,grub不支持中文(有点遗憾).

  splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景哦!

   root (hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核.注意这儿的root与linux的root分区不同,此root非彼root也! grub的硬盘标识方法与linux的有点不同.在linux中第一个主分区为hda1,第二个主分区为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会把引导权交与win的 NTLoader来引导.

  (三)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> setup (fd0)

  grub> quit

  现在,引导盘完成了。

  (四).恢复被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>setup (hd0)

  如果成功会有一个successful......

  这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。

  (五).用NTLoader来引导linux.

  如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub.并用windows的NTLoader来引导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步install的中的分区位置也应该和你的系统一致.

  3. 安装grub至Linux分区boot

  将grub的stage1安装到/dev/hda4的boot扇区(hd0,3). 过程如下:

  /sbin/grub (运行grub)

  grub> install (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf

  (注意,上面"grub>"为grub的提示符,其后内容写在一行上.)

  4. 取得grub的boot信息

  过程如下:

  dd if=/dev/hda4 of=/grub.lnx bs=512 count=1

  这样得到grub的引导信息,只要用NT Loader来加载它就行了.

  5. 将上面得到的grub.lnx弄到Windows的C盘根目录下

  可以先把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 Loader的boot.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的引导区的获取.

  (六)活用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进入命令行模式,然后按照上面的方法进行,只是在第三步要在后面加入single参数.




分享到:
评论

相关推荐

    Linux 硬盘安装工具GRUB

    这将GRUB安装到指定的硬盘(如/dev/sda)。 三、GRUB配置 GRUB的配置文件通常位于`/etc/grub.d/`和`/boot/grub/grub.cfg`。`/etc/grub.d/`目录下的脚本文件定义了启动菜单项,`grub.cfg`是自动生成的配置文件,不...

    linux中修复GRUB

    2. **安装GRUB到MBR**:如果需要重新安装GRUB到MBR,可以通过如下命令实现: ``` sh# grub-install /dev/sda ``` 3. **验证GRUB是否正确安装**:可以通过尝试重启系统来验证GRUB是否已经正确安装。 ### 五、特殊...

    linux_install_grub_for_dos-0.2.0 linux grub 安装

    linux_install_grub_for_dos,用于安装windows环境下grub引导,以及硬盘安装linux,操作简单无需光驱或优盘,适用于想安装linux但是却没有光驱和U盘的童鞋,内有安装方法文本,可参照文本上的说明进行windows环境下...

    Linux安装盘恢复重装Windows后破坏的GRUB

    7. **安装GRUB到MBR**:在`grub&gt;`提示符下输入`setup (hd0)`命令,这会将GRUB安装到硬盘的主引导记录(MBR),使得GRUB能再次成为启动选择器。 8. **完成修复并重启**:确认GRUB成功安装后(通常会有成功的提示信息...

    Linux服务器安装GRUB步骤

    本文将详细介绍如何在Linux服务器上安装GRUB 1.99版本,以及安装过程中需要注意的事项。 首先,如果你的Linux服务器,比如CentOS 5或Debian 7,内核版本较低,并且GRUB版本在1.99以下,可能会遇到“Do Grub Failed...

    wingrub装linux的grub工具

    wingrub的主要功能包括创建配置文件、安装GRUB到MBR(主引导记录)或特定分区、以及编辑启动菜单项。 【wingrub安装GRUB】 1. **下载与准备**: 首先,你需要从官方网站或者可靠的资源下载wingrub的最新版本,例如...

    linux_grub

    - 使用 `grub-install` 命令安装 GRUB 到主引导记录 (MBR)。 - 通过编辑 `/etc/default/grub` 文件来修改全局配置,然后使用 `update-grub` 命令更新菜单。 - 使用 `grub-mkconfig` 生成新的配置文件。 3. **...

    删除Linux后从Grub启动Windows

    当安装了Linux和Windows双系统时,Grub会列出两个选项:Linux和Windows。当Linux被卸载后,Grub的配置文件可能仍然指向已不存在的Linux分区,这会导致启动问题。 解决方案1 - 使用Windows安装盘修复MBR(主引导记录...

    grub4dos 硬盘安装linux 需要这个东东。

    8. **更新配置**:在GRUB4DOS的配置文件`menu.lst`中,添加新安装的Linux系统条目,确保能正确引导到新安装的系统。 通过以上步骤,我们成功地使用GRUB4DOS在硬盘上安装了Linux。需要注意的是,操作过程中需谨慎,...

    安装grub到U盘的文件

    - **创建可启动U盘**:首先,你需要使用工具如`dd`(在Linux下)或 Rufus(在Windows下)将一个Linux发行版的ISO文件写入U盘。 - **准备GRUB环境**:解压提供的压缩包,里面可能包含GRUB的stage1、stage2文件,...

    Linux系统密码GRUB密码破解

    Linux系统密码GRUB密码破解Linux系统密码GRUB密码破解Linux系统密码GRUB密码破解

    linux 在grub2中添加windows启动项

    这篇博客“在GRUB2中添加Windows启动项”将指导我们如何使Linux系统能够识别并引导安装在同一个硬盘上的Windows操作系统。这个过程涉及到对GRUB2配置文件的编辑以及对系统引导扇区的更新。 首先,我们需要理解GRUB2...

    Linux对grub引导加密 的步骤方法

    步骤 4:安装GRUB到加密分区 ```bash sudo grub-install --boot-directory=/mnt/cryptroot/boot /dev/sda ``` 确保将`/dev/sda`替换为你的系统主硬盘。 步骤 5:更新GRUB配置 编辑 `/mnt/cryptroot/etc/fstab` 文件...

    Linux应用技巧:用GRUB4DOS修复GRUB

    GRUB4DOS是一款可以在MS-DOS环境下运行的GRUB兼容引导加载器,它可以用来修复或安装GRUB引导加载程序。GRUB4DOS能够帮助用户在不重新安装操作系统的情况下恢复GRUB的功能,从而实现系统的正常启动。 #### 下载与...

    Linux卸载后如何删除Grub引导方法

    在某些情况下,即便已经从Windows中删除了Linux分区,但在系统启动时仍会停留在“grub&gt;”提示符界面。此时,可以采用以下步骤临时引导至Windows,并最终解决MBR问题: - 在“grub&gt;”提示符下,输入`root (hd0,0)`并...

    Grub4dos-0.4.4+Grubinst-1.1-bin-w32+ linux安装材料

    标题中的“Grub4dos-0.4.4+Grubinst-1.1-bin-w32+ linux安装材料”揭示了三个关键知识点:Grub4dos、Grubinst以及Linux安装。这些工具通常用于在计算机上安装多操作系统,特别是当用户希望在Windows和Linux之间建立...

    grub4dos-linux

    1. 下载并解压`grub4dos-linux`压缩包到一个可引导的媒体(如软盘、USB驱动器或已安装DOS的硬盘分区)。 2. 更新目标硬盘的MBR,将`grldr`写入MBR,这通常通过运行GRUB4DOS的安装程序(如`grubinst.exe`)来完成。 3...

    grub配置文件网络和u盘安装linux

    我的grub配置文件,用于u盘安装linux或者网络安装linux,主要是ubuntu和debian

    GRUB学习笔记(linux硬盘安装)

    GRUB学习笔记(linux硬盘安装) GRUB(GRand Unified Bootloader)是一种多重操作系统引导管理器,负责加载和传输控制到操作系统的内核。GRUB是GNU计划的一部分,由Erich Stefan Boleyn设计和实现。GRUB是一种...

Global site tag (gtag.js) - Google Analytics