背景:我使用了双系统:WIN8+CentOS6.3,这几天开机启动时老是无法选择用哪一个系统,键盘用不了,直接进入了默认的系统中.我觉得应该是MBR中Boot loader的设置出现错误了!进入/boot/grub/grub.conf进行对开机设置
我的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,8)
# kernel /vmlinuz-version ro root=/dev/sdb12
# initrd /initrd-[generic-]version.img
#boot=/dev/sdb
default=1# 这里是选择默认的系统
timeout=5#等待选择的时间
splashimage=(hd0,8)/grub/splash.xpm.gz #它指定在GRUB引导时所使用的屏幕图像的位置。
hiddenmenu #这个命令被使用时,它不显示GRUB菜单接口,在超时时间过期后载入默认项。用户通过按[Esc]键,可以看到标准的GRUB菜单。
title CentOS (2.6.32-279.el6.x86_64)
root (hd0,8)
kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=c65c6ef7-ebc0-46f6-a83f-c599e3d6903b rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.el6.x86_64.img
title WIN8
rootnoverify (hd0,1)
chainloader +1 #将指定的文件作为一个链式装载程序载入。为了获取在一个指定分区第一 扇区内的文件,使用+1作为文件名。
开机流程:
CMOS:记录各项硬件参数且嵌入了主板上面的存储器
BIOS:一个写入到主板上的一个韧体(韧体:写入到硬体上的一个软件程序),开机的时候系统主动执行的第一个程序
1、开机计算机会主动的执行BIOS,BIOS会分析计算机里面有哪些存储设备是可用的,认识出第一个可开机的设备
2、MBR,主引导分区,第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序
3、引导加载程序:一支可读取内核文件来执行的软件
4、内核文件:开始操作系统的功能
MBR:只有446bytes,在MBR上面有一套软件:Boot loader,它的主要任务是:
提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要的功能
载入内核文件:直接指向可开机的程序区段来开始操作系统
转交其他的loader