SW/리눅스

Linux : 디스크 파티션 생성 방법 : Fdisk 명령어, 예제, 사용 방법

얇은생각 2022. 9. 20. 07:30
반응형

새로운 SSD나 하드 디스크를 설치한 후 가장 먼저 해야 할 일은 파티션 분할입니다. 드라이브를 포맷하고 드라이브에 파일을 저장하려면 적어도 하나의 파티션이 있어야 합니다.

Linux에서는 파티션을 만드는 데 사용할 수 있는 몇 가지 도구가 있으며, 가장 일반적으로 사용되는 도구는 fdisk입니다.

이 글에서는 fdisk 명령에 대해 알아보겠습니다.

fdisk는 하드 디스크에서 파티션 테이블을 생성하고 조작할 수 있는 메뉴 기반 명령줄 유틸리티입니다.

fdisk는 위험한 도구이므로 매우 주의하여 사용해야 합니다. 루트 또는 sudo 권한이 있는 사용자만 파티션 테이블을 조작할 수 있습니다.

 

 

 

파티션을 나열

장치의 파티션 테이블을 나열하려면 fdisk 명령을 -l 옵션과 함께 호출한 다음 장치 이름을 입력하십시오. 예를 들어 /dev/sda 파티션 테이블 및 실행할 파티션을 나열하려면 다음과 같이 하십시오.

fdisk -l /dev/sda

 

 

디바이스가 인수로 제공되지 않으면 fdisk는 /proc/partitions 파일에 나열된 모든 디바이스의 파티션 테이블을 인쇄합니다.

fdisk -l

# Disk /dev/nvme0n1: 232.91 GiB, 250059350016 bytes, 488397168 sectors
# Disk model: Samsung SSD 960 EVO 250GB               
# 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: gpt
# Disk identifier: 6907D1B3-B3AB-7E43-AD20-0707A656A1B5
# 
# Device            Start       End   Sectors   Size Type
# /dev/nvme0n1p1     2048   1050623   1048576   512M EFI System
# /dev/nvme0n1p2  1050624  34605055  33554432    16G Linux swap
# /dev/nvme0n1p3 34605056 488397134 453792079 216.4G Linux filesystem
# 
# 
# Disk /dev/sda: 465.78 GiB, 500107862016 bytes, 976773168 sectors
# Disk model: WDC WD5000AAKS-0
# 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: 0x0001cca3
# 
# Device     Boot Start       End   Sectors   Size Id Type
# /dev/sda1        2048 976771071 976769024 465.8G 83 Linux

 

 

위의 출력은 시스템에 연결된 모든 기기의 현재 파티션 테이블을 보여줍니다. 일반적으로 SATA 장치 이름은 /dev/sd[a-z] 패턴을 따르지만 NVMe 장치 이름은 /dev/nvme[1-9]n[1-9]과 같은 패턴을 가집니다.

 

 

 

파티션 테이블 생성

드라이브 파티션을 시작하려면 장치 이름과 함께 fdisk를 실행합니다. 이 예에서는 /dev/sdb에 대해 살펴보겠습니다.

명령 프롬프트가 변경되고 명령을 입력할 수 있는 fdisk 대화 상자가 열립니다.

fdisk /dev/sdb

# Welcome to fdisk (util-linux 2.34).
# Changes will remain in memory only, until you decide to write them.
# Be careful before using the write command.
# 
# Command (m for help):

 

 

파티션 테이블에서 변경한 내용은 w 명령을 사용하여 쓰기 전까지 적용되지 않습니다. q 명령을 사용하여 변경 사항을 저장하지 않고 fdisk 대화 상자를 종료할 수 있습니다.

사용 가능한 모든 명령 목록을 가져오려면 m:

m

 

 

Linux : 디스크 파티션 생성 방법 : Fdisk 명령어, 예제, 사용 방법

 

 

새 드라이브를 파티션 분할하는 경우 파티션 생성을 시작하기 전에 파티션 테이블을 만들어야 합니다. 장치에 파티션 테이블이 이미 있고 유지하려면 이 단계를 건너뜁니다.

fdisk는 몇 가지 파티션 스키마를 지원합니다. MBR과 GPT는 파티션 정보를 다른 방식으로 드라이브에 저장하는 가장 널리 사용되는 파티션 구성표 표준입니다. GPT는 MBR을 허용하는 새로운 표준이며 많은 장점을 가지고 있습니다. 사용할 분할 표준을 선택할 때 고려해야 할 주요 사항은 다음과 같습니다.

 

MBR을 사용하여 레거시 BIOS 모드에서 디스크를 부팅하십시오.

GPT를 사용하여 UEFI 모드에서 디스크를 부팅합니다.

MBR 표준은 최대 2TiB의 디스크 파티션 생성을 지원합니다. 디스크가 2TiB 이상인 경우 GPT를 사용합니다.

 

MBR은 4개의 주 파티션으로 제한됩니다. 더 많은 파티션이 필요한 경우 주 파티션 중 하나를 확장 파티션으로 설정하고 추가 논리 파티션을 보유할 수 있습니다. GPT를 사용하면 최대 128개의 파티션을 가질 수 있습니다. GPT는 확장 또는 논리 파티션을 지원하지 않습니다.

이 예에서는 GPT 파티션 테이블을 사용합니다.

g를 입력하여 비어 있는 새 GPT 파티션 테이블을 만듭니다.

g

# Created a new GPT disklabel (GUID: 4649EE36-3013-214E-961C-51A9187A7503).

 

 

다음 단계는 새 파티션을 만드는 것입니다.

두 개의 파티션을 만들 것입니다. 100GiB 크기의 첫 번째 것과 두 번째 것이 나머지 디스크 공간을 차지할 것입니다.

n 명령을 실행하여 새 파티션을 만듭니다.

파티션 번호를 입력하라는 메시지가 표시됩니다. 기본값 (1)을 사용하려면 "Enter"를 누릅니다.

n

# Partition number (1-128, default 1):

 

 

그런 다음 명령어는 첫 번째 섹터를 지정하라는 메시지를 표시합니다. 일반적으로 첫 번째 값은 기본값을 사용하는 것이 좋습니다. 기본값(2048)을 사용하려면 "Enter"를 누릅니다.

# First sector (2048-500118158, default 2048):

 

 

다음 프롬프트에서 마지막 섹터를 입력해야 합니다. 파티션 크기 다음에 오는 + 기호를 사용하여 마지막 섹터에 절대값을 사용하거나 시작 섹터에 상대값을 사용할 수 있습니다.

크기는 키비바이트(K), 메비바이트(M), 기비바이트(G), 테비바이트(T) 또는 페비바이트(P)로 지정할 수 있습니다.

+100G를 입력하여 파티션 크기를 100GiB로 설정합니다.

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-500118158, default 500118158): +100G

# Created a new partition 1 of type 'Linux filesystem' and of size 100 GiB.

 

 

기본적으로 새 파티션 유형은 "Linux filesystem"으로 설정되며, 대부분의 경우 문제가 없습니다. 유형을 변경하려면 l 키를 눌러 파티션 유형 목록을 가져온 다음 t 키를 눌러 유형을 변경합니다.

디스크 공간의 나머지를 차지하는 두 번째 파티션을 생성하겠습니다.

파티션 번호, 첫 번째 및 마지막 섹터에 기본값을 사용합니다. 디스크에서 사용 가능한 모든 공간을 사용하는 파티션이 생성됩니다.

n

# Partition number (2-128, default 2): 
# First sector (209717248-625142414, default 209717248): 
# Last sector, +/-sectors or +/-size{K,M,G,T,P} (209717248-625142414, default 625142414):

 

 

파티션을 만들었으면 p 명령을 사용하여 새 파티션 테이블을 표시합니다.

p

# Disk /dev/sdb: 298.9 GiB, 320072933376 bytes, 625142448 sectors
# Disk model: nal USB 3.0     
# Units: sectors of 1 * 512 = 512 bytes
# Sector size (logical/physical): 512 bytes / 4096 bytes
# I/O size (minimum/optimal): 4096 bytes / 4096 bytes
# Disklabel type: gpt
# Disk identifier: F8365250-AF58-F74E-B592-D56E3A5DEED1
# 
# Device         Start       End   Sectors   Size Type
# /dev/sdb1       2048 209717247 209715200   100G Linux filesystem
# /dev/sdb2  209717248 625142414 415425167 198.1G Linux filesystem

 

 

파티션을 삭제하려면 d 명령을 사용하십시오.

w 명령을 실행하여 변경 사항을 저장합니다.

명령은 디스크에 테이블을 기록하고 fdisk 메뉴를 종료합니다.

p

# The partition table has been altered.
# Calling ioctl() to re-read partition table.
# Syncing disks.

 

 

커널은 시스템을 재부팅할 필요 없이 디바이스 파티션 테이블을 읽습니다.

 

 

 

파티션을 활성화

이제 파티션이 생성되었으므로 다음 단계에서는 파티션을 포맷하고 시스템의 디렉터리 트리에 마운트합니다.

두 파티션을 모두 ext4로 포맷합니다.

sudo mkfs.ext4 -F /dev/sdb1
sudo mkfs.ext4 -F /dev/sdb2

# mke2fs 1.45.5 (07-Jan-2020)
# Creating filesystem with 51928145 4k blocks and 12984320 inodes
# Filesystem UUID: 63a3457e-c3a1-43f4-a0e6-01a7dbe7dfed
# Superblock backups stored on blocks: 
# 	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
# 	4096000, 7962624, 11239424, 20480000, 23887872
# 
# Allocating group tables: done                            
# Writing inode tables: done                            
# Creating journal (262144 blocks): done
# Writing superblocks and filesystem accounting information: done

 

 

이 예에서는 파티션을 /mnt/audio 및 /mnt/video 디렉토리에 마운트합니다.

mkdir을 사용하여 마운트 지점을 작성합니다.

sudo mkdir -p /mnt/audio /mnt/video

 

 

새 파티션을 마운트합니다.

sudo mount /dev/sdb1 /mnt/audio
sudo mount /dev/sdb2 /mnt/video

 

 

파티션은 마운트 해제하거나 시스템을 종료할 때까지 마운트된 상태로 유지됩니다. Linux 시스템이 시작될 때 파티션을 자동으로 마운트하려면 /etc/fstab 파일에 마운트를 정의합니다.

이제 새 파티션을 사용하여 파일을 저장할 수 있습니다.

fdisk는 파티션 구성표를 생성하기 위한 명령줄 도구입니다. fdisk 명령에 대한 자세한 내용을 보려면 터미널에 man fdisk를 입력하십시오.

반응형