Linux fdisk, mkfs.ext4 명령으로 포맷하기

Post Reply
User avatar
Pyohwan
Posts: 95
Joined: Fri Jul 15, 2022 1:06 pm
languages_spoken: korean
ODROIDs: ODROID-M1, ODROID-GO ULTRA
Location: Youngin-si, Republic of Korea
Has thanked: 16 times
Been thanked: 8 times
Contact:

Linux fdisk, mkfs.ext4 명령으로 포맷하기

Post by Pyohwan »

안녕하세요. 리눅스에 있는 fdisk, mkfs.ext4 명령어로 ext4 파일시스템으로 포맷 하는 방법을 적어봅니다.
https://wiki.odroid.com/odroid_go_advan ... _game_roms 에는 Windows에서 Paragon 소프트웨어로 ext4 파일시스템 포맷을 알려주는데요.
유료이기도 하고 제가 해봤을때는 잘 안됐습니다.

Micro SD 카드 파티션 새로 만들기 (with Ubuntu fdisk)
1. Micro SD 카드를 Micro SD 카드 Reader에 꽂습니다.
2. Micro SD 카드 Reader를 PC에 꽂습니다.
3. fdisk -l 명령어로 Micro SD 카드의 디바이스 path를 알아냅니다.

Code: Select all

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 29.81 GiB, 32010928128 bytes, 62521344 sectors
Disk model: STORAGE DEVICE  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048 62521343 62519296 29.8G 83 Linux
저의 경우는 /dev/sdb가 Micro SD 카드의 디바이스 path입니다. 정확하게 확인할 수 있는 방법은 Micro SD 카드 Reader를 꽂기 전에 fdisk -l 를 실행한 결과와 꽂은 후의 fdisk -l 실행 결과를 비교해 보면 됩니다.

4. mount가 되어 있다면 umount 합니다.
Ubuntu는 기본적으로 USB를 꽂으면 자동으로 mount 하기 때문에 umount를 해야 합니다. 왜냐하면 fdisk 명령어를 수행하려면 해당 디바이스가 언마운트여야 합니다.

Code: Select all

$ umount /dev/sdb1
5. fdisk 명령어를 실행합니다.
많이 쓰이는 fdisk 옵션에 대한 설명입니다.

$ fdisk <디바이스 path>

Code: Select all

$ sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sdb: 29.81 GiB, 32010928128 bytes, 62521344 sectors
Disk model: STORAGE DEVICE  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048 62521343 62519296 29.8G 83 Linux
Command 프롬프트가 떴을 때 p를 입력했습니다. p 옵션은 현재 디스크 정보를 출력합니다. 위 내용을 보자면 첫 번째 파티션인 /dev/sdb1이 디스크의 모든 섹터를 쓰고 있습니다. fdisk에서는 안 나오지만 /dev/sdb1은 FAT 파일 시스템입니다.

6. FAT 파일시스템인 /dev/sdb1 지우기

Code: Select all

Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

Command (m for help): p
Disk /dev/sdb: 29.81 GiB, 32010928128 bytes, 62521344 sectors
Disk model: STORAGE DEVICE  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Command 프롬프트가 떴을 때 d를 입력했습니다. d 옵션은 파티션을 지웁니다. 파티션이 1개밖에 없으니 지울 파티션을 고를 필요도 없습니다. p를 입력하면 파티션 목록이 하나도 나오지 않습니다.

6. 파티션 만들기

Code: Select all

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-62521343, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62521343, default 62521343): 

Created a new partition 1 of type 'Linux' and of size 29.8 GiB.

Command (m for help): p
Disk /dev/sdb: 29.81 GiB, 32010928128 bytes, 62521344 sectors
Disk model: STORAGE DEVICE  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048 62521343 62519296 29.8G 83 Linux
Command 프롬프트가 떴을 때 n을 입력했습니다. n 옵션은 새 파티션을 만듭니다. 파티션 타입을 골라야 하는데요. 파티션을 하나만 만들 것이라 primary를 고르면 됩니다. 파티션 number는 1로, 섹터는 모든 섹터를 쓰도록 하면 됩니다. p를 입력하면 /dev/sdb1 파티션이 생긴 것이 나옵니다.

7. 변경사항 적용하기

Code: Select all

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Command 프롬프트가 떴을 때 w을 입력했습니다. w 옵션은 변경사항을 적용합니다.

Micro SD 카드 ext4 파일 시스템으로 포맷하기 (with Ubuntu mkfs.ext4)
Linux 계열에는 mkfs.ext4라는 툴이 있습니다. mkfs.ext4로 쉽게 ext4 파일시스템으로 포맷할 수 있습니다. 당연히 무료입니다.

$ mkfs.ext4 <디바이스 path>

Code: Select all

$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 7814912 4k blocks and 1954064 inodes
Filesystem UUID: 256041c9-51ad-4b11-8b4f-99fc563ff9e0
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   
감사합니다.
원글 : https://blog.naver.com/vhgksl/222896345791
These users thanked the author Pyohwan for the post (total 3):
odroid (Mon Oct 10, 2022 3:19 pm) • steve.jeong (Wed Oct 12, 2022 9:28 am) • CMGHyundai (Wed Nov 23, 2022 11:29 am)

ruppi
Posts: 192
Joined: Fri Feb 22, 2013 11:13 pm
languages_spoken: korean
Location: South Korea
Has thanked: 0
Been thanked: 23 times
Contact:

Re: Linux fdisk, mkfs.ext4 명령으로 포맷하기

Post by ruppi »

좋은 정보 공유 감사합니다.

Post Reply

Return to “오드로이드고/어드밴스/수퍼/울트라”

Who is online

Users browsing this forum: No registered users and 2 guests