Fedora Media Writer Not Detecting USB Drive

How to Fix

Fix Fedora Media Writer not detecting USB drives by running the application with pkexec to grant necessary hardware permissions.

You plug in a fresh USB stick

You plug a 32 GB USB stick into your laptop. The desktop environment plays the mount chime. You open Fedora Media Writer to burn an ISO, but the device dropdown is completely empty. You unplug the stick, wait ten seconds, plug it back in. The dropdown stays empty. You need that installer on a new machine by tomorrow morning.

What is actually happening

Fedora Media Writer does not scan your filesystem for mounted directories. It talks directly to the kernel through udisks2, a background service that manages storage devices. The application requests a list of raw block devices. If udisks2 denies the request, or if the desktop environment has already claimed the drive for automounting, the writer hides the device entirely. This is a security feature. Allowing any GUI application to read raw disk sectors without permission would let a malicious app wipe your drive or steal encrypted data.

Linux separates mounted filesystems from raw block devices. When you see /run/media/username/USBDRIVE, that is a mounted filesystem. Fedora Media Writer needs /dev/sdb or /dev/nvme0n1p1. The two views are managed by different subsystems. If the desktop environment mounts the drive automatically, udisks2 marks it as busy. The writer respects that state and refuses to show a device it cannot safely write to.

The communication happens over D-Bus. GUI applications send a message to the udisks2 daemon. The daemon checks polkit rules to verify your session has permission to access raw storage. If polkit denies the request, the daemon returns an empty list. The application never sees the drive. This is why running the writer as a normal user sometimes fails on fresh installations or minimal desktop environments.

Check the system state before guessing. Run journalctl first. Read the actual error before guessing.

The fix

Clear the automount state first. Open your file manager and unmount the drive. Do not eject it yet. Ejecting sends a power-off signal that can confuse the USB controller on some laptops. Unmounting simply detaches the filesystem layer while leaving the block device available.

Run the writer with the correct privilege escalation tool. The sudo command changes your user identity but breaks the D-Bus session bus that GUI applications rely on. pkexec preserves the session environment while requesting administrative rights through polkit.

pkexec fedora-media-writer
# pkexec routes the request through polkit instead of sudo
# This keeps the D-Bus session intact for GUI applications
# The polkit dialog will ask for your password before launching

If the drive still does not appear, verify that udisks2 can see it at the system level. The service might be stuck or the device node might be missing.

udisksctl dump-state | grep -A 5 "Block device"
# udisksctl queries the udisks2 daemon directly
# grep filters the output to show only block device entries
# This bypasses the GUI and shows what the kernel actually reports

Check the output for your USB stick. Look for the size and the Drive identifier. If it lists there but not in the writer, the polkit rule is likely blocking the application. You can force the writer to refresh its device list by closing it completely and running the pkexec command again.

If the daemon itself is unresponsive, restart it. The service manages device events and will reload its configuration automatically.

systemctl restart udisks2
# systemctl restart reloads the storage manager daemon
# This clears stuck device states without rebooting
# The desktop environment will re-enumerate drives within two seconds

Trust the package manager. Manual file edits drift, snapshots stay.

Verify it worked

Open Fedora Media Writer again. The device dropdown should now list your USB stick with its correct capacity. Select the Fedora ISO. Click Write. Watch the progress bar move past the initial verification step. If the writer shows a checksum mismatch immediately, stop the process. The drive has bad sectors or the USB controller is failing. Swap the stick and try again.

Run a quick block device check to confirm the writer claimed the device correctly.

lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
# lsblk lists block devices in a clean table format
# The MOUNTPOINT column should be empty for the USB stick
# An empty mount point confirms the device is free for raw writing

The USB device should appear with no mount point listed. The writer will mount it temporarily during the verification phase, then unmount it automatically when finished.

Reboot before you debug. Half the time the symptom is gone.

Common pitfalls and what the error looks like

The most common failure is leaving the drive mounted. The writer will silently skip it. You will not see an error dialog. The dropdown simply stays empty. Unmounting fixes this instantly.

Another frequent issue involves USB hubs. Some powered hubs do not pass through the correct power negotiation signals. The kernel sees the device but marks it as unstable. udisks2 hides unstable devices to prevent data corruption. Plug the stick directly into a motherboard USB port.

You may encounter a polkit denial if your desktop environment uses a custom security profile. The terminal will print a message like polkit: Error: Action not authorized. This means the polkit rule for org.freedesktop.udisks2.filesystem-mount or org.freedesktop.udisks2.encrypted-unlock is missing or misconfigured. Reinstalling the polkit package restores the default rules.

sudo dnf reinstall polkit
# reinstalling polkit restores the default authorization rules
# This fixes missing or corrupted polkit policy files
# The command does not remove your user data or desktop settings

Restart the desktop session after reinstalling. The writer will detect the drive on the next launch.

Some users try to run the writer with sudo instead of pkexec. This breaks the X11 or Wayland display connection. The application crashes immediately with Cannot open display:. Always use pkexec for GUI applications that need elevated privileges.

If the writer still refuses to see the drive, check the journal for the exact denial reason. Use the -xe flags to get explanatory context and jump to the end of the log.

journalctl -xeu udisks2 | tail -20
# journalctl -xeu filters logs for the udisks2 unit
# The x flag adds explanatory hints to cryptic kernel messages
# The e flag jumps to the end so you see the latest events

You might see a line like this in the output:

polkitd[1245]: Operator of unix-process:5678:9012 FAILED to authenticate to gain authorization for action org.freedesktop.udisks2.filesystem-mount for system-bus-name::1.234 [fedora-media-writer] (owned by unix-user:1000)

The denial is intentional. Read the next paragraph before forcing. The message confirms polkit intercepted the request and blocked it. Your user account lacks the org.freedesktop.udisks2.filesystem-mount privilege. Adding your user to the storage group or running pkexec resolves it.

Config files in /etc/ are user-modified. Files in /usr/lib/ ship with the package. Edit /etc/. Never edit /usr/lib/. If you need to override a udev rule for a specific USB controller, place it in /etc/udev/rules.d/ with a higher number than the default rules. The system merges them at boot.

Run journalctl first. Read the actual error before guessing.

When to use this vs alternatives

Use Fedora Media Writer when you want a verified, checksum-checked installation medium with zero manual configuration. Use dd when you are writing a raw disk image or a non-Fedora ISO that requires exact sector mapping. Use Ventoy when you need to carry multiple ISOs on a single drive and boot them from a menu. Use GNOME Disks when you only need to format a drive or create a simple partition layout. Stay on the upstream Media Writer if you only deviate from the defaults occasionally.

Snapshot the system before the upgrade. Future-you will thank you.

Where to go next