GRUB2启动代码注释.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GRUB2启动代码注释

GRUB启动代码分析 0818 袁意 200893111 # # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then #如果“ prefix/grubenv”目录不为空 load_env #从grubenv文件中加载环境变量 fi set default=0 #启动第1项(以0开始计数,在我的电脑上,linux是第1项,即”0”,Windows7 #是第2项,即”1”。) if [ ${prev_saved_entry} ]; then #如果prev_saved_entry的值不为空 set saved_entry=${prev_saved_entry} #将saved_entry的值设置成变量prev_saved_entry的值。 save_env saved_entry #将变量saved_entry保存到grubenv文件中。 set prev_saved_entry= #将prev_saved_entry的值设置为空 save_env prev_saved_entry #将prev_saved_entry保存到grubenv文件中 set boot_once=true #将boot_once的值设置为真(貌似是为了标志已经设置过启动的相关环境变量了) fi function savedefault { if [ -z ${boot_once} ]; then #如果已经设置过相关环境变量 saved_entry=${chosen} #用变量chosen的值给saved_entry赋值。 save_env saved_entry #将saved_entry保存到grubenv文件中 fi } function recordfail { #存在启动失败记录时调用,设置变量recordfail。 set recordfail=1 if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi #如果grubenv文件存在,并已设置过相关变量,就将变量recordfail保存到grubenv文件。 } insmod ext2 #插入文件系统支持的模块set root=(hd0,9) # 指定系统root分区,也就是 / 分区search --no-floppy --fs-uuid --set d9985e84-7b54-4e5d-8ce9-c25cf88330aa # 指定uuid= d9985e84-7b54-4e5d-8ce9-c25cf88330aa的分区为root分区,如果前面的分区 #号(hd0,)的uuid与这里的uuid一致,这两句作用一样,如果不一致,则指定uuid的起作用。if loadfont /usr/share/grub/unicode.pf2 ; then #设置终端字体,unicode.pf2支持中文字符显示 set gfxmode=640x480 #设置显示分辨率,默认为640×480 insmod gfxterm #插入终端模块gfxterm,支持中文字符显示和支持24位图像。 insmod vbe #插入vbe模块,GRUB2引入模块化机制,要使用它,需要在这里加入。 if terminal_output gfxterm ; then true ; else #检测grub2是否将终端设设定为gfxterm # For backward compatibility with versions of terminal.mod that dont # understand terminal_output terminal gfxterm #设定grub2终端为gfxterm fi fi insmod ext2 #插入文件系统支持的模块 set root=(hd0,9) # 指定系统root分区,也就是 / 分区 search --no-floppy --fs-uuid --set d998

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档