Magic Linux 使用 GNU GRUB

Magic Linux 使用 GNU GRUB ( GRand Unified Bootloader ) 做为它默认的引导工具来引导 linux 的启动。
GRUB的功能并不只仅是做为 linux 的引导工具这么简单。许多状况下,咱们的计算机中可能安装了不止一个操做系统,在启动时就须要有一个软件来根据咱们的选择加载其中的一个。GRUB 是一个强大的多重引导管理工具,支持几乎全部您能在 PC 上见到的操做系统 (例如 windows 家族的 98 me NT 2000 xp )。咱们建议您用 GRUB 来管理您计算机上全部的操做系统。
相比早期的引导工具 LILO,GRUB 拥有如下特色:
支持大硬盘
早先使用过 LILO 的朋友可能都知道,装系统时根分区(/boot分区)不能分在超过1024柱面的地方,通常是在8.4G左右的地方,不然lilo不能安装,或者安装后不能正确引导系统。而 GRUB 就不会出现这种状况,只要安装时您的大硬盘是在LBA模式下,GRUB 就能够引导根分区在8G之外的操做系统。
两种执行模式
一般状况下您能够再开机时经过一个菜单来选择您要引导的系统。您也能够在引导时动态改变 GRUB 的参数,GRUB 的命令行有很是强大的功能,并且支持如 bash 或 doskey 同样的历史功能,你能够用上下键来寻找之前的命令。在菜单下面按 e 是编辑启动命令,按 c 是使用命令行。
灵活
GRUB 理解文件系统,因此它是经过文件系统将内核读取到内存。( LILO 是靠读物理扇区来读取内核的 )可以理解文件系统使得 GRUB 很是的灵活。您不多须要从新将 GRUB 写入到引导位置。例外的状况包括:

  • 您更改了 GRUB root 分区的文件系统类型(例如,从 ext3 改成 ReiserFS)
  • 您更新了 GRUB 的版本,并启用了新版本的 stage1 和 stage2 文件
一个常见的情形是您刚编译完新的内核,但愿启用它。若是您是按照附录A 中的方法编译安装的内核,这时您什么都不须要对 GRUB 作,从新引导系统就是了。您也能够手动修改 grub.conf,但一样不须要从新将 GRUB 写入到引导位置。
健壮
早先使用 LILO 的朋友必定都见识过它的高故障率。GRUB 因为采用了先进的设计理念,使得它显得很是的健壮。您能够放心的调整分区的大小或是改变内核的物理位置而没必要担忧 GRUB 会瘫痪。
GRUB 的菜单配置文件 grub.conf 位于 /boot/grub/,您可使用您偏心的编辑器来修改它。典型的 grub.conf 具备以下的样式:
# grub.conf generated by MagicInstaller.
# Note that you do not have to rerun grub after making changes to this file.
default=1
timeout=5
splashp_w_picpath=(hd0,2)/boot/grub/splash.xpm.gz
title windows xp
    
    
    
    
rootnoverify (hd0,0) chainloader +1 title MagicLinux root (hd0,2) kernel /boot/vmlinuz-2.6.0-1 ro root=/dev/hda3 vga=791 splash=silent initrd /boot/initrd-2.6.0-1.img
以“#”开头的行中的内容为注释。GRUB会忽略空行和注释行。
以“title”为界,grub.conf 分为上下两个部分
上部是一些全局变量的设置
default 变量定义了 GRUB 默认将引导哪一个系统。(在这个例子里是 MagicLinux)
提示:
GRUB 中的计数都是从0开始的。例如:第一个启动项为 0,第一块硬盘的第一个分区为(hd0,0)
timeout 变量定义了系统在引导默认启动项前将会在菜单画面等待几秒
splashp_w_picpath 变量定义了菜单页面的背景图像
下部由 title 分割为若干独立的启动项,每一个启动项又有各自的参数。
咱们首先看 windows xp 部分
GRUB 并不知道如何引导 windows xp,也读不懂 NTFS 的文件系统。
GRUB 使用了“链式加载”的方法来引导它不支持的操做系统。在这个例子里,GRUB 经过 rootnoverify 变量指向 windows xp 所在的分区,而后将引导权交给了位于这个分区上的 xp 本身的引导程序。
关于 MagicLinux 部分
root 变量指向内核所在的分区
kernel 变量指向内核文件,ro 表示 read only,ro 后面的 root 指向Linux 的根目录所在的分区,vga 参数指定启动时的显示模式,splash 参数定义了启动时您将看到图像(silent)仍是文字(verbose)。
initrd 参数定义了 initrd 映像文件
提示:
rootnoverify 和 root 的区别在于 rootnoverify 不会尝试 mount 它所指向的分区。
故障与修复
尽管 GRUB 十分的健壮,您仍然有可能遇到一些意外的故障。一个常见的情形是您的 windows 系统崩溃了,您必须重装它。很不幸 windows 系统不支持多重启动,安装过程当中他会破坏您写在主引导扇区( MBR )的 GRUB,这样您将没法进入 Magic Linux。
解决问题的思路无非是想办法进入 Magic Linux 而后从新将 GRUB 写入到 MBR。
若是您的机器有软驱,您手中又有启动软盘。那么恭喜您,事情很是简单,您用软盘引导进入 Magic Linux,而后用指令:
grub-install /dev/hda
将 GRUB 从新写入到 MBR 就能够了。
若是您的机器没有软驱,但您还保留着安装光盘,请您从安装光盘引导计算机,在安装引导提示下输入如下命令:
linux rescue
你会被提示回答几个基本的问题,而后一路走下去,直到出现提示符。此时使用命令:
chroot /mnt/sysp_w_picpath
来改变你的根目录到硬盘中原来根目录的位置。使用命令:
grub-install /dev/hda
将 GRUB 从新写入到 MBR。
使用开机密码
GRUB 支持加密。加密后最直接的结果是,只有知道密码的人才能经过命令行以交互的方式引导计算机。要给 GRUB 加密,首先您要取得一个经过 MD5 算法加密后的密码。( 尽管这么作并非必须的,但把密码以明文保留在 grub.conf 里面总归不太让人放心 ) 打开 GRUB shell:
[[root@myopia root]]# grub
Probing devices to guess BIOS drives. This may take a long time.
GRUB  version 0.93  (640K lower / 3072K upper memory)
[[ Minimal BASH-like line editing is supported.  For the first word, TAB lists possible command completions.  Anywhere else TAB lists the possible completions of a device/filename.]]
grub>
使用 md5crypt 命令来取得加密后的密码:
grub> md5crypt
Password: **********
Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb.
取得密码后,将这个密码复制粘贴到 grub.conf 的上半部分,形势以下:
password --md5 $1$U$JK7xFegdxWH6VuppCUSIb
若是您但愿别人不能使用您机器上的某些操做系统,您能够进一步使用 lock 锁住它。这里以 windows xp 为例,注意 lock 的位置:
title windows xp
      lock
      rootnoverify (hd0,0)
      chainloader +1
如今启动是您如果想进入 windows xp 或是修改启动选项,您须要参照启动菜单框下方的提示,键入“p”,而后输入正确的密码方可解除锁定。
&nbsp

0html

收藏算法

sunxj007

57篇文章,28W+人气,0粉丝

相关文章
相关标签/搜索