读取MBR之二 GRUB使用

长平狐 发布于 2013/09/17 15:10
阅读 48
收藏 0

这里重点介绍一下GRUB的使用。


grub是linux比较常用的bootloader(linux 下还有lilo),它可以用来引导多种文件系统(windows linux dos等).
Red Hat Linux 7.2起,grub(GTand Unified Bootloader)取代lilo成为默认的启动装载程序。
MBR只是硬盘的第一个sector内的一个区块,446bytes容量。
Linux 将 boot loader的程序代码执行与设定值分成两个阶段
1.执行bootloader主程序 (这个主程序必须安装在开机区,即MBR或者bootsector..但通常仅安装bootloader的最小主程序)
2.bootloader主程序加载配置文件 (bootloader的最小主程序加载配置文件及相关环境参数,LINUX中配置文件常放在/boot下 /boot/grub)

GRUB的配置文件的menu.lst讲解
如何未配置menu.lst,则进入grub>命令行模式
menu.lst位于/boot/grub目录中。


创建menu.lst命令
[root@localhost ~]# touch /boot/grub/menu.lst
[root@localhost ~]# cd /boot/grub
[root@localhost ~]# ln -s menu.lst grub.conf   做一个menu.lst的链接grub.conf (链接相当快捷方式)
 

1、menu.lst的写法之一
default=0    默认启动哪个系统,第一个title为0.
timeout=5    开机出现GRUB画面后无操作5秒开始以默认配置启动
#splashimage=(hd0,6)/boot/grub/splash.xpm.gz   将图片设置为背景
#hiddenmenu 开机是否要显示选单
对启动LINUX操作系统来说,一般包括四行 title root kernel initrd
title red hat     (需要注意的是title 后有空格)
root (hd0,6)      (表示的是/boot所在的分区 0 是指第一个磁盘 6指第一个磁盘第7个分区)
kernel /boot/vmlinuz-2.6 ro root=LABEL=/ rhgb quiet   (指定linux内核文件绝对路径)
#kernel /vmlinuz-2.6 ro root=LABEL=/ rhgb quiet        (如果/boot是独立分区)
initrd /boot/initrd-2.6.img                            (/boot与 /在同一分区)
#initrd /initrd-2.6.img                                (/boot是独立分区)

ro 意思是只读  root=LABEL=/ 来表示LINUX的根所处分区 这里也可以直接写root=/dev/hda7
rhgb 表示redhat graphics boot,用图片来代替启动过程中显示的文本信息,启动后deesg可查
quiet 表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示
kernel 中两个root。root一是grub命令,它用来指定boot所在的分区作为grub的根目录.
而root=/dev/ram0是kernel的参数,告诉操作系统内核加载完后,真实的文件系统所在的设备.


精简写法:
/boot与 /在同一分区
title redhat          
kernel (hd0,6)/boot/vmlinuz-2.6 ro root=/dev/hda7  
initrd(hd0,6)/boot/initrd-2.6.img

/boot是一个单独分区时
title redhat           
kernel (hd0,6)/vmlinuz-2.6 ro root=LABLE=/  
initrd (hd0,6)/initrd-2.6.img

grub的命令行模式
需要确定LINUX安装在哪个分区,可以用cat来查看并判断

#grub> kernel /boot/vmlinuz-2.6 ro root=LABEL=/
grub> kernel (hd0,6)/boot/vmlinuz-2.6 ro root=/dev/hda7
grub> initrd /boot/initrd-2.6.img
#grub> initrd (hd0,6)/initrd-2.6.img
grub>boot       
整个命令和menu.lst中一样。


开机控制权的转交 chain loader方式
title Windows partition    将控制权转交与windows 的loader
  rootnoverify (hd0,0)   检验此分割槽
  chainloader +1         第一个扇区boot sector 
  makeactive             设定定此分割槽为开机碟(active)
 
title Windows partition
  hide (hd0,4)           隐藏 (hd0,4) 这个分割槽 ,WINDOWS 不能访问此分区
  rootnoverify (hd0,0)
  chainloader +1
  makeactive

修改管理员密码方法
1.需要进入编辑模式,在kerkel 行后加上 single
2.需要进入编辑模式,在kerkel 行后加上 init=/bin/bash
启动后需要  下达以下指令
bash#mount -o remount,rw /
bash#mount -a
然后重启一次。
 

本文出自 “还不算晕” 博客,请务必保留此出处http://haibusuanyun.blog.51cto.com/2701158/751249


原文链接:http://blog.csdn.net/q947817003/article/details/11559121
加载中
返回顶部
顶部