支持BIOS和uEFI启动的GRUB2引导盘
2023上半年 国产操作系统(麒麟)运维师(中级)考前冲刺卷A2卷

2023上半年国产操作系统(麒麟)运维师(中级)考前冲刺卷A2卷1.【单选题】以下哪种情况适合使用自动分区配置( )。
A:多系统并存B:磁盘空间紧张C:全新磁盘并使用全部磁盘D:数据分区需要保留正确答案:C答案解析:全新磁盘并使用全部磁盘可使用自动分区配置2.【单选题】关于系统安装完成后的接受许可描述正确的是( )。
A:不带UKUI的系统安装完毕后,会显示文字版的许可协议B:无论带不带UKUI的系统安装完毕后,都会显示图形化的许可协议C:安装完成后可跳过接受许可也可以进入操作系统D:每次启动麒麟高级服务器操作系统都会显示许可协议正确答案:A答案解析:不带UKUI的系统安装完毕后,会显示文字版的许可协议,同样必须确认通过以后才能正常登录系统3.【单选题】启动流程的正确顺序应为( )。
1.Kernel自身初始化2.BIOS加电自检3.把MBR加载到内存4.加载grub引导程序5.启动systemdA:23415B:12345C:23145D:23451正确答案:A答案解析:正确顺序为234154.【单选题】下列不属于麒麟服务器系统下的bootloader的是哪项( )。
A:grubB:grub2C:spfdiskD:BOOTMGR正确答案:D答案解析:BOOTMGR是windows的bootloader5.【单选题】内核文件放置在什么目录下( )。
A:/B:/rootC:/bootD:/bin正确答案:C答案解析:内核文件放置在/boot目录下6.【单选题】为何使用ps aux查看到的1号进程不是systemd( )。
A:systemd进程号是隐藏的B:1号进程/sbin/init是链接到systemd的C:1号进程/sbin/init会调用systemdD:systemd进程号不是1正确答案:B答案解析:/sbin/init实际上是链接到systemd的,是软连接,所以不能算是调用systemd7.【单选题】在grub引导界面,修改系统启动项可选择快捷键( )。
grub2引导光盘镜像的制作

grub2引导光盘镜像的制作这个东东很简单,但差不多还是花了一两天时间。
关键是引导不起来,最后找出了原因,在制作ISO的时候出错了。
制作前最好su得到管理员权限。
一般我们都是有win系统的,那么可以vmware虚拟机安装ubuntu,再用它制作即可,至于导出方法,自己百度首先用ubuntu1404的版本为例,只是与ubuntu1204的目录有点区别ubuntu1404的grub2已经是2.02的版本的,ubuntu1204还是1.991,复制模块文件等su输入管理员密码cp -a /usr/lib/grub/ ./ 制作文件夹到当前目录mv grub grub2 改名为grub2grub2/grub.cfg这个是配置文件,可以根据需要更改,最好是改一下2,制作一个bootcfg的文件可用vi bootcfgsearch -f -n --set=root /grub2/grub.cfgconfigfile /grub2/grub.cfgset color_normal=light-gray/blackset pager=1按ESC:wq也可用gedit bootcfg,最后记得保存就行了3,定制启动内核grub-mkimage -d /usr/lib/grub/i386-pc/ -p /grub2/ -c bootcfg -o core.img -O i386-pc biosdisk iso9660 search configfile part_msdos fat ntfs ext2-d 指定定制内核时的要用的目录-p 指定在引导时要用到的目录,包含模块点-c 指定一些简单配置的文件-o 输出路径及文件名-O 指定格式i386-pc biosdisk iso9660指光盘文件系统一定要4,制作光盘引导文件cat /usr/lib/grub/i386-pc/cdboot.img core.img >g2ldr5,制作可启动的iso镜像文件mkisofs -R -J -v -l -no-emul-boot -boot-info-talbe -boot-load-size 4 -b g2ldr -o ../grub2cd.iso ./-b 启动文件,它是以后的引导文件,所以前面什么都不用加,不管是什么路径-o 输入路径及文件名../是上一级目录./是当前目录注意这里一定要加-no-emul-boot -boot-info-table -boot-load-size 4grub2可以加载jpg图片为背景,比g4d要漂亮一些,还增加了模块设计,可以加载缷载,还有中文字体一般配置菜单为grub.cfg再用buntu1204的版本为例,制作一个可引导启动的iso镜像文件1,复制模块文件等su输入管理员密码cp -a /usr/lib/grub/ ./ 制作文件夹到当前目录mv grub grub2 改名为grub22,制作一个bootcfg的文件可用vi bootcfgsearch -f -n --set=root /grub2/grub.cfgconfigfile /grub2/grub.cfgset color_normal=light-gray/blackset pager=1按ESC:wq3,定制启动内核grub-mkimage -d /boot/grub/ -p /grub2/ -c bootcfg -o core.img -O i386-pc biosdisk iso9660 search configfile part_msdos fat ntfs ext24,制作光盘引导文件cat /boot/grub/cdboot.img core.img >g2ldr5,制作可启动的ISO镜像文件mkisofs -R -J -l -v -no-emul-boot -boot-info-table -boot-load-size 4 -b g2ldr -o ../grub2cd.iso ./。
U盘UEFI与BIOSS双启动制作教程

U盘UEFI与BIOSS双启动制作教程此教程由本人亲手制作由IT天空 C大的U盘装机助理手动拓展EFI支持及存储单个大于4GB的文件的方法学习后,以自己的经验重新整理制作,方法更简单。
我发布的原帖在IT天空网址:/forum.php?mod=viewthread&tid=341046&page=1#pid7667054 版权归 IT天空 C大所有(如需转载请注明出处)一制作之前准备制作UEFI启动首先需要准备三个工具1.U盘装机助理2.0(这个在IT天空首页即可下载)2.傲梅分区助手PE启动测试工具”)1.使用U盘装机助理2.0 制作U盘PE启动(去除拓展UEFI功能)已经制作好的可以跳过此步三创建UEFI启动分区1.打开“傲梅分区助手”右键点击U盘非UD分区选择"调整/移大小在300M左右即可我个人使用500M 点击“确定”2.在“傲梅分区助手”的左上侧有个提交(在傲梅分区助手上的所有操作都需要点击提交才能进行下一步)点击“执行”点击“确定”3.下面开始创建UEFI启动分区首先右键点击新调整出来的分区选择“创建分区”如图点击“是"注意一定要FAT16 或者FAT32格式(我个人使用FAT32,并且测试过;FAT16我没有试过)确定之后别忘了左上角的”执行“到这里UEFI的启动盘制作就完毕了,接下来就是写入UEFI启动文件四隐藏非UD分区由于U盘只能识别一个主分区,而写入UEFI又必须是可见分区,所以首先要隐藏非UD分区也就是数据区域,怎样才能隐藏呢?我们只要把非UD的分区转换成逻辑分区这种转换不会删除数据但以防万一请大家做好备份1.首先右键点击非UD分区——高级操作——转换到逻辑分区确定这时电脑中就能看到UEFI启动的分区了如果不能识别请重新插拔U盘五写入UEFI引导文件之前按照C大的提取引导文件结果没弄明白然后就突发奇想用2.0直接写入没想法到成功了而且方法更简单1.打开"U盘装机助理2.0 选中”拓展UEFI“升级PE启动到这里整个UEFI启动盘制作基本结束但别忘了现在的可见分区是UEFI引导分区,还要把非UD分区显现出来2.打开傲梅分区助手,右键点击非UD分区——高级操作——转换到主分区之后电脑中就可以看到U盘的非UD分区了(如不能识别请重新插拔U盘)此时分区是FAT32格式想用NTFS的请手动格式化,这个相比大家都会,我就不说了到这里整个UFFI与BIOSS启动盘就制作成功了下面是测试结果UEFI启动BIOSS启动补充一下这种方法我只试过使用 IT天空U盘装机助理制作理论换成其他如:老毛桃、电脑店等也应该一样可以但我一直钟情于 U盘装助理其他未曾尝试如果需要请自行尝试希望此帖能够帮到大家请尊重版权转载注明出处。
grub2 原理

grub2 原理全文共四篇示例,供读者参考第一篇示例:Grub2是一款广泛应用于Linux操作系统的引导管理器,其设计的初衷是为了解决引导多个操作系统的问题。
Grub2的设计极具灵活性和可扩展性,使得它成为目前最流行的引导管理器之一。
Grub2的工作原理十分复杂,但可以简单地分为几个主要步骤:第一步是启动引导加载程序。
当计算机启动时,BIOS会加载Grub2引导加载程序到内存中,并执行引导加载程序。
引导加载程序的主要功能是在系统启动时向用户提供一个选择菜单,让用户选择要启动的操作系统。
第二步是加载内核。
一旦用户选择了要启动的操作系统,Grub2会加载该操作系统的内核文件到内存中。
内核文件包含了操作系统的核心功能,如进程管理、文件系统等。
第三步是加载初始化RAM磁盘(initrd)。
在加载内核之后,Grub2会加载initrd文件到内存中。
initrd是一个临时的文件系统,用于初始化硬件设备和加载驱动程序,以便系统能够顺利启动。
第四步是启动操作系统。
Grub2会将控制权交给内核,由内核初始化系统并启动用户空间进程,最终启动操作系统。
Grub2的设计具有许多优点,例如支持多种文件系统和操作系统,能够通过脚本和配置文件自定义启动选项,支持密码保护和图形界面等。
Grub2还支持在启动时对引导选项进行编辑,方便用户在系统启动时进行调试和配置。
Grub2也存在一些缺点,例如在配置文件中出现错误可能导致系统无法启动,引导加载程序的体积相对较大,可能会增加系统启动时间等。
在使用Grub2时,用户需要仔细阅读文档并谨慎配置,以避免出现问题。
Grub2是一款功能强大且灵活的引导管理器,能够帮助用户管理多个操作系统的启动过程。
它的工作原理虽然复杂,但通过对其原理和配置文件的深入了解,用户可以充分利用其强大的功能,提高系统的稳定性和性能。
第二篇示例:Grub2是一个多重引导加载程序,常用于Linux系统,负责加载操作系统。
Grub2配置详解

Grub2配置详解一、grub.cfg详解(红色为说明)grub.cfg 默认为只读,要修改前先设为可写sudo chmod +w /boot/grub/grub.cfgset default=0#默认为0insmod jpeg#添加jpg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tgainsmod ext2#除了用作启动的分区外,其他分区格式可在menu底下再添加set root=(hd0,7)#设定root分区search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3#设定uuid=****的分区为root,和上句重复,可删除# 以下为终端配置if loadfont /usr/share/grub/unicode.pf2 ; then#设置终端字体,unicode.pf2支持中文显示set gfxmode=640x480#设置分辨率,默认为 640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致insmod gfxterm#插入模块 gfxterm,支持中文显示,它还支持 24 位图像insmod vbe#插入 vbe 模块,GRUB 2 引入很多模块的东西,要使用它,需要在这里加入if terminal_output gfxterm ; then true ; else# For backward compatibility with versions of terminal.modthat don't# understand terminal_outputterminal gfxterm#设置 GRUB 2 终端为 gfxtermfifiset timeout=10background_image (hd0,7)/boot/images/1.jpg#设置背景图片### END /etc/grub.d/00_header ###### BEGIN /etc/grub.d/05_debian_theme ###set menu_color_normal=white/blackset menu_color_highlight=cyan/black#这两行为 Debian 下的菜单颜色设置,如果默认的话,你会发现背景完全被蓝色挡住了,你需要修改 blue 为 black,这样背景就会出现### END /etc/grub.d/05_debian_theme #### 10_linux 为自动添加的当前root分区linux引导项### BEGIN /etc/grub.d/10_linux ####菜单项,要包括 menuentry 双引号" " 和大括号 { }才完整,否则不显示菜单menuentry "Ubuntu, Linux 2.6.31-9-386" {insmod ext2set root=(hd0,7)search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3#这句与set root=(hd0,7)重复,可删除linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda7代替initrd /boot/initrd.img-2.6.31-9-386}### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/20_memtest86+ ###menuentry "Memory test (memtest86+)" {linux16 /boot/memtest86+.bin}### END /etc/grub.d/20_memtest86+ #### 自动添加存在于其他分区的系统引导项### BEGIN /etc/grub.d/30_os-prober ####windows 启动菜单menuentry "Windows Vista (loader) (on /dev/sda1)" {insmod ntfs#windows格式为ntfs,或为fat32改为insmod fatset root=(hd0,1)search --no-floppy --fs-uuid --set ece067d2e067a196#可删除#grub2比较先进的地方就是如果发现windows启动是通过ntldr 引导的,定为2000/xp/2003,会在这加上drivemap -s (hd0) ${root} ,作用相当于grub的map,可正常启动非第一硬盘的xp/2003系统。
使用Linux系统安装grub2到u盘并启动系统或者iso镜像文件

使⽤Linux系统安装grub2到u盘并启动系统或者iso镜像⽂件⼀、使⽤fdisk命令对u盘进⾏分区1、fdisk -l 查看那个设备时u盘(现在以/dev/sdc为例)2、fdisk /dev/sdc 对u盘分区 p:查看当前分区 d:删除当前分区 n:新建分区 w:保存⼆、使⽤mkfs 将u盘格式化为fat32格式,fat32 通⽤性⽐较好mkfs.vfat -F 32 /dev/sdc1 或者 mkfs -t vfat /dev/sdc1三、将grub2安装到u盘1、sudo grub-install --boot-directory=/media/u /dev/sdc 问题:--boot-dircetory 和 --root-dircetory 的区别或:grub-install --no-floppy --boot-directory=/mnt/img /dev/sdc2、 sudo update-grub3、sudo grub-mkconfig -o /media/u/boot/grub/grub.cfg以上代码中的/dev/sdc是U盘对应设备,/media/u是U盘的挂载点。
经过上⾯的操作,grub2被安装到u盘的mbr上了,⽣成了默认的启动菜单/grub/grub.cfg,通过u盘启动就能看到grub2的引导界⾯了,完全可以引导电脑硬盘上的操作系统了。
四、使⽤grub命令⾏启动系统启动linux系统(本⽂的grub指的全部是grub2)1、set root=(hd1,msdos1) (hd1,msdos1)是启动分区。
(在输到"("之后,按⼀下tab,我的能⾃动填充hd1,之后,再按⼀下tab键,可以显⽰出磁盘分区,在我的电脑上显⽰出了2个ext分区,以及这些分区的基本信息,我的安装在hd1,msdos1)2、linux /boot/vmlinux-xxx-xxx root=UUID=xxxxxxxxx 或者 linux /boot/vmlinuz-***** -generic root=UUID=****** (root=后可以使⽤uuid也可使⽤ /dev/sda1 挂载分区,但是本⼈个⼈暂时⽆法获取是sda1还是sdb1,所以⽤UUID,第⼀步tab补全显⽰磁盘分区详情时会显⽰分区的uuid号)3、initrd /boot/initdxxx(按tab补全)4、boot 启动五、grub可以直接启动grub4dos2、配置 grub.cfgmenuentry "Grub4dos"{set root='hd0,msdos1'linux16 /grub/grub4dos/grub.exe boot}六、grub启动winpe1、消灾镜像⽂件到u盘2、配置grub.cfgmenuentry 'winpe'{ set root='hd0,msdos1' insmod lvm insmod xfs insmod memdisk insmod part_msdos echo 'loading memdisk...' linux16 /grub/memdisk iso raw echo 'loading iso...' initrd16 /grub/dabaicai.iso}七、grub4dos启动winpe(grub启动winpe有时候会失败所以使⽤grub4dos启动)修改grub4dos下的menu.lst⽂件(menu.lst⽂件最好拷贝到根⽬录或者boot⽬录,要不然系统可能找不到)title find and boot dabaicai.ISOfallback 6root (hd0,0) (系统默认是在当前磁盘,如果iso和grub4dos在同⼀个磁盘分区可以不⽤写这⼀句)find --set-root /grub/dabaicai.isomap /grub/dabaicai.iso (0xff) || map --mem /grub/dabaicai.iso (0xff)map --hookchainloader (0xff)savedefault --wait=2命令解释set: 设置环境变量,如果不带参数,则是显⽰当前所有的环境变量。
BOOTICE安装GRUB2到U盘
BOOTICE安装GRUB2到U盘第一篇:BOOTICE安装GRUB2到U盘BOOTICE安装GRUB2到U盘在windows(32位)环境下,将GRUB2安装到U盘中,并引导各种工具维护系统。
所需要的软件:BOOTICE v1.3.2所需要的附件:GRUB2的模块,各种工具第一步:插入U盘,等待U盘被电脑正确识别后,运行BOOTICE,出现如下界面。
根据磁盘的大小,选中目标磁盘为U盘。
不要选成电脑中的硬盘了。
点击分区管理。
第二步:在下图的分区管理中,点击重新分区。
对U盘进行分区操作。
下面的一个8G新U盘的情形,如果显示的信息与这个有区别时,不用担心,直接点重新分区,原来的分区信息就不存在了,U盘中的数据也会完全丢失。
千万注意:如果U盘中有重要的数据,一定要先将数据复制到电脑的硬盘中,再用BOOTICE软件重新进行分区。
第三步:接下来,一定要选择第四种模式,多分区的USB-HDD 模式。
主要是为了让U盘的第一个分区在windows系统中显示出来,当普通的U盘存数据用。
而第二个分区中存放GRUB2的模块,以及各种工具软件,在windows系统中是一般看到到的。
第四步:先将前3个分区的大小分别改为0MB,500MB,0MB,这样,第4个分区中会自动显示出U盘剩余的容量,比如这个8G的U盘剩余7222MB。
其实这个7222MB的容量是第一个分区应该设置的大小,这样做只是免于自己计算。
第五步:再将第1个分区的大小改为7222MB,第3、第4个分区的大小自动为0MB。
为了让第一个分区中能存放大于4GB(单个文件)的文件,应改为NTFS文件系统,最好加个卷标为DATAS(这个名字可随意),说明是用来存放数据的。
为了让GRUB2的主引导记录MBR读出GRUB2的模块,将第2个分区应设为FAT32文件系统,最好加个卷标为GRUB2(这个名字可随意),说明是用来存放GRUB2模块的。
点击确定后,会出现如下的提示信息,放心的点确定。
云主机添加Grub2引导WinPE ISO(Windows系统)-V1
云主机添加Grub2引导WinPE ISO(Windows系统)导读云主机安装的系统是Windows 2008 R2,BIOS+MBR,想利用Grub2引导发位于磁盘上Windows PE ISO 或其他系统,可以采用在Windows 系统中安装grub2实现。
安装配置步骤第一步、Grub2下载,文件准备到Grub2官网ftp:///gnu/grub/ 下载文件grub-2.02-for-windows.zip,将其解压至任意路径下,比如D:\。
这样Grub2的主程序目录将位于D:\grub-2.02-for-windows第二步,Grub2安装以管理员身份运行CMD,输入命令wmic diskdrive list brief,记录下安装目标磁盘DeviceID,本教程将安装至\\.\PHYSICALDRIVE0============================================== ====================================Microsoft Windows [Version 10.0.10586](c) 2015 Microsoft Corporation. All rights reserved.C:\Windows\system32>wmic diskdrive list briefCaption DeviceID Model Partitions Size WDC WD5000AAKX-001CA0 \\.\PHYSICALDRIVE0 WDC WD5000AAKX-001CA0 3 500105249280C:\Windows\system32>===================================================== =============================将当前路径切换至Grub2主程序所在路径,输入cd /d d:\grub-2.02-for-windows===================================================== =============================C:\Windows\system32>cd /d d:\grub-2.02-for-windowsd:\grub-2.02-for-windows>===================================================== =============================查看grub-install.exe的帮助文件,可以输入grub-install.exe --help或grub-install.exe -?,显示如下内容:===================================================== =============================Usage: grub-install [OPTION...] [OPTION] [INSTALL_DEVICE]Install GRUB on your drive.--compress=no|xz|gz|lzo compress GRUB files [optional]-d, --directory=DIR use images and modules under DIR[default=C:\grub-2.02-for-windows/<platform>]--fonts=FONTS install FONTS [default=unicode]--install-modules=MODULES install only MODULES and their dependencies[default=all]-k, --pubkey=FILE embed FILE as public key for signature checking --locale-directory=DIR use translations under DIR[default=C:\grub-2.02-for-windows/locale]--locales=LOCALES install only LOCALES [default=all]--modules=MODULES pre-load specified modules MODULES--themes=THEMES install THEMES [default=starfield]-v, --verbose print verbose messages.--allow-floppy make the drive also bootable as floppy (defaultfor fdX devices). May break on some BIOSes.--boot-directory=DIR install GRUB images under the directory DIR/grubinstead of the boot/grub directory--bootloader-id=ID the ID of bootloader. This option is onlyavailable on EFI and Macs.--core-compress=xz|none|autochoose the compression to use for core image--disk-module=MODULE disk module to use (biosdisk or native). Thisoption is only available on BIOS target.--efi-directory=DIR use DIR as the EFI System Partition root.--force install even if problems are detected--force-file-id use identifier file even if UUID is available--label-bgcolor=COLOR use COLOR for label background--label-color=COLOR use COLOR for label--label-font=FILE use FILE as font for label--macppc-directory=DIR use DIR for PPC MAC install.--no-bootsector do not install bootsector--no-nvram don't update the `boot-device'/`Boot*' NVRAMvariables. This option is only available on EFIand IEEE1275 targets.--no-rs-codes Do not apply any reed-solomon codes whenembedding core.img. This option is only availableon x86 BIOS targets.--product-version=STRING use STRING as product version--recheck delete device map if it already exists--removable the installation device is removable. This optionis only available on EFI.-s, --skip-fs-probe do not probe for filesystems in DEVICE--target=TARGET install GRUB for TARGET platform[default=i386-pc]; available targets: arm-efi,arm-uboot, arm64-efi, i386-coreboot, i386-efi,i386-ieee1275, i386-multiboot, i386-pc,i386-qemu, i386-xen, ia64-efi, mips-arc,mips-qemu_mips, mipsel-arc, mipsel-loongson,mipsel-qemu_mips, powerpc-ieee1275,sparc64-ieee1275, x86_64-efi, x86_64-xen-?, --help give this help list--usage give a short usage message-V, --version print program versionMandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.INSTALL_DEVICE must be system device filename.grub-install copies GRUB images into boot/grub. On some platforms, it may also install GRUB into the boot sector.Report bugs to <bug-grub@>.===================================================== =============================参数说明:--directory 指定镜像和模块的路径,本教程将此参数设置为--directory=D:\grub-2.02-for-windows\i386-pc,如果把grub2压缩包解压至c盘,此参数可以不进行设置,因为default=C:\grub-2.02-for-windows/<platform>,platform 会根据当前的平台从i386-pc和i386-efi两个路径中进行自动选择。
GRUB2启动详解
目前Grub1已经停止开发了,不再增加新的功能,所有的开发都转移到Grub2上了,Grub 2 是新一代的Grub,它实现了一些Grub中所没有的功能:1.模块化设计不同于Grub的单一内核结构,Grub 2 的功能分布在很多的小模块中,并且能在运行时动态装载和卸除。
2.支持多体系结构Grub 2可支持PC(i386), MAC(powerpc)等不同的体系机构,而且支持最新的EFI架构。
3.国际化的支持Grub 2 可以支持非英语的语言。
4.内存管理Grub 2 有真正的内存管理系统。
5.脚本语言Grub 2 可以支持脚本语言,例如条件,循环,变量,函数等。
当然,Grub 2正处在开发阶段,因此以上的某些功能可能现阶段还不是很完善。
如果你熟悉Grub2,应该可以看明白里面的内容。
要注意的是:a、timeout, default等参数用变量来储存b、菜单项由menuentry定义c、第1个分区是(hd0,1)而不是(hd0,0)理论的东西说多了大家估计也晕,举个简单的例子:在grub1中,要改变启动背景的时候只能选择支持640X480分辨率并且格式也只能是.xpm的图片,分辨率稍微大点的图就显示不出来了,但grub2不存在这个问题,它有更绚丽的菜单界面,grub2默认.png .tga .jpeg等很多种格式的图片都支持,而且支持的图片分辨率也更大。
GRUB2启动代码分析## 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文件中加载环境变量fiset default="0"#启动第1项#if [ ${prev_saved_entry} ]; then #如果prev_saved_entry的值不为空set saved_entry=${prev_saved_entry} #将saved_entry的值设置成变量prev_saved_entry的值。
GRUB2及启动过程详解---精品管理资料
GRUB2及启动过程详解作者: 南瓜剪子2016年7月28日1. 概述 (2)2. CentOS7中GRUB2 (3)3。
GRUB2 的bootstrap image文件 (5)3.1。
boot。
img (5)3。
2。
diskboot。
img (5)3.3. kernel。
img (6)3.4。
core。
img (6)3。
5. *.mod (6)4. 对比GRUB Legacy (7)4.1. stage1 (7)4。
2. *_stage1_5 (7)4.3。
stage2 (7)5。
grub2-mkimage定制core.img (8)6。
GRUB2安装 (10)6。
1. Linux是怎么命名设备(/dev/sda) (10)6.2. MBR(Master Boot Record) (11)6。
3。
MBR分区表DPT(Disk Partition Table) (14)6.4。
LBA and CHS (22)6.4。
1. CHS(cylinders—heads—sectors) (22)6.4。
2。
LBA(Logical Block Address) (23)6。
5。
boot。
img和core.img安装 (23)6.6。
硬盘总结 (28)7. 启动过程 (29)7。
1. BIOS (29)7.2。
GRUB2中boot.img (31)7.2。
1。
Step1无条件跳转 (32)7。
2。
2. Step2 初始化 (32)7。
2.3. Step3 判断硬盘是否支持LBA还是只支持CHS (34)7。
2.4。
Step4 采用LBA加载core.img第一个扇区 (37)7。
2.5. Step5 拷贝core.img第一个扇区到内存指定位置 (40)7。
2。
6。
Step6 执行core。
img第一条语句 (42)7。
2。
7。
Step7 boot。
img总结 (43)7。
3。
GRUB2中core。
img (44)7.3.1。