This happens quite often.
The GUI file manager is mounting the partition of the SD card, but the underlying block device might have a different name than expected.
Let’s carefully locate it:
🧭 1. Check again with lsblk after inserting the card
First, remove the card if it’s inserted.
Run:
lsblk
Now insert the SD card again and run:
lsblk
Compare the two outputs — the new device that appears is your SD card.
Typical names:
mmcblk0(common for internal card readers)sdbor similar (USB SD reader)nvme...(rare, but possible on some systems)
🪛 2. Alternatively use dmesg (logs)
Right after inserting the card, run:
dmesg | tail -20
Look for lines like:
[12345.678901] mmc0: new SDHC card at address 0001
[12345.679123] mmcblk0: mmc0:0001 SD32G 29.7 GiB
[12345.679456] mmcblk0: p1
or
[12345.678901] sd 3:0:0:0: [sdb] 31293440 512-byte logical blocks
[12345.678923] sdb: sdb1
→ This will tell you the exact device name (e.g. /dev/mmcblk0 or /dev/sdb).
🪣 3. Use ls /dev to verify
Once you have a clue from dmesg, check:
ls /dev/mmcblk*
or
ls /dev/sd*
You should see something like /dev/mmcblk0 and /dev/mmcblk0p1.
🧼 4. If it still doesn’t appear
If nothing new shows up:
- The card reader may require extra drivers.
- Or the SD card is mounted as a GVFS (user-space) volume rather than a raw block device — which means
ddcan’t access it directly.
You can check that with:
mount | grep gvfs
If it’s mounted like:
gvfsd-fuse on /run/user/1000/gvfs
then your system is not exposing the SD card as a raw block device.
👉 Fix: Use a different SD card reader (USB adapter) that presents the card as /dev/sdX or /dev/mmcblk0. Internal laptop readers sometimes don’t.
✅ Once you have the device name
Then you can run:
sudo umount /dev/DEVICE*
sudo dd if=/dev/DEVICE of=/dev/sdY bs=4M status=progress conv=fsync
(Replace DEVICE with your SD card name and sdY with your USB stick.)