YouTube Icon

Code Playground.

How to Format USB Drives and SD Cards on Linux


How to Format USB Drives and SD Cards on Linux

Before you can utilize a SD card or USB drive, it should be arranged and parceled. Normally most USB drives and SD cards come preformatted utilizing the FAT document framework and don't should be arranged out of the container. Be that as it may, now and again, you may need to arrange the drive. 

In Linux, you can utilize a graphical apparatus like GParted or order line instruments, for example, fdisk or separated to organize the drive and make the necessary allotments. 

In this instructional exercise, we will tell you the best way to organize a USB Drive or SD Card on Linux utilizing the separated utility. 

Note that organizing is a dangerous cycle, and it will delete all the current information. In the event that you have information on the UDB drive or the SD card, ensure you back it up. 

Installing parted

GNU Parted is an instrument for making and overseeing allotment tables. The separated bundle is pre-introduced on most Linux distros these days. You can check on the off chance that it is introduced on your framework by composing: 

parted --version
parted (GNU parted) 3.2
Copyright (C) 2014 Free Software Foundation, Inc.

Whenever separated isn't introduced on your framework, you can introduce it utilizing the bundle chief of your dispersion. 

Introduce separated on Ubuntu and Debian 

sudo apt update
sudo apt install parted

Introduce separated on CentOS and Fedora 

sudo yum install parted

Identifying the USB or SD Card Name

Addition the USB streak drive or SD card into your Linux machine and discover the gadget name utilizing the lsblk order: 


The command will print a list of all available block devices:

sdb      8:16   1  14.4G  0 disk 
??sdb1   8:17   1   1.8G  0 part /media/data

In the model over, the name of the SD gadget is/dev/sdb, however this may differ on your framework. 

You can likewise utilize the dmesg order to discover the gadget name: 


When you connect the gadget, dmesg will show the gadget name: 

[  +0.000232] sd 1:0:0:0: [sdb] 30218842 512-byte logical blocks: (15.5 GB/14.4 GiB)

Securely Wipe Up the Data (Optional)

Prior to designing the drive, you can safely clear out all the information on it by overwriting the whole drive with arbitrary information. This guarantees that the information can't be recuperated by any information recuperation device. 

You have to totally wipe the information just if the gadget will be parted with. Else, you can avoid this progression. 

Be extremely cautious prior to running the accompanying order and irreversibly delete the drive information. The of=... a piece of the dd order must highlight the objective drive. 

sudo dd if=/dev/zero of=/dev/sdb bs=4096 status=progress

Depending of the size of the drive, the cycle will set aside some effort to finish. 

When the plate is deleted, the dd order will print "No space left on gadget": 

15455776768 bytes (15 GB, 14 GiB) copied, 780 s, 19.8 MB/s 
dd: error writing '/dev/sdb': No space left on device
3777356+0 records in
3777355+0 records out
15472047104 bytes (15 GB, 14 GiB) copied, 802.296 s, 19.3 MB/s

Creating a Partition and Formating

The most widely recognized document frameworks are exFAT and NTFS on Windows, EXT4 on Linux and FAT32 which can be utilized on all working frameworks. 

We will tell you the best way to design your USB drive or SD card to FAT32 or EXT4. Use EXT4 in the event that you expect to utilize the drive just on Linux frameworks, in any case design it with FAT32. A solitary parcel is adequate for most use cases. 

Format with FAT32

To start with, make the segment table by running the accompanying order: 

sudo parted /dev/sdb --script -- mklabel msdos

Make a Fat32 segment that takes the entire space: 

sudo parted /dev/sdb --script -- mkpart primary fat32 1MiB 100%

Arrangement the boot parcel to FAT32: 

sudo mkfs.vfat -F32 /dev/sdb1
mkfs.fat 4.1 (2017-01-24)

When done, utilize the order underneath to print the segment table and confirm that everything is set up accurately: 

sudo parted /dev/sdb --script print

The yield should look something like this: 

Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  15.5GB  15.5GB  primary  fat32        lba

That's it in a nutshell! You have arranged your gadget. 

Format with EXT4

Make a GPT segment table by giving: 

sudo parted /dev/sdb --script -- mklabel gpt

Run the accompanying order to make an EXT4 parcel that takes the entire space: 

sudo parted /dev/sdb --script -- mkpart primary ext4 0% 100%

Arrangement the segment to ext4: 

sudo mkfs.ext4 -F /dev/sdb1
mke2fs 1.44.1 (24-Mar-2018)
/dev/sdb1 contains a vfat file system
Creating filesystem with 3777024 4k blocks and 944704 inodes
Filesystem UUID: 72231e0b-ddef-44c9-a35b-20e2fb655b1c
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done   

Check it by printing the parcel table: 

sudo parted /dev/sdb --script print

The output should look something like this:

Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sdb: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  15.5GB  15.5GB  ext4         primary  


Designing a USB drive or SD card on Linux is a pretty direct cycle. You should simply to embed the drive, make a parcel table, and arrangement it with FAT32 or your favored record framework. 

In the event that you hit an issue or have criticism, leave a remark beneath.