操作步骤
- 建议备份initrd,以防新版本出现意外问题:
# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# ll /boot/initramfs-$(uname -r).img* -rw-r--r--. 1 root root 16209434 Oct 11 14:43 /boot/initramfs-2.6.32-358.el6.x86_64.img -rw-r--r--. 1 root root 16209434 Apr 9 07:38 /boot/initramfs-2.6.32-358.el6.x86_64.img.bak
- 现在为当前内核版本重建 initramfs:
# dracut -f
- 如果我们使用的内核版本与我们正在构建的 initrd 不同(如果我们处于救援模式),我们必须指定完整的内核版本,包括架构:
# dracut -f /boot/initramfs-2.6.39-400.17.1.el6.x86_64.img 2.6.39-400.17.1.el6uek.x86_64
-f 选项将强制覆盖我们指定路径上的任何现有初始 ramdisk 镜像
on it road.com
使用备份
如前所述,建议我们备份之前的 initrd,以防新的 initrd 出现问题。
如果需要,可以在 /boot/grub/grub.conf 中为备份初始 ramdisk 镜像创建一个单独的条目,以便在启动时方便地选择旧版本而无需恢复备份。
此示例配置允许从 grub 菜单中选择新的或者旧的初始 ramdisk 镜像:
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=/ initrd /initramfs-2.6.32-358.el6.x86_64.img title Red Hat Enterprise Linux w/ old initrd (2.6.32-358.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=LABEL=/ initrd /initramfs-2.6.32-358.el6.x86_64.img.bak
或者,如果我们需要选择旧的 initrd 并且在重新启动前没有在 grub.conf 中单独创建一个条目,我们可以在 grub 中进入编辑模式。
这样做:
如果 grub 受密码保护,请按 p 并输入密码。
使用箭头键突出显示我们要引导的内核的条目。
按 e 进行编辑。
突出显示 initrd 行并再次按 e。
将initrd的路径改为你制作的备份副本(如/initramfs-2.6.32-358.el6.x86_64.img.bak)
按 Enter 临时保存我们所做的更改
按 b 开机
注意:此过程实际上不会进行任何持久更改。
下次启动时,系统将继续使用原来的 grub.conf 配置,除非它被更新。
向系统添加新硬件时,或者更改可能在引导过程中较早使用的配置文件后,或者更改内核模块上的选项时,可能需要重建初始 ramdisk(也称为 initrd 或者 initramfs)包含正确的内核模块、文件和配置指令。
在下面的示例中,我们将看到 $(uname -r) 的用法,这是一种无需实际键入即可将当前内核版本传递到命令中的方法。
日期:2020-09-17 00:11:58 来源:oir作者:oir