Solving the Issue of PVE Failing to Boot After Replacing a Hard Drive


Cause

Initially, when I started tinkering with PVE, I didn’t plan well and just attached a 128G SSD, meaning both the host and the VMs were on one disk.

As I tinkered more and more, the hard drive space was clearly insufficient, so I thought of replacing it with a larger SSD.

Problem

All data from the old disk was copied to the new disk. Then, during startup, it got stuck and displayed:

fsck exited with status code 4

I was puzzled. After some searching and tinkering, I recorded the solution process here.

It turned out to be caused by enabling hardware passthrough.

Solution

1. Enter Advanced Mode

   On boot, press thebutton and select “Advanced options for Proxmox Virtual Environment”.

   On the GRUB selection screen, press the e key to edit GRUB.

2. Edit GRUB

   Find the line with hardware passthrough, for example, mine was:

   linux /boot/vmlinuz-5.4.73-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=***********

   Change the `intel_iommu` value to `on`, or simply remove the assignment, like this:

   linux /boot/vmlinuz-5.4.73-1-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on

   Note: My CPU is Intel; for AMD, this line should be `amd_iommu`.

   Then press Ctrl+O to save GRUB, Ctrl+X to exit, and boot from the new GRUB.

3. Update GRUB

   After entering the system, quickly modify the startup parameters in `/etc/default/grub`.

   Remove the item about passthrough under `GRUB_CMDLINE_LINUX_DEFAULT`, then update GRUB:

   update-grub

Problem 2

The issue caused by passthrough was resolved, but it got stuck again at boot, displaying:

a start job is running…

I suddenly remembered that I also mounted a mechanical hard drive via `fstab`. This was simple to fix.

After entering the system, edit `/etc/fstab` and comment out or delete that line.

With this, the process of replacing the main disk for PVE was completed.


Leave a Reply

Your email address will not be published. Required fields are marked *