Linux 命令速查
系统管理 man update-initramfs

update-initramfs

生成或更新 Debian 系统的 initramfs 镜像

返回

补充说明

update-initramfs 是 Debian/Ubuntu 提供的脚本,封装 mkinitramfs,用于创建、更新或删除 /boot/initrd.img-*。initramfs 是内核启动时先加载的最小根文件系统,包含挂载真实根分区所需的驱动与脚本(如 LVM、加密、RAID、网络启动)。

安装新内核、修改 /etc/initramfs-tools/ 下的配置、添加存储驱动或更改 /etc/crypttab 后,都需要重新生成对应内核的 initramfs,否则可能开机卡在 “Waiting for root device”。最常用的是 -u(更新已有镜像)和 -u -k all(更新所有内核)。

操作需要 root 权限,生成过程会读取 /etc/initramfs-tools/initramfs.conf 和 modules、conf.d/ 等配置。删除旧内核对应镜像用 -d -k 版本。RHEL 系没有该命令,对应机制是 dracut -f。

语法

update-initramfs -c|-u|-d [-k 版本] [选项]

选项

  • -c:为指定内核创建新的 initramfs
  • -u:更新已有的 initramfs
  • -d:删除指定内核的 initramfs
  • -k 版本:指定内核版本,all 表示全部
  • -t:只测试,不实际写入
  • -v:显示详细过程
  • -b 目录:指定输出目录,默认为 /boot

实例

# 更新当前内核的 initramfs
sudo update-initramfs -u

# 更新所有已安装内核的 initramfs
sudo update-initramfs -u -k all

# 为指定内核创建新镜像
sudo update-initramfs -c -k 6.1.0-18-amd64

# 删除旧内核对应的镜像
sudo update-initramfs -d -k 6.1.0-16-amd64

# 修改配置后重新生成并查看结果
sudo update-initramfs -u -v
ls -lh /boot/initrd.img-$(uname -r)

参考链接