如何重建系统的启动ramdisk映像-initrd.img?
解决方法:

当系统添加新的scsi,sata以及光纤通道控制卡HBA后,一般需要重新build系统的initrd.img,使得initrd.img包含对新的硬件驱动模块的支持,修改/etc/modules.conf(RHEL2.1和RHEL3)和modprobe.conf(RHEL4)以后,执行下面命令来重建initrd.img:

# cp /boot/initrd-(kernel-version).img /boot/initrd-(kernel-version).img.bak
# mkinitrd -f initrd-$(uname -r).img $(uname -r)

例如

 
cp /boot/initrd-2.4.21-27.0.2.ELsmp.img /boot/initrd-2.4.21-27.0.2.ELsmp.img.bak
mkinitrd -v -f /boot/initrd-2.4.21-27.0.2.ELsmp.img 2.4.21-27.0.2.ELsmp

这个例子对一个运行2.4.21-27.0.2smp内核的系统重建了initrd.img,根据自己系统的实际运行版本自行调整mkinitrd的参数(可以使用uname -r得到本机运行的内核版本号)。

   * mkinitrd的-v参数可以显示initrd.img中包括的所有模块。
   * mkinitrd的-f参数可以强制覆盖initrd.img中已有的同名模块。

备注:建议备份现有initrd-$(uname -r).img文件。