www. On IT Road .com
检查确认
上述命令完成后,救援内核的两个新文件应如下所示:
# ll | grep rescue -rw-------. 1 root root 72164785 Jan 4 00:18 initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img <<----Jan 4 -rwxr-xr-x. 1 root root 5925632 Jan 4 00:18 vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 <<----Jan 4
我们想在 CentOS/RHEL 7 系统中为 Rescue Kernel 重新生成 initramfs 和 vmlinuz。
如何使用启动系统的当前内核来完成此操作?
在启动过程中,当内核镜像和 initramfs 镜像被加载时,initramfs 启动系统上的第一个进程,该进程是 systemd,进程 ID 为 1.
这个 systemd 进程进一步接管系统启动的最后阶段的控制并执行以下操作:
- 从 /etc/systemd/ 目录读取配置文件
- 读取由 /etc/systemd/system/default.target 链接的文件
- 执行 /etc/rc.local 文件
按照以下步骤从当前内核为 Rescue Kernel 重新生成 initramfs 和 vmlinuz。
- 查看救援内核的现有文件:
# cd /boot # ll | grep rescue -rw-------. 1 root root 72166662 Apr 6 21:37 initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img <<----Apr 6 -rwxr-xr-x. 1 root root 5925632 Apr 6 21:37 vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 <<----Apr 6
- 将现有文件移动到不同的目录(例如“/tmp”):
# mv initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img /tmp/initramfs-0-rescue-a0eaa652c599455aa125077a4167f435.img.bk # mv vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435 /tmp/vmlinuz-0-rescue-a0eaa652c599455aa125077a4167f435.bk
验证 /boot 目录中是否不存在用于救援内核的文件:
# ll | grep rescue #
- 使用当前内核为救援内核重新生成新的 initramfs 和 vmlinuz。
# /etc/kernel/postinst.d/51-dracut-rescue-postinst.sh $(uname -r) /boot/vmlinuz-$(uname -r)
日期:2020-09-17 00:13:46 来源:oir作者:oir