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 the ↓ button 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