명령어/Linux
[RHEL] dracut initramfs 이미지 생성
jykim23
2026. 7. 18. 19:06
반응형
부제: 부팅 초기 램디스크(initramfs)를 다시 만들기
dracut --print-cmdline # 지금 디스크 구성 기준 커널 명령줄만 출력(안전)
dracut -f # 현재 커널의 initramfs 강제 재생성
dracut -f /boot/initramfs-$(uname -r).img $(uname -r)
Version: 057-117.git20260625.el9_8
Creates initial ramdisk images for preloading modules
-f, --force Overwrite existing initramfs file.
-a, --add [LIST] Add a space-separated list of dracut modules.
-o, --omit [LIST] Omit a space-separated list of dracut modules.
--add-drivers [LIST] add kernel modules to the initramfsdracut는 부팅 초기에 루트 파일시스템을 마운트하기까지 필요한 드라이버·모듈을 담은 initramfs를 만든다. 데비안 계열은 initramfs-tools의 update-initramfs나 mkinitramfs를 쓰는데, RHEL은 dracut을 표준으로 삼는다. 스토리지 드라이버 추가, 커널 업데이트, 마운트 실패 복구 때 재생성한다.-f로 실제 재생성하면 기존 이미지를 덮어쓴다. 잘못 만들면 부팅이 막히므로 실제 재생성은 물리·VM 시스템에서, 원본 백업 후 한다. 조회성 옵션인 --print-cmdline은 안전하다.
이렇게도 쓴다
지금 initramfs에 어떤 커널 명령줄이 필요한지만 본다(안전).
dracut --print-cmdline
특정 드라이버를 강제로 포함시켜 재생성한다.
dracut -f --add-drivers "nvme megaraid_sas" /boot/initramfs-$(uname -r).img $(uname -r)
모든 드라이버를 넣은 범용 이미지를 만든다(하드웨어 교체 대비).
dracut -f --no-hostonly --no-hostonly-cmdline
재생성 전에 원본을 날짜 붙여 백업한다(명령 치환 조합).
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%F).bak
설치된 모든 커널의 initramfs를 한 번에 다시 만든다(반복 조합).
for k in $(ls /lib/modules); do dracut -f /boot/initramfs-$k.img $k; done
특정 dracut 모듈을 빼고 만든다(예: 네트워크 제외로 경량화).
dracut -f -o "network nfs" /boot/initramfs-$(uname -r).img $(uname -r)반응형