Linux 命令速查
系统管理 man dracut

dracut

生成 initramfs 初始内存文件系统

返回

补充说明

dracut 用于为当前或指定内核生成 initramfs(早期称 initrd),其中包含挂载根文件系统所需的模块与工具。它通过“模块”机制收集 udev 规则、存储/网络驱动、加密与 LVM 支持等,再打包成 cpio 归档。

RHEL/CentOS/Fedora 及部分 Debian/Ubuntu 系统使用它;Debian 传统上使用 update-initramfs。生成的文件通常在 /boot/initramfs-<内核版本>.img,Debian 为 /boot/initrd.img-<版本>。

常见用法:dracut -f 重新生成当前内核的 initramfs;dracut --regenerate-all -f 重建所有内核;新增驱动或修改 /etc/dracut.conf.d/*.conf 后需重新生成。可用 dracut --list-modules 查看模块。

注意生成前确保 /boot 空间充足,错误配置可能导致系统无法启动,建议保留旧镜像。调试时可加 -v,或用 --add 显式加入所需模块。容器内通常无法为宿主内核生成有效镜像。

语法

dracut [选项] [输出文件] [内核版本]

选项

  • -f / --force:覆盖已存在的镜像;
  • --regenerate-all:为所有已安装内核生成;
  • --list-modules:列出可用模块;
  • --add 模块:添加模块,可重复;
  • --omit 模块:排除模块;
  • --kver 版本:指定内核版本;
  • --no-hostonly:生成通用镜像,不限于本机硬件;
  • -v:详细输出。

实例

# 重新生成当前内核的 initramfs
sudo dracut -f

# 为指定内核生成并指定输出文件
sudo dracut -f /boot/initramfs-$(uname -r).img $(uname -r)

# 添加 LVM 与加密支持
sudo dracut --add lvm --add crypt -f

# 重建所有内核的镜像
sudo dracut --regenerate-all -f

# 查看可用模块
dracut --list-modules | head -30

参考链接