简述grub启动引导程序配置及命令行接口详解

1、grub 命令行接口(一次性设置)

系统启动过程中按 c 键可进入grub 命令行界面,就可以自定义grub 启动参数了。常用命令有:

 help   ##查询帮助

 help   COMMAND ##查询命令帮助

ls : 显示系统磁盘及分区情况

 root (hd#,#)   :将hd#的第#号分区设置为根分区;(CentOS 6)

 kernel /PATH/TO/KERNEL_FILE : 设定本次启动用到的内核文件(CentoS 6)

 set root=(hd#,msdos#)  : 将第#块硬盘的第#个分区设置为根分区;(CentOS 7)

linux /PATH/TO/KERNEL_FILE : 设定本次启动用到的内核文件(CentoS 7)

root=/dev/mapper/cl-root ro init=/bin/sh  : 指明根分区路径;以ro/rw格式挂载; 第一个运行的程序是bash ;

initrd /PATH/TO/INITRAMFS_FILE_FILE : 为选定的内核提供额外的ramdisk ;

CentOS 7:

然后boot 重启,将会出现以下定制的系统了:

简述grub启动引导程序配置及命令行接口详解_第1张图片

CentOS 6:

简述grub启动引导程序配置及命令行接口详解_第2张图片

2、grub 配置文件:  永久配置是要在grub 的配置文件中配置的;

        CentOS 6: /boot/grub/grub.cfg

                default=0  : 设置默认启动菜单项;编号从0开始;

                timeout=5 :  设置菜单项等待被选择的时长

                title CentOS Express   ##定义内核菜单选项

                        root (hd0,0)

                        kernel /vmlinuz-VERSION-release ro [selinux=0]  root=/dev/mapper/vg0-root (根据系统设置)

                        initrd /initramfs-VERSION-release.img

        CenOS 7: /boot/grub2/grub.cfg (/etc/grub2.cfg ), 不要直接修改 ;

                        grub2-mkconfig会调用/etc/grub.d中的脚本去搜集/etc/default/grub 中的配置参数,生成/etc/grub2.cfg ; 

                        /etc/default/grub中的参数被修改,就可以使用grub2-mkconfig重新生成/etc/grub2.cfg

                        #grub2-mkconfig –o /boot/grub2/grub.cfg


3、给Grub 添加保护

CentOS 6:

            配置项:

                default=0

                timeout=5

               password [--md5] STRING : 菜单编辑认证 ;

               title TITLE : 

                            root (hd#,#) : 

                            kernel /PATH/TO/VMLINUXZ_FILE [PARAMETERS] 

                            initrd /PATH/TO/INITRAMFS_FILE 

                            password [--md5] STRING : 启动选定的内核或操作系统时需要进行认证;


CentOS 7:

a.添加grub菜单和命令行的密码认证:

        >>> grub2-setpassword    ##输入密码两次生成/boot/grub2/user.cfg 文件

        >>> cat /boot/grub2/user.cfg

                GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CC6F56BFCFB90C49E6E16DC7234.....

        >>>grub2-mkconfig -o /boot/grub2/grub.cfg  ##重新生成配置文件

                Generating grub configuration file ...

                Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64

                Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img

                Found linux image: /boot/vmlinuz-0-rescue-f9725b0c842348ce9e0bc81968cf7181

                Found initrd image: /boot/initramfs-0-rescue-f9725b0c842348ce9e0bc81968cf7181.img

                done

       >>> shutdown -r now

            再次键入e 或 c ,系统都会要求输入用户名和密码的;

rel:  https://www.thegeekdiary.com/centos-rhel-7-how-to-password-protect-grub2-menu-entries/

b. 删除grub 密码保护(删除掉user.cfg,重新生成配置文件即可)

        >>>rm -rf /boot/grub2/user.cfg

        >>>grub2-mkconfig -o /boot/grub2/grub.cfg

        >>>reboot

你可能感兴趣的:(简述grub启动引导程序配置及命令行接口详解)