UEFI 환경에서 하드디스크를 이용한 Kali Linux 2020 설치

개요

Kali Linux는 보안 테스트 및 침입 탐지에 널리 사용되는 리눅스 배포판이다. 최신 버전은 UEFI 부팅을 지원하지만, 기본 ISO 이미지는 직접적인 UEFI 설치를 제대로 처리하지 못할 수 있다. 이 문제를 해결하기 위해 하드디스크를 활용하고 EasyUEFI 같은 도구로 부트 항목을 수동으로 추가하면 UEFI 기반으로 정상 설치가 가능하다. 본 문서는 Kali Linux 2020.2 버전 기준으로 하드디스크만을 사용하여 UEFI 모드에서 설치하는 절차를 설명한다.

설치 전 준비

Windows 운영체제가 설치된 PC에서 USB나 DVD 없이 Kali를 설치하려면 다음이 필요하다:
  • 충분한 여유 디스크 공간 (최소 20GB 추천)
  • EasyUEFI 또는 유사한 UEFI 부트 관리자 도구
  • Kali Linux 2020.2 amd64 ISO 다운로드 완료

단계별 설치 과정

  1. ISO 마운트 및 파일 추출
    Windows에서 ISO를 마운트하거나 7-Zip 등으로 압축 해제 후, boot, EFI, live 폴더와 vmlinuz, initrd.gz 파일을 별도의 파티션(예: D:\kali_boot)에 복사.
  2. UEFI 부트 항목 생성
    EasyUEFI를 실행하고 새로운 UEFI 부트 항목을 추가. 경로는 다음과 같이 설정:
    bcdedit /set {bootmgr} path \EFI\BOOT\BOOTx64.EFI
    또는 GUI에서 EFI 시스템 파티션 내 \EFI\BOOT\BOOTx64.EFI를 지정.
  3. 라이브 부팅 및 설치 시작
    재시작 후 새로 생성된 UEFI 항목으로 부팅. Kali 라이브 환경 진입 후 설치 프로그램 실행.
  4. 파티션 설정
    기존 윈도우와 듀얼 부트를 원하면 적절한 파티션을 할당 (예: /, /home, /persistence). ESP(EFI System Partition)가 존재하는지 확인하고, 없다면 FAT32 형식으로 512MB 이상의 파티션 생성.
  5. 부트로더 설치 오류 대응
    설치 중 grub-efi-amd64 설치 실패 메시지가 나타날 수 있다. 이 경우 무시하고 계속 진행하며, 설치 완료 후 chroot 환경에서 수동으로 GRUB을 재설치.

GRUB 복구 절차

설치 후 부팅이 되지 않을 경우 아래 단계로 복구:
# 마운트 설정
mount /dev/sdaX /mnt           # 루트 파티션 마운트
mount /dev/sdaY /mnt/boot/efi  # EFI 파티션 마운트

# 필수 시스템 디렉터리 바인드 마운트
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

# chroot 진입
chroot /mnt

# GRUB 재설치
apt update
apt install --reinstall grub-efi-amd64
update-grub

# 종료
exit
reboot

네트워크 및 패키지 문제 해결

grub-efi-amd64 설치 실패 시 네트워크 연결과 소스 리스트를 점검해야 한다.
  • DNS 문제: /etc/resolv.conf에 다음 내용 추가:
    nameserver 8.8.8.8
    nameserver 1.1.1.1
  • APT 소스 미등록: /etc/apt/sources.list에 다음 저장소 추가:
    deb https://http.kali.org/kali kali-rolling main non-free contrib
    deb-src https://http.kali.org/kali kali-rolling main non-free contrib
    이후 apt update 실행.

마운트 오류 해결: /cdrom 미접근

라이브 설치 중 /cdrom에 접근 불가 시, persistence 파티션이 자동 마운트되어 충돌할 수 있다.
umount /dev/sda7
mount /dev/sda7 /cdrom
실제 장치 이름은 lsblk 명령어로 확인 후 조정할 것.

입력기 설정 (중국어)

시스템 재시작 후 Fcitx 입력기를 활성화:
apt install fcitx fcitx-googlepinyin
GUI에서 Fcitx Configuration을 열고 "+" 버튼을 통해 Google Pinyin 추가.

영속성(Persistence) 설정

USB가 아닌 내장 디스크에서도 영속성 파티션을 구성 가능하다:
  1. FAT32 또는 ext4로 별도 파티션 생성
  2. 라벨을 persistence로 지정 (e2label /dev/sda7 persistence)
  3. 해당 파티션 루트에 persistence.conf 생성:
    / union
이후 부팅 시 커널 파라미터에 persistence 옵션 포함 필요.

32비트 라이브러리 지원 활성화

IDA Pro 등 32비트 애플리케이션 실행을 위해 멀티아키텍처 지원 활성화:
dpkg --add-architecture i386
apt update
apt dist-upgrade
필요한 32비트 라이브러리 설치 예시:
apt install \
  libfreetype6:i386 \
  libgcc1:i386 \
  libglib2.0-0:i386 \
  libstdc++6:i386 \
  libx11-6:i386 \
  libxext6:i386 \
  libxrender1:i386 \
  zlib1g:i386 \
  libcurl4:i386 \
  libxi6:i386 \
  libdbus-1-3:i386
특정 라이브러리 누락 시, 64비트 패키지명으로 검색 후 아키텍처만 변경:
dpkg -S libfreetype.so.6  # 결과: libfreetype6:amd64
apt install libfreetype6:i386

참고: 시스템 정보 (Kali 2020.2)

Linux version 5.4.0-kali2-amd64 (devel@kali.org) 
(gcc version 9.2.1 20200104 (Debian 9.2.1-22)) 
#1 SMP Debian 5.4.8-1kali1 (2020-01-06)

태그: Kali Linux UEFI GRUB chroot Fcitx

6월 11일 16:10에 게시됨