
Ubuntu displays print_req_error: I/O error, dev fd0, sector 0
With a new install as a virtual server, Ubuntu repeatedly displays the error:
print_req_error: I/O error, dev fd0, sector 0
The reason is the virtual server does not have a floppy drive. To resolve:
# sudo rmmod floppy
# echo “blacklist floppy” | tee /etc/modprobe.d/blacklist-floppy.conf
# sudo dpkg-reconfigure initramfs-tools
The message should now be gone for good.
What causes it
fd0 is Linux’s name for the first floppy-disk device. During startup, Ubuntu loads the legacy floppy kernel module and attempts to read sector 0—the beginning of that supposed disk.
On this virtual server, no floppy drive actually exists. The virtual hardware or firmware still provides enough legacy information for Linux to load the driver, but every read fails, producing:
print_req_error: I/O error, dev fd0, sector 0
This is therefore a mismatch between an automatically loaded legacy driver and the VM’s actual hardware, as described above.
What the fix does
rmmod floppyunloads the driver immediately for the current session.blacklist floppyprevents automatic loading on future boots. Ubuntu’s module configuration supports blacklisting hardware aliases in/etc/modprobe.d/- Reconfiguring
initramfs-toolsrebuilds the early-boot environment so the blacklist is applied from the beginning of startup. The initramfs is the temporary filesystem Ubuntu uses before mounting the real root filesystem.
Why it matters
The error is relevant because it:
- Resembles a serious storage failure, despite referring only to a nonexistent floppy drive.
- Repeatedly pollutes the console, kernel log and monitoring systems.
- Can obscure genuine disk errors that deserve attention.
- Illustrates how legacy hardware support can still be activated inside modern virtual machines.
If an error names sda, vda, nvme0n1 or another real storage device instead of fd0, do not apply this explanation. That may indicate an actual disk or storage-system problem.



