logo

Windows 11 설치

Linux PC에서 Windows 11을 설치 USB 만들고 설치하기

66 조회

0 추천

2,021 단어

11분 예상

2025. 02. 09. 게시

2025. 02. 10. 수정

luasenvy 작성

CC BY-NC-SA 4.0

설치 문제와 원인 파악

Windows 운영체제를 사용하고 있을 경우 마이크로소프트가 공식적으로 제공해주는 MediaCreationTool 또는 rufus 등과 같이 검증된 소프트웨어가 제공되어 쉽게 만들 수 있고, 데비안 계열에서도 gparted, WoeUSB와 같은 소프트웨어를 활용하여 USB를 생성할 수 있다.

검색하면 관련된 문서들이 많이 나오지만 이 문서를 작성하는 이유는 당연하게도 나처럼 삽질하는 사람이 한 명이라도 줄어들길 바라는 마음에서 출발하였다. 개인적인 고집으로 위에서 언급한 추가 소프트웨어를 설치하지 않고 진행하여 꽤 많은 시간을 허비하였다.

install driver 사진: Install driver to show hardware

작년까지만 하더라도 dd 명령만으로 설치가 가능했었는데 어째서인지 설치를 위한 드라이버를 찾을 수 없다는 화면만 계속해서 반복되었다. 정확히 무슨 하드웨어가 없다는 건지도 없고 무작정 드라이버만 찾아달라니 막막했다. NVMe 드라이버, SSD 드라이버, LAN 드라이버, USB 3.0 드라이버, 메인보드 바이오스 최신 업데이트, 칩셋 업데이트 등등 거의 이틀내내 바이오스를 들락거리며 드라이버를 조합해보고 ChatGPT에게 물어보고 해도 답이 나오질 않았다.

돌이켜 생각해보면 ChatGPT에게 물어본 것이 화근이었다. 이놈도 정확히 모르면서 그냥 NVMe 드라이버가 없거나 SSD 드라이버가 없어서 디스크를 못 찾는다고 호언장담을 하길래 내 사고도 거기에 갇혔던 것이다.

이 상황의 원인을 따져보자면 Windows 11은 기본적으로 GPT + UEFI 방식으로 설치되어야 한다. MBR 방식은 이제 지원하지 않는 것인지, MBR 방식으로 설치하려면 별도의 작업이 필요한 것인지는 확인하지 않았다. 이전까지는 리눅스와 윈도우즈 모두 MBR 방식으로 설치하고 사용했던 탓에 이런 상황을 맞이하게 된 것이었다. 정리하자면

  • 설치 USB가 UEFI 방식으로 구성되지 않았기 때문에
  • 올바른 부팅 파일을 찾을 수 없었고
  • 설치 프로그램은 이를 드라이버 문제로 판단하여
  • 설치 프로그램이 위치한 하드웨어를 인식할 수 있는 드라이버를 선택하도록 유도한 것이라 유추해볼 수 있다.

긴 시간 헤매인 것에 비하여 작업을 아주 깔끔하게 해결하였는데 잘 정리된 문서 Creating a bootable Windows 11 USB flash drive in Linux를 찾아서 망정이지 아니었으면 아직도 삽질하고 있었을 것이 눈에 선하다.

UEFI와 GPT

Windows 11을 설치하기 위해서 몇 가지 알아두어야할 사항들이 있다. UEFIGPT를 알아야한다. 이 두가지 방식으로 설치 USB를 구성하고 디스크를 준비해야 정상적으로 설치가 가능하다.

짧게 소개하자면 MBR방식보다 장점이 많고 SSD의 경우 부팅속도에도 긍정적인 효과가 있기 때문에 비교적 최신 장비라면 GPT + UEFI 방식으로 디스크를 구성하는 것이 좋다고 한다.

BIOS 설정

바이오스의 종류마다 옵션을 나타내는 이름이 다를 수는 있지만 UEFI를 지원하는 옵션을 찾아서 활성화 해야한다. 만약 사용중인 디스크가 MBR로 구성되어있다면 바이오스 설정을 변경한 후에는 MBR 방식의 디스크로 부팅할 수 없게 된다. 일부 바이오스에서는 양측의 모든 부팅을 지원하는 기능1을 제공하기도 하는데 동작을 완벽히 이해하고 사용하는 것이 아니라면 그냥 비활성화한다고 생각하는 것이 정신건강에 좋아보인다.

하나의 디스크로 작업을 하는 경우 실패할 경우에 작업을 진행할 대체 운영체제가 없으므로 되도록이면 작업을 진행할 별도의 PC나 UEFI 방식의 부팅이 가능한 디스크를 예비로 준비해두는 것이 좋다.

일부 문서에서는 Windows 11은 Secure Boot를 필수로 요구한다고 하지만 비활성화해도 설치는 정상적으로 진행된다.2 개인 PC이며 안전이 확인된 프로그램만 실행한다면 Secure Boot를 사용하지 않아도 좋다고 한다.

Linux에서 명령만으로 Windows 11 설치 USB 만들기

설치 USB를 GPT + UEFI방식으로 만들려면 일반적인 dd 명령만으로는 해결하기가 힘들다. 직접 장치를 파티셔닝하고 파일들을 올바른 곳에 위치시켜야 한다.

# USB 장치 - 경로는 /dev/sdX 형식이 아닐수도 있음
sudo parted /dev/sdb

(parted) mklabel gpt                                                      
(parted) mkpart BOOT fat32 0% 1GiB
(parted) mkpart INSTALL ntfs 1GiB 100%
(parted) quit

USB를 연결하고 디스크 작업을 진행한다. USB 장치 경로를 확인하려면 sudo fdisk -l을 통해 장치명과 용량등으로 찾을 수 있다. parted 명령으로 진입하여 부트 파티션과 인스톨 파티션을 작성한다.

sudo mkdir /mnt/iso
sudo mount /path/to/Win11_24H2_Korean_x64.iso /mnt/iso/

Windows 11 다운로드 링크로 들어가서 설치용 이미지를 다운로드 받고 위 명령을 통해 이미지를 마운트 한다.

sudo mkdir /mnt/vfat
sudo mkfs.vfat -n BOOT /dev/sdb1
sudo mount /dev/sdb1 /mnt/vfat/

sudo mkdir /mnt/ntfs
sudo mkfs.ntfs --quick -L INSTALL /dev/sdb2
sudo mount /dev/sdb2 /mnt/ntfs

USB의 BOOT 파티션과 INSTALL 파티션을 각각 vfat, ntfs 방식으로 포맷하고 지정된 위치에 마운트한다.

rsync -r --progress --exclude sources --delete-before /mnt/iso/ /mnt/vfat/
sudo mkdir /mnt/vfat/sources
cp /mnt/iso/sources/boot.wim /mnt/vfat/sources/

rsync -r --progress --delete-before /mnt/iso/ /mnt/ntfs/

복사를 위해서 sudo apt install rsync 명령으로 패키지를 설치한다. rsync를 사용하여 BOOT 파일을 복사하고, sources에 필요한 boot.wim 파일을 하나 복사한다. 마찬가지로 INSTALL 파일도 복사한다. 이 작업은 파일이 크기 때문에 꽤 긴 시간이 걸린다. 로그에 권한permission 관련 오류가 표시되는 경우가 있을 수 있는데 포맷 방식에 따라 권한처리를 할 수 없는 경우에 발생할 수도 있으니 무시해도 된다.

umount /mnt/ntfs
umount /mnt/vfat
umount /mnt/iso

sync

udisksctl power-off -b /dev/sdb

모든 복사가 완료되면 각 마운트를 해제하고 반드시 sync 명령을 통해서 버퍼가 모두 동기화 되었는지 확인해야한다. USB로 데이터를 전송할 때 버퍼에 아직 남아있는 경우가 있기 때문에 sync 명령이 완료되기 전에는 USB를 제거하면 안된다. 이 명령도 시간이 걸릴 수 있다.

설치

Windows 11 Installation

정상적으로 인스톨러가 로드되면 바로 설치가 진행된다.

Footnotes

  1. Gigabyte 메인보드를 사용하고 있는데 여기서는 CMS 지원으로 불린다.

  2. 처음에는 Secure Boot를 켜고 설치하였으나 리눅스 환경에서 NVIDIA 드라이버를 설치 할 때 키페어를 등록하는 등 번거로운 작업이 필요했다. 또한, 새로운 키를 정상적으로 등록하고 재시작해도 그래픽 드라이버가 정상적으로 인식되지 않아서 기능을 다시 비활성화 해야했다.