如何重建系统的启动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文件。