Linux操作系统(RHEL7/CentOS7)14引导工具GRUB2的设置与应用_第1页
Linux操作系统(RHEL7/CentOS7)14引导工具GRUB2的设置与应用_第2页
Linux操作系统(RHEL7/CentOS7)14引导工具GRUB2的设置与应用_第3页
Linux操作系统(RHEL7/CentOS7)14引导工具GRUB2的设置与应用_第4页
Linux操作系统(RHEL7/CentOS7)14引导工具GRUB2的设置与应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.4引导工具grub2的设置与应用grub2 是 gnu grub (grand unified bootloader)的最新版本。grub2 已经取代之 前的 grub (即 0.9x 版本),使 grub 成为 grub legacyo1.4.1 grub2 与 grub 的区另lj10. grub2有更可靠的方法在磁盘上有多系统时发现文件和目标内核,可以用命令发现 系统设备号或者uuid。11. grub2引导配置文件采用新名字grub.cfg,新的语法,加入许多新的命令。引导 菜单启动项是从/boot自动生成的,不是由menu.lst手工配置的。12. 配置文件的不同更为明显:/bo

2、ot/grub/grub.conf已经被/boot/grub2/grub.cfg代替。 /boot/grub2/grub.cfg:即使root用户也不要编辑它,该文件在每次执行grub2-mkconfig后自动生成。/etc/default/grub:改变引导菜单外观的主要配置文件。/etc/grub.d/*:各种用于生成grub.cfg的脚本文件,每次执行gnab2mkconfig时,会执行 里面的文件。/etc/grub.d/40_custom:用户自定义的配置文件模板。注意:执行 grub2-mkconf ig,是指执行命令:grub2-mkconfig -o /boot/grub2/g

3、rub. cfgo13. grub2执行grub2-mkconfig z后会自动更新启动项列表,自动添加有效的操作系 统项目。grub.cfg是用grub2-mkconfig自动产生的,在执行grub2-mkconfig之前修改的配置 都不会生效,这样可以很容易的应对内核升级这屮情况。14. grub2分区编号发生变化:第1个分区现在是1而不是0,但第1个设备仍然以0 开始计数,如hdo。15. 相关命令:grub2-install option <install_device>例如,下面这条语句可以在设备sda上恢复grubogrub2-install root-director

4、y=/mnt /dev/sda16. 设备的命名。grub2 rj样以fd表示软盘,hd表示硬盘(包含ide和scsi硬盘)。设备是从0开始编 号,分区则是从1开始编号,主分区从14,逻辑分区从5开始。示例如下:(fdo):表示整个软盘(hdo,l):表示第1个硬盘的第1个分区(hd0,9)/boot/vmlinuz:表示的第1个硬盘的第5个逻辑分区中的boot 口录中的vmlinuz文件1.4.2 grub2配置文件grub2的配置文件为/boot/grub2/grub.cfg,注意grub2关键字已经和grub不一样,比 如:title更改为menuentry; insmod nj以加载所

5、需要的模块;root更改为set root=; kernel 更改为linux等。/boo"grub2/gnjb.cfg基本内容如下。# do not edit this file# it is automatically generated by grub2-mkconfig using templates# from /etc/grub.d and settings from /etc/default/grub# begin /etc/grub.d/00_header #sei pager= 1if -s sprefix/grubenv 1; then load_envfiif

6、h$ncxt_cntry )h ; then set default=h$ next_entry ” set ncxt_cntry= save_env next_entry set boot_once=trueelseset default=n$ saved_entry#加载变屋、如果在grubenv保存变量,则启动时装载#设置默认引导项,默认值为0#设置默认引导项,默认值为0#部分内容省略if x$feature_timeout_style = xy ; then set timcout_stylc=mcnuset timeoul=5# fallback normal timeout cod

7、e in case the timeout_style feature is# unavailableelseset timcout=5#倒计时5秒后,按默认启动项启动fi#end /etc/grub.d/oo_header # begin /etc/grub.d/l()jinux #10jinux为系统自动添加的当前root分区linux引导项#每个菜单项要包括menuentry双引号和大括号 才完整,否则不显示菜单menuentry red hat enterprise linux server, with linux 3.10.0-121 .el7.x86_64r -class red

8、-class gniblinux class gnu -class os unrestricted $menuentry_id_option gnulinux-3.10.02 lel7.x86_64-advanced-50ce223f-a 1 c2-4b6c-9288-448cb9ed34e8f load_videoset gfxpayload=kccpinsmod gzioinsmod part_msdosinsmod cxt2set root=,hdo,msdos 12'if x$feature_platform_search_hint = xy j; thensearch -no

9、-floppy -fs-uuid set=root hint-bios=hdo,msdos 12 hint-efi=hdo,msdosl2 -hint-baremetai=ahcio jnsdos 12 hint=,hdo,msdos 12 59a9499f-4e9a-4d44-b 152-03a 14db6bc33elsesearch -no-floppy -fs-uuid -set=root 59a9499f-4e9a-4d44-b 152-03a 14db6bc33 filinuxl6/vmlinuz-3.10.0-121.el7.x86.64 root=uuid=50ce223f-al

10、c2-4b6c-9288-448cb9ed34e8 ro vconsole.keymap=us crashkemel=auto vconsole.font=latarcyrheb-sun 16 rhgb quiet lang=zh_cn.utf-8 initrd 16 /initramfs-3.10.0-121 .cl7.x86_64.img># end /etc/grub.d/10jinux # begin /etc/gruh.d/20_linux_xen # end /etc/grub.d/20_linux_xen # begin /ctc/grub.d/20_ppc_tcrminf

11、o # end /etc/grub.d/20_ppc_tenninfo # begin /ctc/grub.d/30_os-probcr # menuentry 'centos release 6.4 (final) (on /dev/sda3)f classlinux -class gnu class os$menuentry_id_option losprober-gnulinux-/vmlinuz-2.6.32-358.el6.i686-a7a028b9-lf6f-4261-ab4d-d2333b7de75f insmod part_msdosinsmod ext2set roo

12、t=*hdo,msdos 121if x$feature_platform_search_hint = xy ; thensearch -no-floppy fs-uuid -set=root -hint-bios=hdo,msdos 12 -hint-efi=hdo,msdos 12 -hint-barcmctal=ahciojnsdos 12 -hint=,hdo,msdos 129 59a9499f-4c9a-4d44-b 152-03a14db6bc33elsesearch -no-floppy fs-uuid -set=root 59a9499f-4e9a-4d44-b 152-03

13、a 14db6bc33filinux /vmlinuz-2.632-358.el6.i686 root=/dev/sda3initrd /initramfs-2.632-358.el6.i686.imgnlenuentry 'microsoft windows xp professional (on /dev/sda4)f -class windows -class os $menuentry_id_option ,osprobcr-chain-5a54cd0554cce53b, insmod part_msdosinsniod ntfsset root=,hd0,msdos4,if

14、x$feature_platform_search_hint = xy ; thensearch o-floppy -fs-uuid -set=root -hinl-bios=hd0jnsdos4 -hint-efi=hd0,msdos4hint-baremetal=ahci0,msdos4 -hint=,hd0,msdos4, 5a54cd0554cce53belsesearch -no-floppy fs-uuid -set=root 5a54cd0554cce53bfi#对以ntldi引导的系统如win2()()(), xp, win2()()3,因其引导机制只能从第一硬盘启动,系 统会

15、自动添加#映射命令,对vista和win7就没有这句命令drivemap s (hdo) $rootchainloader+1# end /etc/grub.d/30_os-prober # begin /etc/grub.d/40_custom # this file provides an easy way to add custom menu entries simply type the# menu entries you want to add after this comment. be careful nol to change# the cxcc tail1 line abov

16、emenuentry hcdlinuxhset root=(hdo,8)linux /cdlinux/bzimage root=/dev/ramo vga=791 cdl_lang=zh_cn.utf-8 initrd /cdlinux/initrdmenuentry tedora livecd1 insmod loopbackset root=,hdo,msdos fset iso_path=/boot/iso/fedora-live-desktop-x86_64-20-20140407.isoloopback loop $(iso_path)linux (ioop)/iso 1 inux/

17、vm 1 inuzo iso-scan/filename=$iso.path) root=live:cdlabel=fedora-live-desktopx86_642()2() rootfstype=auto ro quiet rd.live.image noeject rhgb rd.luks=0 rd.md=0 rd.dm=0initrd (loop)/isolinux/initrd0.imgmenuentry 'grub4dos' insmod ntfsset root=,hd(),msdosrlinux /boot/grub4dos/grub.exe -config-

18、file=/boot/grub4dos/menu.lst# end /etc/grub.d/40_custom # begin /etc/grub.d/41 custom #if -f $config_directory )/custom.cfg ; thensource $config_directory )/custom.cfgelif -z h$config_directoryn -a -f $prefix/custom.cfg ; thensource $prefix/custom.cfg;fi# end /clc/grub.d/41 _custom #1.4.3 grub2脚本修改系

19、统安装完成后,用户就会发现/boot/grub2/grub.cfg文件只有root权限可读,如果要直 接修改grub.cfg文件,耍先修改其权限。好不容易把grub.cfg修改好了,系统内核或grub升级时,会自动执行grub2-mkconfig, grub.cfg文件z前的配置会消失,为了保证修改后的 配置信息能一直保留,其实不用修改grub.cfg,只要把个性化毗置写入/etc/default/grub和 /etc/gurb.d/目录下的脚本文件,以后不管升级内核或者执行grub2-mkconfig,都会按要求创 建个性化的grub.cfgo1 /etc/default/grub 文件内容

20、/etc/default/grub控制grub2-mkconfig的操作,grub文件里面是以键值对存在的选项,如 果值有空格或其他字符,需要用引号引起来。首先,在/etc/defauit/grub 中设置 grub_defauit=saved: 然后,运行命令# grub2-mkconf ig -o /boot/grub2/grub. cfg: 接着执行下而命令:# grub2-set-default 0/将会持续有效,直到下一次修改# grub2-reboot 0/在下一次启动时生效/查看默认项菜单项列表# grub2-editenv list# grep menuentry /boot/

21、grub2/grub cfg2. /etc/grub.d目录下的脚本文件/etc/grub.d/ 下面的 文件:00_header、10_linux、20_iinux_xen、20_ppc_terminfo、 30_os-prober 40_custom 41_custom 这些脚本对应/boot/grub2/grub.cfg 的各个部分,不同 linux发行版会有不同。3. 重新生成grub.cfg把各项脚本修改保存后,在终端执行# grub2-mkconfigo /boot/grub2/grub.cfg,重新 生成/boot/grub2/grub.cfg o4. 改变系统的排列顺序在/et

22、c/grub.d目录中的脚本文件的文件名都是以数字开头,这确定了在执行 grub2-mkconfig时各文件内容被执行的顺序,只要把30_os-prober这个文件名的数字30改 为05到10之间的数字即可,比如改为06_os-probcr,这样创建出来的grub.cfg内的菜单项, windows的排序就会自动在rhel之前。1.4.4 grub2删除多余引导项grub2中没有menu.lst,并且不允许直接编辑/boot/grub2/grub.cfgo删除多余引导菜单 项的方法:删除/boot下的相关内核文件,以及与之相关的模块文件。# cd /boot#rm -rf*3.11.10-30

23、1.fc20*# cd /lib/modules/#m -rf 3.11.10-301 fc20# gub2mkconfig145 grub2命令行环境的常用命令146 实例一u 盘安装 grub2 并且引导 fedora-livecdx win7-ghost# mkdir /mnt/u注意:/dev/sdb 1是u盘# mount /dev/sdb 1 /mnt/u# grub2-install root-directory=/mnt/u /dev/sdb# grub2-mkconfig -o /mnt/u/boot/grub2/grub.cfg# gedit /mnt/u/boot/gru

24、b2/grub.cfg &在/mnt/u/boot/grub2/grub.cfg 文件最后添加:menuentry 'fedora livecd1 insmod loopbackset root=,hdo,msdosrset iso_path=/boot/iso/fcdora-livc-dcsktop-x86_64-20-20140407.isoloopback loop $iso_path)linux (loop)/isolinux/vmlinuzo iso-scan/filename=$ iso_path)root二】ivc:cdlabel二fcdoralivcdcskto

25、px86 642020 rootfstypc=auto ro quiet rdivc.imagc nocjcct rhgb rd.luks=() rd.md=0 rd.dm=0initrd (loop)/isolinux/inilrdo.imgmenuentry 'grub4dos' insmod ntfsset root-hdomsdostlinux /boot/grub4dos/grub.exe -config-file=/boot/grub4dos/menu.lsl注意:cdlabel使用如下命令获得:# file /mnt/u/boot/iso/fedora-live-

26、desktop-x86_64-20-20140407. iso,执行结果如下: /mnt/u/boot/iso/fedora-live-desktop-x86_64-20-20140407.iso: # iso 9660 cd-rom filesystem data'敗qj吐live二心融沁&,4恣型'(bootable)注意:下面各命令,列出每个文件夹所包含的文件。# is /mnt/u/boot/grub2 grub4dos iso# is /mnt/u/boot/iso/fedora-live-desktop-x86_64-20-20140407.iso ylmf

27、_ghostwin7sp 1 _yn2013_x86.iso# is /mnt/u/boot/grub2fonts grub.cfg grubenv i386-pc locale# is /mnt/u/boot/grub4dos/badgrub.execopyinggrub4dos_r63 .di ffdefaultgrub.exechangelog_grub4dos.txt get_source_olthis_build.txt grub.pifchinesegrldrconfig.sysgrid 匚 mbrmen usl# gedit /mnt/u/boot/grub4dos/menu.l

28、st在/mnt/u/boot/grub4dos/menu.lst 文件最后添加:title dos/win9x/me/nt/2k/xp on (hd(),o)rootnoverify (hdo)chainloader (hdo,o)+ltitle install-fedorakernel (hdo.o)/isolinux/vmlinuzinitrd (hdo,0)/isolinux/initrd.imgtitle install-rhel7/centos7root (hdojo)kernel /isolinux/vmlinuz linux repo=hd:/dev/sda9:/initrd /isolinux/initrd.imgtitle windows 7 isofind -set-root /boot/iso/ylmlghostwin7sp 1 _yn2013_x86.isomap /boot/iso/ylmf_ghostwin7spl_yn2013_x86.iso (oxff)map -hookroot (oxff)chainlosdcr (oxff)1.4.7实例grub2的应用实例1-6修复grub2 (mbr被修改)电脑先安装win xp,然后安装rhel7,之后win xp出问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论