윈도우 + 우분투 멀티부팅 설치 정리

이현성·2026년 6월 10일
post-thumbnail

이번에는 윈도우가 설치된 PC에 우분투를 같이 설치해서, 부팅할 때 윈도우와 우분투 중 하나를 선택할 수 있도록 만드는 과정을 정리해보려고 한다.

간략하게 순서는

  1. 우분투가 들어갈 빈 공간을 만든다.
  2. 우분투 설치 USB로 부팅한다.
  3. 빈 공간에 우분투를 설치한다.
  4. 우분투 부트 매니저를 먼저 실행되게 설정한다.
  5. GRUB 화면이 보이도록 설정한다.

다만 파티션을 직접 건드리는 작업이라 잘못 선택하면 윈도우 데이터가 날아갈 수 있다.
실제로 정말 위험한 순간이 몇번 지나갔다..
또한 중요한 파일은 먼저 백업해두고 진행하는 게 좋다.


시작 전 주의점

윈도우가 UEFI로 설치되어 있는데 우분투를 BIOS/Legacy 방식으로 설치하면 부트로더 쪽에서 문제가 생길 수 있다.
때문에 윈도우와 우분투의 부팅 방식이 맞아야 한다.

그래서 설치 USB로 부팅할 때도 UEFI: USB 이름처럼 UEFI가 붙은 항목을 선택해주자.


준비물

준비물은 다음과 같다.

  • 우분투 설치 USB
  • 윈도우 설치 USB
  • 오프라인 vim 설치용 .deb 파일 USB

윈도우 설치 USB는 우분투 설치용은 아니여서 필수는 아니지만,
부트로더가 꼬여서 윈도우 복구 환경으로 들어가야 할 때를 대비해서 준비해두는 용도다.
정말 위험한 순간에 나를 여러 번 살려줬다 ㅠ

그리고 vim USB는 인터넷이 안 되는 환경에서 GRUB 설정 파일을 수정하려고 넣은 준비물이다.
인터넷이 된다면 그냥 아래처럼 설치하면 된다.

sudo apt update
sudo apt install vim

vim 외에 nano 등도 가능한데 vim이 익숙해서 이걸로 진행했다.


1. 윈도우에서 파티션 분할하기

먼저 우분투가 설치될 공간을 만들어야 한다.

윈도우 버튼을 우클릭하고 디스크 관리로 들어간다.
그 다음 C 드라이브나 D 드라이브처럼 용량을 줄일 파티션을 우클릭하고 볼륨 축소를 선택한다.

디스크 관리에서 볼륨 축소

이미지 출처: 디스크 파티션 분할하기

축소할 공간은 MB 단위로 입력한다.

예를 들어 50GB 정도를 확보하고 싶다면 대충 아래처럼 계산하면 된다.

50GB = 50 * 1024 = 51200MB

예전에는 우분투 설치 최소 용량을 8GB 정도로 잡기도 했는데, 지금 기준으로는 너무 빠듯하다.
우분투 공식 문서에서도 데스크탑 설치에 최소 25GB 이상의 저장 공간을 안내하고 있다.

https://ubuntu.com/tutorials/install-ubuntu-desktop?utm_source=chatgpt.com#1-overview

그래서 개인적으로는 최소 30GB 이상, 개발 환경까지 생각하면 50GB 이상을 권장한다.

축소가 끝나면 할당되지 않음 공간이 생긴다.

디스크 관리에서 할당되지 않은 공간 확인

이미지 출처: 디스크 파티션 분할하기

여기서 중요한 건 이 공간을 윈도우에서 새 볼륨으로 만들지 않는 것이다.
그냥 할당되지 않음 상태로 놔둬야 우분투 설치 화면에서 사용할 수 있다.


2. 우분투 설치 USB 만들기

우분투 ISO는 공식 다운로드 페이지에서 받으면 된다.

Ubuntu Desktop 다운로드

윈도우에서 설치 USB를 만들 때는 보통 Rufus를 사용한다.

Rufus 다운로드

Rufus에서는 대충 아래 기준으로 맞춰주면 된다.

항목
부트 선택다운로드한 Ubuntu ISO
파티션 구성GPT
대상 시스템UEFI
파일 시스템FAT32 또는 NTFS

파일 시스템은 보통 FAT32로 많이 잡히는데, ISO 파일 구성에 따라 NTFS로 잡히는 경우도 있다.
중요한 건 GPT, UEFI 쪽이다.

ISO 파일을 USB에 복사하는 것이 아니라, Rufus 같은 도구로 부팅 가능한 USB를 만들어야 한다.


3. 우분투 설치 USB로 부팅하기

USB를 꽂고 재부팅한 뒤 부팅 메뉴로 들어간다.

부팅 메뉴 키는 제조사마다 조금씩 다르다.

제조사자주 쓰는 키
SamsungF2, F10
LGF2, F10
ASUSF2, F8
LenovoF1, F2, F12
DellF2, F12
HPEsc, F9

정확한 키는 모델마다 다를 수 있어서, 부팅할 때 잠깐 뜨는 안내 문구를 보는 게 제일 확실하다.

부팅 장치 목록에서 USB를 고를 때는 UEFI가 붙은 항목을 선택해주자.

예를 들면 이런 식이다.

UEFI: SanDisk USB

UEFI가 안 붙은 USB 항목도 같이 보일 수 있는데, 그건 BIOS/Legacy 방식으로 부팅되는 경우가 있다.
이 글에서는 UEFI 기준으로 설치할 것이기 때문에 UEFI가 붙은 쪽을 고르면 된다.


그 후 최상단의 Ubuntu를 골라준다.(한 5분 정도 기다리기)


4. 우분투 설치하기

우분투 설치 화면이 뜨면 대략 이런 순서로 진행하면 된다.

  1. 한국어 선택
  2. Ubuntu 설치 선택
  3. 키보드 레이아웃은 영어로 선택
  4. 최소 설치 또는 기본 설치 선택
  5. 설치 형식에서 기타 또는 수동 설치 선택

자동 설치 옵션을 잘못 선택하면 윈도우 파티션이 날아갈 수 있기 때문에 멀티부팅을 직접 구성할 때는 기타, Something else, Manual installation 같은 수동 설치 옵션으로 들어간다.

위에서 윈도우에서 만들어둔 공간이 남은 공간, free space, 할당되지 않음 같은 이름으로 보일 것이다.
남은 공간을 선택하고 파티션을 만들어주면 된다.

내가 잡을 기준은 아래처럼 정리했다.

파티션용량형식마운트 위치
boot1024MBext4/boot
EFI System Partition300MB ~ 512MBEFI / FAT32/boot/efi 또는 EFI 시스템 파티션
root최소 25GB 이상ext4/
swap선택swap없음

처음 정리할 때는 /boot를 500MB 정도로 잡아도 된다고 생각했는데, 커널 업데이트나 설치 과정에서 용량이 부족할 수 있다.
특히 Error installing linux-image-5.19.0-41-generic 같은 오류가 나오면 /boot 용량 부족일 가능성이 있다.

그래서 /boot는 1024MB 정도로 안전하게 잡도록 하자.

EFI 파티션은 UEFI 부팅에 필요하다.
설치 화면에 따라 EFI System Partition이라고 나오기도 하고, 마운트 위치가 /boot/efi로 보이기도 한다.

이미 윈도우가 설치된 디스크에는 기존 EFI 파티션이 있을 수 있다.
이 파티션은 절대 포맷하면 안 된다.
새 EFI 파티션을 만들지, 기존 EFI 파티션을 사용할지는 환경마다 다르지만, 어떤 경우든 윈도우 EFI 파티션을 지우거나 포맷하는 건 피해야 한다.

root 파티션은 우분투의 실제 시스템이 들어가는 공간이다.
최소 설치만 해도 25GB 이상은 잡는 게 좋고, 용도에 따라 넉넉하게 잡도록 하자. 나같은 경우엔 서버, 프로젝트 빌드 파일, 로그 파일 등을 고려해서 잡았다.

swap은 RAM이 부족할 때 임시 저장 공간처럼 쓰이는 파티션이다.
요즘은 swap file로도 많이 처리되기 때문에 꼭 파티션으로 만들 필요는 없지만, 만들 거라면 1GB 이상 정도로 잡으면 된다.

파티션을 다 만들었으면 부트로더를 설치할 장치를 선택한다.

여기서 장치 이름이 /dev/sda, /dev/nvme0n1처럼 보일 수 있다.
우분투를 설치하는 디스크나 /boot 쪽을 기준으로 잡아주면 된다.

이 부분은 환경마다 이름이 다르기 때문에 무작정 따라 누르기보다, 어느 디스크에 윈도우가 있고 어느 디스크에 우분투를 설치하는지 확인하면서 진행해야 한다.

설정을 마쳤으면 지금 설치를 누르고 지역, 계정, 비밀번호를 설정한 뒤 설치를 기다리면 된다.

설치가 끝나면 다시 시작을 누르고, 안내가 나오면 USB를 뽑은 다음 엔터를 누른다.


5. 우분투 부트 매니저를 먼저 실행되게 하기

설치가 끝났는데 바로 윈도우로 들어가면 당황할 수 있다.

이건 우분투가 설치되지 않은 게 아니라, 윈도우 부트 매니저가 먼저 실행되고 있을 가능성이 있다.

GRUB 화면에서 윈도우와 우분투를 고르려면 우분투 부트 매니저가 먼저 실행되어야 한다.

우리의 목적은 멀티 부팅이기 때문에 윈도우 혹은 우분투 중에 선택할 수 있어야 한다.

다시 재부팅하고 이전의 방법대로 UEFI 설정 화면으로 들어간다.

그리고 Boot 탭에서 부팅 우선순위를 아래처럼 맞춰준다.

  1. ubuntu
  2. Windows Boot Manager

설정을 저장하고 재부팅하면 GRUB 화면이 나온다.


6. GRUB 메뉴 항상 보이게 설정하기

이제 우분투로 들어가서 GRUB 설정을 바꿔주자.

기본 설정에 따라 GRUB 메뉴가 숨겨져 있거나, 너무 빠르게 넘어갈 수 있다.
그래서 /etc/default/grub 파일을 수정한다.

sudo vim /etc/default/grub

아래 값을 찾아서 수정한다.

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10

GRUB_TIMEOUT_STYLE의 초기 값은 hidden인데, 이러면 메뉴가 숨어있다.
menu로 바꾸면 부팅할 때 GRUB 메뉴가 보인다.

GRUB_TIMEOUT=10은 10초 동안 선택을 기다리겠다는 뜻이다.
이것도 0인 경우 메뉴가 안나올 수 있다.
아무것도 선택하지 않으면 기본값인 우분투로 부팅된다.

수정이 끝났으면 GRUB 설정을 업데이트한다.

sudo update-grub

그리고 재부팅한다.

sudo reboot

최종적으로 아래처럼 우분투와 윈도우를 선택할 수 있는 화면이 나오면 된다.


윈도우가 GRUB에 안 보일 때

우분투는 잘 켜지는데 GRUB 메뉴에 윈도우가 안 보일 수 있다.

그럴 때는 os-prober가 비활성화되어 있는 경우를 확인해보면 된다.

먼저 설치한다.

sudo apt update
sudo apt install os-prober

그 다음 GRUB 설정 파일을 연다.

sudo vim /etc/default/grub

아래 값을 추가하거나 수정한다.

GRUB_DISABLE_OS_PROBER=false

그리고 다시 업데이트한다.

sudo os-prober
sudo update-grub

여기서 윈도우가 감지되면 재부팅 후 GRUB 메뉴에 윈도우 항목이 보일 것이다.


오프라인에서 vim 설치하기

미리 받아둔 .deb 파일로 vim을 설치할 수 있다.

USB가 /media/hyeon/8886-07/linux/ 경로에 마운트되어 있다고 가정하면 아래처럼 실행한다.

sudo dpkg --force-all -i /media/daeho/8886-07/linux/*.deb

위 경로는 예시다.
본인 USB가 마운트된 경로에 맞게 바꿔야 한다.

경로가 헷갈리면 /media 아래를 확인해보면 된다.

ls /media
ls /media/$USER

인터넷 안되는 상황에서 vim은 그냥 신이야


참고할 만한(당한) 오류들

/boot 용량 부족

설치 중에 아래와 비슷한 오류가 나오면 /boot 파티션 용량이 부족한 경우가 있다.

Error installing linux-image-5.19.0-41-generic

이 경우 /boot를 500MB가 아니라 1024MB 정도로 다시 잡고 설치하는 게 좋다.

GRUB Rescue가 뜰 때

부팅 중 grub rescue> 화면이 뜨면 GRUB이 부팅 파일 위치를 제대로 못 찾는 상태일 수 있다.

이때는 먼저 파티션 목록을 확인한다.

ls

그리고 각 파티션을 하나씩 확인한다.

ls (hd0,gpt1)
ls (hd0,gpt2)
ls (hd0,gpt3)

Filesystem is unknown이 아닌 파티션을 찾은 뒤, 예를 들어 (hd0,gpt2)가 맞다면 아래처럼 시도할 수 있다.

set boot=(hd0,gpt2)
set prefix=(hd0,gpt2)/boot/grub
insmod normal
normal

이건 임시로 부팅 메뉴로 돌아가는 방법에 가깝다.
부팅에 성공했다면 우분투로 들어가서 다시 GRUB을 업데이트해주는 게 좋다.

sudo update-grub

윈도우 부트로더가 꼬였을 때

윈도우 자체가 부팅되지 않는다면 윈도우 설치 USB로 복구 환경에 들어가야 할 수 있다.

이때는 컴퓨터 복구 > 문제 해결 > 명령 프롬프트 쪽으로 들어간다.

자주 보이는 명령어는 아래와 같다.

bootrec /fixmbr
bootrec /fixboot

다만 EFI 파티션을 직접 잡아서 bcdboot를 실행해야 하는 경우도 있다.

이 부분은 디스크와 EFI 파티션 번호가 환경마다 달라서, 그대로 복붙하면 오히려 더 꼬일 수 있다.
그래서 윈도우 부트로더 복구는 현재 디스크 구조를 먼저 확인하고 진행하는 게 맞다.


후기

멀티 부팅 왜 하는건가 싶었는데, 내 경우엔 윈도우의 환경과 깔린 내용을 유지한 채 리눅스 서버에 배포해야 하는 상황이었다.
아직까지도 대체 왜 잘 있는 정품 윈도우에 배포를 안한 걸까 안할 이유도 없고 멀티부팅 얘기 꺼낼 사람도 없고 리눅스에서만 돌아가는 프로그램도 아니고 오히려 윈도우가 더 친숙하고 여러모로 이해는 되지 않는데 일단 위에서 정해져서 작업은 했다.
정말 말도 안되는 상황 아니면 안쓰지 않을까..
이 작업을 하면서 전반적인 파티션이나 OS의 개념이나 우분투에 대해 많이 배울 수 있었다.
테스트할 때 안쓰는 PC긴 하지만 연습 여러 번 해보겠다고 까불다가 데이터 다 날아갈 뻔한 적도 있고..

그래도 즐거운 경험이었다!


참고한 글

0개의 댓글