← Back to list

How I Fixed My USB Drive and Made It Accept Files Over 4GB on Linux

> A step-by-step guide on formatting a USB to **exFAT** on Linux — to remove the annoying 4GB file size limit that FAT32 imposes.

Johnwayne · 2025-07-12 18:15 · 0 claps · 1.9 min read
#linux #usb #exfat #fat32
Open on Medium ↗
Wiki topics: 🔓 · Open Source

How I Fixed My USB Drive and Made It Accept Files Over 4GB on Linux

A step-by-step guide on formatting a USB to exFAT on Linux — to remove the annoying 4GB file size limit that FAT32 imposes.

🧠 The Problem

I had a USB flash drive that worked fine, except it had weird behavior after being used on a Windows laptop. At one point, I couldn’t copy large files to it — turns out it was formatted as FAT32.

FAT32 is a widely supported file system, but it comes with a big catch:

You can’t store any single file larger than 4GB. Even if you have 30GB free, trying to copy one 5GB movie will fail.

That limitation made the USB basically useless for large files — so I decided to reformat it to exFAT, a modern file system that removes that restriction and works on Linux, Windows, and macOS.

— -

🧰 What You’ll Need

  • A Linux machine (I used Kali)
  • A USB flash drive (mine was ~32GB)
  • Terminal access
  • Important: Backup your USB — formatting erases everything

— -

🛠️ Steps to Format USB to exFAT on Linux

Step 1: Identify the USB Drive

Plug in your USB and run:

lsblk

Find your USB by checking size and mount point. Mine was /dev/sdb and it mounted at /media/john/3B05–90B8.

✅ Tip: You want the device (e.g. /dev/sdb) not just the partition (e.g. /dev/sdb1)

Step 2: Unmount the Drive

sudo umount /dev/sdb1

Step 3: Install exFAT Tools (if not already installed)

sudo apt install exfatprogs

Step 4: Format the USB to exFAT

sudo mkfs.exfat -n JB97 /dev/sdb

(JB97 is the name of my USB, so this should be the name of yours)

  • -n JB97 sets the label (name) of the drive — choose anything you like.
  • /dev/sdb is the whole USB device — be sure it’s correct to avoid wiping another drive.

⚠️ Double-check the device name with lsblk again before hitting Enter

Step 5: Replug or Remount the USB

You can just unplug and reinsert the USB, or mount it manually:

udisksctl mount -b /dev/sdb1

If sdb1 doesn’t exist (yet), just wait — the system will usually auto-create the partition after formatting.

Step 6: Confirm Success

lsblk -f

Or run:

sudo blkid /dev/sdb1

You should see: TYPE=”exfat”

— -

✅ Result

Now I can copy files larger than 4GB without any errors. The USB is fully compatible with Linux, Windows, and macOS. And it’s using exFAT, which is modern and fast.

— -

💬 Bonus Tip: What If You Don’t Want to Reformat?

If you really want to keep FAT32 but still need to transfer big files:

split -b 4000M myfile.iso part_

Then rejoin the parts on the other machine.

But honestly… just use exFAT.

— -

📌 Final Thoughts

Formatting a USB to exFAT on Linux is fast, easy, and powerful. Now my USB is clean, cross-platform, and ready to carry huge files anywhere.

— -

🧾 Commands Summary

lsblk sudo umount /dev/sdX1 sudo apt install exfatprogs sudo mkfs.exfat -n LABEL /dev/sdX udisksctl mount -b /dev/sdX1


메타데이터
post_id
573b8a5fdfa1
slug
how-i-fixed-my-usb-drive-and-made-it-accept-files-over-4gb-on-linux-573b8a5fdfa1
url
https://medium.com/@jhonwayne/how-i-fixed-my-usb-drive-and-made-it-accept-files-over-4gb-on-linux-573b8a5fdfa1
canonical_url
https://medium.com/@jhonwayne/how-i-fixed-my-usb-drive-and-made-it-accept-files-over-4gb-on-linux-573b8a5fdfa1
author_url
https://medium.com/@jhonwayne
status
ok
fetched_at
2026-06-25 12:15:08