콘텐츠로 이동

🐧 Arch Linux UEFI 설치 가이드

⚠️ 주의사항: 이 가이드는 UEFI 모드에서의 Arch Linux 설치를 다룹니다. 기존 운영체제가 삭제될 수 있으므로 중요한 데이터는 사전에 백업하세요.

적용 범위와 중단 조건

  • 단일 x86-64 UEFI 장치의 학습용 예시입니다. 듀얼 부트, 암호화, RAID/LVM, Secure Boot와 특수 스토리지는 별도 설계가 필요합니다.
  • 실행 당일 Arch Installation Guide와 ISO 서명·checksum을 확인하고, 네트워크·firmware·bootloader package 변경 사항을 반영합니다.
  • partition/format 전 disk model, serial, 용량과 기존 partition을 두 번 확인합니다. 식별이 불확실하거나 복원 가능한 백업이 없으면 중단합니다.
  • 완료 기준은 설치 환경 명령 성공이 아니라 재부팅, UEFI boot entry, 일반 사용자·sudo, 네트워크, 시간, update와 복구 USB 부팅 확인입니다.

📋 설치 과정 개요

flowchart TD
    A[1. 사전 준비] --> B[2. 부팅 및 초기 설정]
    B --> C[3. 디스크 파티션]
    C --> D[4. 파티션 포맷 및 마운트]
    D --> E[5. 기본 시스템 설치]
    E --> F[6. 시스템 설정]
    F --> G[7. 부트로더 설치]
    G --> H[8. 설치 완료]
    H --> I[9. 설치 후 작업]

📚 목차


1️⃣ 사전 준비

1.1 Arch Linux ISO 파일 다운로드

🔗 공식 다운로드 페이지: https://archlinux.org/download/

💡 권장사항: 공식 mirror에서 지원 중인 ISO를 받고 서명과 checksum을 검증하세요. 설치 절차는 해당 ISO 날짜의 공식 가이드와 맞춥니다.

1.2 부팅 가능한 USB 드라이브 제작

Windows 사용자

  • 권장 도구: Rufus 또는 Ventoy
  • Rufus 설정: DD 이미지 모드 사용 권장

Linux/macOS 사용자

# ⚠️ 경고: 잘못된 장치 지정 시 데이터 손실 위험!
# lsblk 명령어로 USB 장치 확인 필수
lsblk

# ISO 파일을 USB에 작성
sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sdX status=progress oflag=sync

1.3 UEFI/BIOS 설정

설정 항목 권장 값 설명
Secure Boot 설치 방식에 따라 결정 공식 ISO 직접 부팅 또는 사용자 키·서명 boot chain의 지원 절차 확인
Boot Mode UEFI UEFI 모드 활성화
Boot Order USB First USB 드라이브 우선 부팅

2️⃣ 설치 환경 부팅 및 초기 설정

2.1 Arch Linux 라이브 환경으로 부팅

  1. USB로 부팅하면 **Arch Linux 부팅 메뉴**가 나타납니다
  2. 첫 번째 옵션 Arch Linux install medium 선택
  3. root@archiso ~ # 프롬프트가 나타나면 성공 ✅

2.2 UEFI 모드 확인

ls /sys/firmware/efi/efivars

기대 결과: 여러 파일 목록이 표시되어야 함

오류 발생 시: "No such file or directory" → 레거시(BIOS) 모드로 부팅됨. UEFI 설정 재확인 필요

2.3 네트워크 연결

유선 연결 확인

ping -c 3 archlinux.org

Wi-Fi 연결 (무선)

sequenceDiagram
    participant User
    participant iwctl
    participant WiFi

    User->>iwctl: iwctl 실행
    iwctl->>WiFi: device list (장치 확인)
    WiFi-->>iwctl: wlan0 장치 반환
    iwctl->>WiFi: station wlan0 scan
    WiFi-->>iwctl: 네트워크 스캔 완료
    iwctl->>WiFi: station wlan0 get-networks
    WiFi-->>iwctl: 사용 가능한 네트워크 목록
    User->>iwctl: station wlan0 connect "SSID"
    iwctl->>WiFi: 연결 시도
    WiFi-->>iwctl: 연결 성공
    User->>iwctl: exit
# iwctl 유틸리티 실행
iwctl

# 무선 장치 확인 (보통 wlan0)
[iwd]# device list

# 네트워크 스캔
[iwd]# station wlan0 scan

# 스캔 결과 확인
[iwd]# station wlan0 get-networks

# 네트워크 연결 (비밀번호 입력 필요)
[iwd]# station wlan0 connect "YOUR_WIFI_NAME"

# iwctl 종료
[iwd]# exit

# 연결 확인
ping -c 3 archlinux.org

2.4 시스템 시간 동기화

timedatectl set-ntp true

# 동기화 상태 확인
timedatectl status

💡 참고: NTP(Network Time Protocol)를 사용하여 정확한 시간 동기화


3️⃣ 디스크 파티션

⚠️ 중요: 이 단계는 디스크의 모든 데이터를 삭제할 수 있습니다. 신중하게 진행하세요!

3.1 파티션할 디스크 확인

lsblk

일반적인 디스크 명명 규칙: - SATA/SSD: /dev/sda, /dev/sdb, ... - NVMe SSD: /dev/nvme0n1, /dev/nvme1n1, ...

3.2 파티션 나누기 (cfdisk 사용)

cfdisk /dev/sdX  # sdX를 실제 디스크 이름으로 변경

파티션 구성표

graph LR
    A[EFI System<br/>예시 1GiB<br/>FAT32] --> B[Swap<br/>hibernation·workload 기준<br/>optional] --> C[Root /<br/>계획한 여유 공간<br/>선택한 filesystem]

UEFI 시스템 권장 파티션 구성

파티션 크기 파일시스템 마운트 포인트 용도
EFI System 1GB FAT32 /boot/efi UEFI 부트로더
Swap RAM 크기 swap - 가상 메모리
Root 나머지 ext4 / 시스템 파일

단계별 파티션 생성

  1. EFI 시스템 파티션 (ESP)
  2. [ New ]Partition size: 1GEnter
  3. [ Type ]EFI SystemEnter

  4. Swap 파티션

  5. [ New ]Partition size: 8G (RAM 크기 기준) → Enter
  6. [ Type ]Linux swapEnter

  7. 루트(/) 파티션

  8. [ New ]Partition size: (남은 공간 전체) → Enter
  9. [ Type ]: Linux filesystem (기본값)

  10. 변경사항 저장

  11. [ Write ]yes 입력 → [ Quit ]

4️⃣ 파티션 포맷 및 마운트

4.1 파티션 포맷

💡 참고: lsblk 명령어로 파티션 번호를 다시 확인하세요

# EFI 파티션 (FAT32 포맷) - UEFI 부팅용
mkfs.fat -F32 /dev/sdX1

# Swap 파티션 활성화
mkswap /dev/sdX2
swapon /dev/sdX2

# 루트 파티션 (ext4 포맷) - 메인 시스템용
mkfs.ext4 /dev/sdX3

4.2 파티션 마운트

마운트 구조

graph TD
    A[/mnt] --> B[/mnt/boot]
    B --> C[/mnt/boot/efi]

    A --> D["루트 파티션<br/>/dev/sdX3"]
    C --> E["EFI 파티션<br/>/dev/sdX1"]

마운트 명령어

# 1. 루트 파티션을 /mnt에 마운트
mount /dev/sdX3 /mnt

# 2. EFI 파티션 마운트 디렉터리 생성 및 마운트
mkdir -p /mnt/boot/efi
mount /dev/sdX1 /mnt/boot/efi

# 3. 마운트 상태 확인
lsblk

⚠️ 중요: EFI 파티션은 반드시 /mnt/boot/efi에 마운트해야 GRUB 부트로더가 정상 작동합니다.


5️⃣ 기본 시스템 설치

5.1 미러리스트 최적화 (선택 사항)

한국에서 빠른 다운로드를 위해 미러 서버를 최적화할 수 있습니다.

# 패키지 데이터베이스 갱신
pacman -Syy

# Reflector 설치
pacman -S reflector

# 한국 및 일본 미러로 최적화
reflector --country 'South Korea' --country 'Japan' \
          --age 12 --protocol https --sort rate \
          --save /etc/pacman.d/mirrorlist

5.2 필수 패키지 설치 (pacstrap)

pacstrap /mnt base linux linux-firmware nano networkmanager

패키지 설명

패키지 용도 필수도
base 기본 시스템 ✅ 필수
linux 리눅스 커널 ✅ 필수
linux-firmware 하드웨어 펌웨어 ✅ 필수
nano 텍스트 편집기 🔧 권장
networkmanager 네트워크 관리 도구 🔧 권장

5.3 Fstab 생성

부팅 시 파티션 자동 마운트를 위한 설정 파일을 생성합니다.

genfstab -U /mnt >> /mnt/etc/fstab

# 생성 결과 확인
cat /mnt/etc/fstab

6️⃣ 시스템 설정 (arch-chroot)

설치된 시스템 환경으로 진입하여 세부 설정을 진행합니다.

6.1 Chroot로 시스템 진입

arch-chroot /mnt

6.2 시간대 설정

# 한국 시간대 설정
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

# 하드웨어 시계 동기화
hwclock --systohc

6.3 지역화 (Localization)

로케일 설정

# locale.gen 파일 편집
nano /etc/locale.gen

편집 내용: 다음 라인의 주석(#) 제거

ko_KR.UTF-8 UTF-8
en_US.UTF-8 UTF-8

# 로케일 생성
locale-gen

# 시스템 기본 언어 설정 (터미널 한글 깨짐 방지를 위해 영어 권장)
echo "LANG=en_US.UTF-8" > /etc/locale.conf

6.4 네트워크 설정

호스트명 설정

echo "my-arch" > /etc/hostname  # 원하는 이름으로 변경

Hosts 파일 설정

nano /etc/hosts

파일 내용:

127.0.0.1   localhost
::1         localhost
127.0.1.1   my-arch.localdomain my-arch

NetworkManager 서비스 활성화

systemctl enable NetworkManager

6.5 Root 비밀번호 설정

passwd

6.6 마이크로코드 설치

CPU 제조사에 맞는 마이크로코드를 설치합니다.

# Intel CPU
pacman -S intel-ucode

# AMD CPU
pacman -S amd-ucode

7️⃣ 부트로더 설치 (GRUB)

7.1 GRUB 패키지 설치

pacman -S grub efibootmgr

7.2 GRUB 설치

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ARCH

성공 메시지: Installation finished. No error reported.

7.3 GRUB 설정 파일 생성

grub-mkconfig -o /boot/grub/grub.cfg

8️⃣ 설치 완료 및 재부팅

8.1 Chroot 환경에서 나가기

exit

8.2 마운트 해제 및 재부팅

umount -R /mnt
reboot

⚠️ 중요: 재부팅 시 USB 드라이브를 반드시 제거해야 합니다.


9️⃣ 설치 후 작업

재부팅 후 Arch Linux 로그인 프롬프트가 나타납니다.

9.1 초기 로그인

  • 로그인: root
  • 비밀번호: 6.5단계에서 설정한 비밀번호

9.2 일반 사용자 계정 생성

보안을 위해 root가 아닌 일반 사용자 계정을 만들어 사용해야 합니다.

useradd -m -G wheel -s /bin/bash your_username
passwd your_username

매개변수 설명

옵션 설명
-m 홈 디렉터리 생성
-G wheel wheel 그룹에 추가 (sudo 권한용)
-s /bin/bash 기본 셸을 bash로 설정

9.3 Sudo 설정

일반 사용자가 sudo 명령어를 사용할 수 있도록 설정합니다.

# sudo 패키지 설치
pacman -S sudo

# visudo로 설정 파일 편집
EDITOR=nano visudo

편집 내용: 다음 라인의 주석(#) 제거

# 변경 전
# %wheel ALL=(ALL:ALL) ALL

# 변경 후
%wheel ALL=(ALL:ALL) ALL

저장 방법: Ctrl+XYEnter

9.4 기본 GUI 설치 (선택 사항)

데스크톱 환경을 설치할 수 있습니다.

GNOME 설치 예시

# GNOME 패키지 설치
pacman -S gnome

# 디스플레이 매니저(GDM) 활성화
systemctl enable gdm

# 재부팅
reboot

📖 참고: KDE 테마 및 커스터마이징에 대한 자세한 내용은 KDE 테마 가이드를 참조하세요.


🎉 설치 완료!

축하합니다! Arch Linux 기본 설치가 완료되었습니다.

다음 단계 권장사항

graph TD
    A[Arch Linux 설치 완료] --> B[기본 패키지 설치]
    B --> C[데스크톱 환경 설치]
    C --> D[개발 도구 설치]
    D --> E[시스템 최적화]

    B --> F[pacman -S firefox git vim]
    C --> G[GNOME, KDE, XFCE 등]
    D --> H[언어별 개발 환경]
    E --> I[성능 튜닝 및 보안 설정]
  1. 필수 패키지 설치

    pacman -S firefox git vim htop
    

  2. AUR 헬퍼 설치 (yay 권장)

    git clone https://aur.archlinux.org/yay.git
    cd yay
    makepkg -si
    

  3. 시스템 업데이트

    pacman -Syu
    

유용한 리소스


🔍 문제 해결

일반적인 문제들

부팅 실패

  • EFI 파티션이 올바르게 마운트되었는지 확인
  • GRUB 설치 과정 재확인
  • 문제 해결 가이드 참조

네트워크 연결 안됨

systemctl start NetworkManager
systemctl enable NetworkManager

한글 입력 설정

pacman -S ibus ibus-hangul

💡 : 문제가 발생하면 Arch Wiki를 먼저 참조하세요. 대부분의 문제에 대한 해결책이 있습니다.