When This Error Actually Happens
You boot a modern PC—say, a Dell OptiPlex 7070 or an HP EliteDesk 800 G6 running Windows 10 22H2 or Windows 11 23H2—and you get a blue screen with STATUS_FLOPPY_BAD_REGISTERS (0xC0000168). Or worse, the machine hangs at a black screen with that error code right before Windows finishes loading. The trigger is almost always the same: the BIOS or UEFI firmware has a floppy controller enabled, but no physical floppy drive is connected. Sometimes it’s a legacy USB floppy emulator that’s half-dead, or a motherboard that still has a floppy header (yes, some industrial boards still ship with them).
What’s Actually Happening Here
The error code 0xC0000168 maps to STATUS_FLOPPY_BAD_REGISTERS. That means Windows loaded the legacy floppy controller driver (usually flpydisk.sys), poked the hardware registers on the floppy controller—and got back garbage. The controller’s status register, data register, or digital input register returned values that don’t make sense for a working floppy drive. The driver can’t tell if the drive is absent, dead, or the controller itself is fried, so it bails out with this error.
The root cause? A mismatch between what the BIOS claims is present and what’s actually wired up. When the BIOS reports “Floppy Controller: Enabled,” Windows trusts that and loads the driver. But if no drive is connected, the controller’s registers float or hang at invalid states. The driver’s validation routine hits a register check that fails—specifically, bit patterns that should alternate during a reset don’t change. Windows then throws the 0xC0000168 bugcheck.
The Fix: Step by Step
You have two paths. Path A is for machines where you can access the UEFI/BIOS settings. Path B is for locked-down corporate PCs where BIOS is password-protected. Start with Path A.
Path A: Disable the Floppy Controller in BIOS/UEFI
- Reboot and enter BIOS setup (usually F2, Del, or F10—check your splash screen).
- Look under Integrated Peripherals, Onboard Devices, or Advanced tab. The exact menu varies, but you’re hunting for “Floppy Controller,” “Floppy Disk Controller,” or “Legacy Diskette A:”.
- Set it to Disabled. If there’s a separate “Floppy A:” drive type, set that to None or Not Installed.
- Save and exit. The machine should boot cleanly. If it doesn’t, you might have a secondary floppy controller (rare, but some server boards have two). Double-check all floppy-related settings.
Path B: Disable the floppy driver in Windows (when BIOS is locked)
Can’t get into BIOS? Your company locked it with a supervisor password? Fine. You’ll neuter the driver instead.
- Boot into Safe Mode: mash F8 during startup, or interrupt the boot three times to trigger Automatic Repair, then go to Troubleshoot > Advanced Options > Startup Settings > Restart and press 4 for Safe Mode.
- Open Device Manager (Win + X then M).
- Show hidden devices: click View > Show hidden devices.
- Expand Floppy disk drives. You’ll probably see “Floppy disk drive” with a faded icon—that’s the ghost device. Right-click it and choose Disable device. If it’s not faded, just disable it anyway.
- Also check Floppy drive controllers and disable any entry there—usually “Standard floppy disk controller.”
- Reboot. If the error persists, you’ll need to force the driver not to load at all.
Nuclear option: Disable flpydisk.sys via registry
This is a permanent kill. Don’t do it if you actually use a floppy drive.
reg add "HKLM\SYSTEM\CurrentControlSet\Services\flpydisk" /v Start /t REG_DWORD /d 4 /f
What this does: sets the service start type to 4 (Disabled). The driver won’t load on next boot. If Windows still throws the error, the system’s firmware might be calling INT 13h floppy routines, which is a whole different problem—read the next section.
What to Check If It Still Fails
Sometimes the floppy controller is baked into the chipset (like on old Intel ICH10-based boards) and the BIOS setting only hides it from the OS, not disables it physically. In that case:
- Check for a physical floppy header. Open the case. If you see a 34-pin header labeled “FLOPPY” or “FDD,” there’s your culprit. The controller is active even without a cable plugged in. Some boards ground the detect pin when no drive is connected, but others don’t—they let the registers float. You can either leave it unconnected (and suffer the error) or disable it via a jumper on the motherboard (look for a “Floppy Disable” jumper).
- Run a hardware diagnostic. Boot from a Dell/HP/Lenovo diagnostic CD or USB. Run the floppy controller test. If it fails, the controller’s registers are truly bad—maybe a shorted pin from dust or corrosion. In that case, the fix is a motherboard replacement, or just disable the controller permanently in the chipset (requires re-flashing customized UEFI firmware, which is advanced and risky).
- Check for a USB floppy drive acting weird. If you have a USB floppy drive plugged in, unplug it. Some USB floppy emulators misreport their status and trigger this exact error. Windows treats them as legacy floppy controllers through the USB mass storage class driver, and bad firmware can produce the same bad register values.
The bottom line: 0xC0000168 is a legacy ghost. It’s not your RAM, not your CPU, not your SSD dying. It’s Windows being polite to a piece of hardware that doesn’t exist or can’t speak properly. Shut the controller off, and the error vanishes.