이전 글(아치리눅스 설치 과정 05 - MBR GPT / Primary Extended 파티션 개념)에 이어...

 

UEFI 바이오스에서 GPT 디스크로 설정하여 fdisk로 Arch Linux 설치용 파티션을 만들겠습니다.

 

디스크(SSD) 이름 파악

 

fdisk -l

이런 식으로 입력하여 물리디스크 이름을 파악합니다.

위 스샷 기준으로 /dev/sda/ 라는 물리디스크가 조회되는데, PC에 여러 개의 SSD를 장착해서 복잡하게 출력된다면

fdisk -l /dev/sda/

이런 식으로 특정 디스크를 지정하여 조회할 수도 있습니다.

 

▼ 위 스크린샷에서 /loop0 이라고 마지막에 출력되는 디스크는 무시해도 된다고 합니다.

▲ 왜냐하면 /dev/loop0 은 아치리눅스 ISO 부팅 미디어이기 때문이에요.

 

UEFI 펌웨어 기준, 필요한 파티션 수

아치리눅스 설치 가이드에서
UEFI 모드에서는 2개의 파티션이 필요하다고 안내하고 있습니다.
EFI 파티션, Arch Linux가 실제 설치되는 파티션(루트 디렉토리를 위한)

 

▲ 이해를 돕기 위한 윈도우+우분투 리눅스 듀얼부팅 SSD의 구조.
100MB의 EFI 파티션은 윈도우 설치시 자동으로 생성되었고,
/dev/sda5 리눅스 파일시스템은 Ubuntu Linux 설치시 추가한 것입니다.
(EFI 파티션에는 윈도우용/우분투용 부팅 관련 파일들이 함께 저장되어 있겠죠.)

 

▲ EFI 파티션과 루트(/) 파티션 외에, 512MB 이상의 스왑파티션 추가도 권장하고 있었습니다. 제가 우분투 리눅스 사용할 때는 스왑파티션 없이 써봤었는데, 가벼운 작업 위주라 문제 없었습니다. 하지만 아치리눅스는 불안정할 가능성을 배제할 수 없어서, 512MB의 스왑파티션이라도 만들어줄 계획입니다. (일반적으로 스왑파티션은 Ram 용량의 절반 정도를 권하는 편입니다.)

 

결론 : 총 3개의 파티션을 만들어야 된다...

 

(선택사항) 기존 파티션 테이블과 파티션 구조 백업

sfdisk -d /dev/sda > sda.dump

기존에 파티션 분할이 되어 있다면, 파티션 테이블과 파티션 스키마를 sda.dump 파일로 백업하면 좋습니다. 위와 같은 형식으로 입력하면 됩니다.

sfdisk /dev/sda < sda.dump

나중에 이 레이아웃을 복원하고 싶다면 위와 같은 형식으로 입력하면 됩니다.

 

블록 장치(디스크. /dev/sda) 이름으로 fdisk 실행

 

fdisk /dev/sda

저의 SSD Device 이름은 /dev/sda 였으니까 위의 명령어를 넣었습니다.

write 명령을 내리기 전까지는 변경사항이 memory에 있을테니 안심하라고 하네요.

m

을 입력하여 도움말을 봤습니다.

 

▲ 느낌 안좋으면 q 눌러서 저장 없이 빠져나온 다음, 처음부터 다시 시작하면 되는 겁니다!

 

(빈 디스크라면) GPT 디스크로 지정

 

UEFI에서만 쓸 거니까, 빈 디스크라면 파티션 테이블을 GPT로 지정해줘야 됩니다.

g

라고 넣고 엔터. GUID가 생성되어 부여되었습니다! 와아~

(MBR로 만들고 싶으면 o 라고 넣고 엔터.)

데이터가 있는 디스크에 새 파티션 테이블을 만들면 디스크의 모든 데이터가 지워집니다. 그러니까
윈도우+아치리눅스 듀얼부팅 구축하는 경우라면 이 과정을 건너뛰세요.

 

▲ GPT 지정이 잘 됐는지 확인해보죠.
p 라고 입력해보면 Disklabel type: gpt 라고 보일 겁니다. 성공.

 

(선택사항) 기존 파티션 삭제, unpartitioned space 확인

 

d 는 기존의 파티션을 삭제하는 명령이고, F는 unpartitioned space를 보여주는 명령입니다.
미할당 공간(unpartitioned space) 확인 정도는 해주면 좋겠죠? F를 눌러서.
위 스샷 기준으로 20GiB(기기바이트)가 남아 있음을 확인했습니다.

 

EFI 파티션 생성 (윈도우+리눅스 듀얼부팅 구축시 건너뛸 것)

윈도우10 이상을 최근에 설치한 분들은 EFI 파티션 용량이 100MB쯤 자동 생성되어 있을 겁니다.

물리디스크 하나에 윈도우+리눅스 듀얼부팅 구축하면 윈도우가 생성했던 EFI 파티션을 리눅스도 같이 씁니다. 그래서 리눅스용 EFI 파티션을 추가로 만들 필요가 없어요. 이 과정은 건너뛰세요.

(하지만 물리디스크가 2개 이상 있으면 각각의 디스크에 EFI 파티션을 만드는 것이 가능합니다. 윈도우 설치한 디스크에 있는 EFI 파티션을 공유하는 것도 가능하고.)

 

https://wiki.archlinux.org/title/Installation_guide

아치위키 설치 가이드 문서에는 EFI 파티션 용량을 최소 300MiB(메비바이트. 메가바이트와 비슷한 개념) 권장하고, 멀티 커널 체제는 1GiB 이상을 권장하고 있습니다.

https://wiki.archlinux.org/title/EFI_system_partition

또한, 아치위키 EFI system partition 문서에는 early and/or buggy UEFI 환경의 경우 최소 512 MiB가 필요하다고 합니다.

 

저는 윈도우10 처음 나왔을 때 512MB부터, 최근 윈도우10 클린설치시 100MB까지 다양한 EFI 파티션 공간을 경험해 봤는데 특별한 문제가 없었습니다. 그래서 Arch Linux 설치 가이드 문서에서 권장하는 300MiB로 EFI Partition을 생성하겠습니다.

 

 

n

새 파티션을 추가하는 명령입니다.

1

제 SSD 이름은 /dev/sda 인데, Partition number를 1로 넣으면 /dev/sda1 이 EFI 파티션 번호가 되는 겁니다. 빈 디스크에 첫번째 파티션을 만들겠다는 의미.

2048

First sector는 엔터키 쳐서 넘어가도 됩니다. default 값이 자동으로 입력되거든요.
저는 혹시 몰라서 2048이라고 나오는 시작지점 값을 넣어 봤어요.

+300M

Last sector는 용량 값으로 넣어주면 편합니다. K는 키비바이트(KiB), M은 메비바이트(MiB), G는 기비바이트(GiB), T는 테비바이트(TiB), P는 페비바이트(PiB).

( https://ko.wikipedia.org/wiki/바이트 )

Created. 생성되었습니다! 마음에 안 들면 d 눌러서 지우고 다시 만드세요.

 

▼ 1번 파티션이 정상 생성되었는지 확인하고 넘어갈까요?

 

p

라고 입력하여 파티션 테이블을 출력(print)해보면 됩니다.

/dev/sda1 이 Linux filesystem 으로 생성되어 있더군요.

이것을 EFI System 으로 바꿔줘야 되겠습니다.

 

 

t

를 입력하면 파티션 타입을 바꿀 수 있습니다.

1

1번 파티션이니까 1을 입력.

L

파티션 타입 또는 알리아스(별칭)? 모르겠어서 L 눌러 봤습니다.

 

▼ 아하~ 1번에 EFI System 이 바로 보이네요.

 

q

를 눌러 리스팅에서 빠져나왔습니다.

 

 

1

Partition type or alias에 1을 넣으면 EFI System 이라고 입력하는 것과 같습니다.

Changed ~~ Linux filesystem to EFI System. 잘 된 것 같습니다.

p

로 다시 확인해보니 /dev/sda1 이 EFI System 으로 바뀌어 있었습니다.

EFI 파티션 생성 완료.

 

(선택사항) SWAP 파티션 생성

우분투 리눅스 써보니 일반목적 사용이면 램 8GB 기준으로 스왑 파티션 필요 없을 정도로 가볍긴 한데,
응용프로그램들이 SWAP 자체가 없어서 뻗는 경우가 종종 있다는 피드백을 봐서...

▼ 아치리눅스 설치 가이드 문서에서 제시하는 512MiB(최소 용량)이라도 넣어줄 계획입니다.

 

https://wiki.archlinux.org/title/Swap

(ArchWiki - Swap)

나중에 스왑 공간이 더 필요하면 스왑 파티션을 빼고 스왑 파일로 SWAP을 설정할 것이라, 이번 스왑파티션 용량 설정은 최소한으로.

 

https://access.redhat.com/ko/solutions/744483

(Red Hat Enterprise Linux 권장 swap 크기는 어떻게 되나요?)

https://help.ubuntu.com/community/SwapFaq

(Ubuntu Community Help Wiki - SwapFaq)

 

▲ 레드햇 리눅스 문서, 우분투 커뮤니티 위키 문서의 내용 서술 방법이 조금씩 다르긴 한데, 결론은 비슷하더군요.

 

▲ 우분투 커뮤니티 문서 曰 : 최대절전모드 쓸 거면 스왑 용량 많이. 램용량의 최대 2배까지.

 

각설하고, SWAP 파티션 생성하겠습니다.

 

 

n

새 파티션 추가.

2

1번은 EFI 파티션 생성으로 소비했기 때문에, 다음 파티션 번호는 2. => 본인 상황에 맞는 번호를 넣으세요.

엔터

First sector는 이전 파티션 종료지점 바로 뒤부터 시작한다면 엔터키 쳐서 넘겼을 때 default 값이 입력됩니다. 편하죠.

+512M

Last sector는 마지막 파티션이 아닌 이상 용량으로 입력하는 것이 편합니다. 512MiB의 스왑파티션을 만들 생각입니다.

Created. 생성되었습니다! 마음에 안 들면 d 눌러서 지우고 다시 만드세요.

 

▼ 2번 파티션이 정상 생성되었는지 확인하고 넘어갈까요?

 

p

라고 입력하여 파티션 테이블을 출력(print)해보면 됩니다.

/dev/sda2 가 Linux filesystem 으로 생성되어 있더군요.

이것을 Linux swap 으로 바꿔야 되겠습니다.

 

 

t

를 입력하면 파티션 타입을 바꿀 수 있습니다.

2

2번 파티션이니까 2를 입력.

19

Partition type or alias에 19를 넣으면 Linux swap 이라고 입력하는 것과 같습니다.
(잘 모르겠으면 L 눌러서 리스트 보세요. q 누르면 리스트에서 빠져나옴.)

Changed ~~ Linux filesystem to Linux swap. 잘 된 것 같습니다.

p

로 다시 확인해보니 /dev/sda2 가 Linux swap 으로 바뀌어 있었습니다.

SWAP 파티션 생성 완료.

 

루트 파티션 생성 (아치리눅스 설치 공간)

아치 리눅스를 설치할 파티션입니다. 루트 파티션. 나중에 보면 경로 표시가 / 이렇게 될 겁니다.

 

 

n

새 파티션 추가.

3

1번은 EFI 파티션, 2번은 SWAP 파티션 생성으로 소비했기 때문에, 다음 파티션 번호는 3.  => 본인 상황에 맞는 번호를 넣으세요.

엔터

First sector는 이전 파티션 종료지점 바로 뒤부터 시작한다면 엔터키 쳐서 넘겼을 때 default 값이 입력됩니다. 편하죠. 찜찜하면 숫자를 넣어줘도 됩니다.

엔터 또는 숫자

마지막 파티션일 경우, Last sector는 끝부분이 용량이 끝나는 지점일 것입니다. 엔터 치면 자동으로 끝까지 채워지는 값으로 입력될 것이고, 찜찜하면 섹터 숫자로 입력해도 됩니다. 물론 용량 형식으로 입력해도 됩니다.

Created. 생성되었습니다! 마음에 안 들면 d 눌러서 지우고 다시 만드세요.

 

▼ 3번 파티션이 정상 생성되었는지 확인하고 넘어갈까요?

( p도 눌러보고, F로 남은 공간이 없는지도 확인합니다. )

 

파티션 확정짓고 fdisk 빠져나오기

 

w

를 넣고 엔터 치면 지금까지 조작한 내용들을 실제로 디스크에 적용하고 빠져나옵니다.

fdisk -l /dev/sda 처럼 디스크를 지정하여 적용 상태를 확인할 수 있습니다.

 

 

참고글 : 

https://www.redhat.com/sysadmin/partitions-fdisk

https://wiki.archlinux.org/title/Partitioning#Example_layouts

https://wiki.archlinux.org/title/Fdisk

https://wiki.archlinux.org/title/EFI_system_partition

https://ko.linux-console.net/?p=1566#gsc.tab=0

 

다음글 : 아치리눅스 설치 과정 07 - 생성한 파티션 포맷, 파일시스템 확인 방법

반응형