安装开机管理程序
x86的开机过程分成两个阶段。
一 始于BIOS对硬件进行自我检测(POST)与初始化,使其进入可以加载操作系统的状态,并找出MBR(从硬盘开机的情形下才是)或bootstrap程序(软盘开机)。
二 加载操作系统。
从软盘开机时,BIOS会运行软盘上的引导区上的bootstrap,直接将Linux内核加载进内存。
从硬盘开机时,
- 运行MBR上的启动程序。MBR(Master Boot Record)是硬盘(每个硬盘皆有)最外轨的第一个扇区(sector),长度固定为512B。分为两部分:前面是446byte的bootstrap程序。其余为分区表(partition table)。Bootstrap目的是解读分区表,借此找出操作系统的内核或是内核的加载程序(boot loader)
- 启动Linux内核。BootLoader的任务是取得开机参数,找出磁盘上的内核映像文件(kernel image),加载至内存。并传递参数,将cpu控制权交给内核。
lilo略去
grup
GRUB设备命名法则:
(xdn[,m]) m为可选参数。xd代表磁盘类型。如,fd表示磁盘,hd表示硬盘(不分规格,即不分ide,scsi等)。n表示磁盘的编号顺序,从0算起。m表示分区编号,从0算起。
例:(fd0) 第一张软盘 (hd2,0) 第2块硬盘的第1分区,不区分IDE与SCSI。这个顺序是从BIOS参数中读取的。如果你在BIOS中更改了磁盘的开机顺序,那么,grub可就无法指向预期的硬盘。
安装GRUB
使用grub-install script。 在/sbin/grub-intall即是该程序,是脚本,可看代码
例:grub-install '(hd0)' 跟上个设备名即可。
也可以用grub命令来安装。
#grub
grub>root (hd0,0)
grub>setup (hd0)
GRUB的开机程序
若开机找不到映像。可输入下面四个命令:
#grub> root (hd0,0) 表示:/boot位于/dev/[s|h]da1
#grub> kernel /vmlinuz-* ro root=/dev/hda2 表示:根文件系统在/dev/hda2,并指出 vmlinuz的文件名
#grub> initrd /initrd-*.img
#grub> boot
(*)由具体的文件名替代
GRUB的配置文件
如果有配置文件/boot/grub/menu.lst则,开机画面将会有菜单画面,界面友好。
#info grub 参阅,了解更多功能
阅读(547) | 评论(0) | 转发(0) |