Thank Zhihao Tao for your hard work. The document spent countless nights and weekends, using his hard work to make it convenient for everyone.
If you have any questions, please send a email to zhihao.tao@outlook.com
1. 概述
GRUB
(英文:GRand Unified Bootloader
,简称GRUB
)是GNU多操作系统启动程序。GRUB允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
GRUB
1.1 配置修改
/etc/default/grub
文件为grub的配置文件。官方手册示例如下
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_TIMEOUT
: 设置进入默认启动项的等候时间GRUB_DISTRIBUTOR
: 设定取得清单名称的命令,例如Debian、Ubuntu或Centos等GRUB_DEFAULT
: 设置默认启动项,按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3,若改为saved
,则默认为上次启动项。GRUB_CMDLINE_LINUX
: 要添加到Linux内核的菜单项的命令行参数。
修改后执行:grub2-mkconfig –o /boot/grub2/grub.cfg
1.2 内核参数
- Linux 内核引导选项简介
- Documentation/admin-guide/kernel-parameters.txt
- Documentation/x86/x86_64/boot-options.rst
1.2.1 示例
init=文件全路径
指定内核挂载根文件系统后运行的第一个用户空间程序的绝对路径。默认为"/sbin/init"。
2. 虚拟机演示
-
在倒计时,过程中按动上下箭头,退出倒计时。
-
进入菜单接口。
- 按[e]键,对高亮菜单项中的命令进行编辑。
- 按[c]键载入一个命令行接口。
- 如果设置密码需要输入密码。
- 如果设置密码需要输入密码。
添加下面修改
执行ctrl + x
引导进入命令行。
2.1 修改密码
- 挂载根目录
sh-4.2# mount -o remount, rw /
- 修改密码
sh-4.2# passwd root
- 开启了SElinux
touch /.autorelabel
- 重启系统
sh-4.2# exec /sbin/init
sh-4.2# exec /sbin/reboot