Skip to content
Welcome To Charanjit Cheema Blog

Welcome To Charanjit Cheema Blog

An Open Source and Cloud Blog

Menu
  • Home
  • About Me!
  • Way to my Technical Blog
  • Contact me
  • Privacy Policy
Menu

How to recover or rebuild initramfs in CentOS 7 Linux

Posted on June 17, 2019 by Charanjit Cheema

Corruption of initramfs can be occur by many ways for example after patching CentOS 7 Linux OS or installing a buggy device driver in server you found CentOS 7 Linux server has become unbootable. You may also encouter below kernel panic error because server initramfs got damaged .

CentOS 7 Linux Kernel Panic screen

Now in such situation specially server which is in production environment could cause outage which can create serious problems for your organization and you can’t take risk of loosing data by rebuilding it from scratch so question comes in mind how to recover the server without letting data loss and facing huge outage?

In this tutorial I will demonstrate you how to recover the CentOS 7 Linux initramfs boot image in such scenario also where server does not have old or previous kernel to boot into it.

What is initramfs and how it is critical for Linux system in boot process?

During Linux booting initramfs load itself in memory and mount the root filesystem, initramfs contains kernel modules and initial scripts which are require for booting Linux system to next stage of booting. The initramfs stay in /boot mount point or directory in image file format associated with installed kernel(s) version: initramfs-.img. Everytime when new kernel install in system new initramfs built. Utility dracut which can be use for managing and rebuilding initramfs in case of initramfs image get damage.

 

CentOS 7 Linux boot directory

You can see contents of current initramfs in CentOS 7 Linux system with command lsinitrd example below:

You might have noticed in above screenshot it is getting output of current booted kernel initramfs image. It contains combination of commands, system files and directories these are require during booting of system.

Recovery or Rebuild of damaged initramfs boot image

We will use dracut utility as I have mentioned above for recovering damaged initramfs for making CentOS7 Linux system bootable again.

  • Reboot the system and boot into rescue kernel image.

  • Login with root or sudo user credential.
  • You can see from below screenshot existing initramfs file does not have any size visible which is a sign of its damage.

  • Execute the below command for rebuilding new initramfs image associated with current kernel version.
# dracut -f /boot/initramfs-3.10.0-693.el7.x86_64.img $(uname -r)
  • Post execution of dracut command you can see in below screenshot that initramfs has been rebuilt successfully with visible file size.

Also you can inspect the rebuilt initramfs image which is associated with current kernel version with below command:

# lsinitrd -k $(uname -r)
  • Lets reboot the system in normal kernel and check system status:

Voila! CentOS 7 Linux system is up and running fine.

Loading

  • Author
  • Recent Posts
Charanjit Cheema
Follow him
Charanjit Cheema
Charanjit is currently working as a Cloud Architect at Mphasis, with 17 years of experience in IT infrastructure projects, implementation, and support. While his main role is as a DevOps engineer, he holds a Cloud Architect position and has strong skills in cloud technologies and automation. His expertise includes Terraform, Ansible, AWS, Azure DevOps, Azure Cloud, VMware, and Linux systems.

Charanjit is passionate about automating tasks and improving processes. He uses tools like Terraform and Azure DevOps to build and manage cloud infrastructure and streamline deployment. He also enjoys using Shell scripts and Ansible playbooks to make systems run more efficiently.

In his free time, Charanjit enjoys learning about new technologies and sharing his knowledge through his blog. When he’s not working, he likes listening to music, having a cup of coffee, and relaxing in nature.

You can connect with Charanjit on Twitter, Facebook, LinkedIn, or email him at charanjit.cheema@cjcheema.com.
Charanjit Cheema
Follow him
Latest posts by Charanjit Cheema (see all)
  • How to optimize the performance of Ansible Automation Platform or Ansible Tower - July 16, 2023
  • How to fix code and text file linting errors with the help of Visual Studio Code - June 27, 2023
  • How to migrate existing WordPress blog from AWS EC2 instance to Amazon Lightsail - May 29, 2023

Like this:

Like Loading...

Related

2 thoughts on “How to recover or rebuild initramfs in CentOS 7 Linux”

  1. Kamal Kumar Sharma says:
    September 30, 2022 at 9:32 pm

    Great Work. My issue got resolved.
    Thanks a lot.

    Loading...
    Reply
  2. SAURABH says:
    October 13, 2024 at 11:25 am

    I saw your post in the whatsapp group. this issue i faced today and this post really helped me. Thanks sir ji.

    Loading...
    Reply

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Tags

AWS Cloud Computing Dockers Networking Open Networking OpenSource RHEL-CentOS SDN Server Hardware SLES tcpdump Ubuntu WSL

Follow me @

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 2 other subscribers

Recent Posts

  • How to Deploy Docker Containers with NGINX on AWS EC2 Using Ansible and GitHub Actions
  • No More DynamoDB! Use Native S3 locking for Terraform State
  • How to Bring and Manage Manually Created AWS Resources Under Terraform Management
  • Iterating Cloud Resource Provisioning Using Terraform Count and For_Each Meta-Arguments
  • Terraform and Ansible Collaboration for AWS Cloud Deployment

Recent Comments

  1. Charanjit Singh on Terraform and Ansible Collaboration for AWS Cloud Deployment
  2. christinatodd2020aeaa798563 on Terraform and Ansible Collaboration for AWS Cloud Deployment
  3. Charanjit Singh on How to Set password policy in CentOS or RHEL system
  4. SAURABH on How to recover or rebuild initramfs in CentOS 7 Linux
  5. Sangita on How to Set password policy in CentOS or RHEL system

Archives

  • April 2025
  • February 2025
  • January 2025
  • August 2024
  • July 2024
  • June 2024
  • January 2024
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • September 2022
  • August 2022
  • July 2020
  • May 2020
  • February 2020
  • November 2019
  • June 2019
  • May 2019
  • March 2019
  • February 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • June 2018
  • May 2018
  • April 2018

Categories

  • Automation
  • Cloud Computing
  • Coding
  • CyberSecurity
  • Networking
  • OpenSource
  • RHEL-CentOS
  • Server Hardware
  • SLES
  • Technical Blog
  • Ubuntu
  • WSL

Blog Stats

  • 18,353 hits
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Home
  • About Me!
  • Way to my Technical Blog
  • Contact me
  • Privacy Policy
© 2025 Welcome To Charanjit Cheema Blog | Powered by Superbs Personal Blog theme
 

Loading Comments...
 

    %d