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.
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