Windows / Linux 듀얼 부팅
서로 다른 드라이브에서 설치하고 부팅하기
2020 . 05 . 15
2020 . 05 . 21 os-prober 추가 및 수정
2023.05.07 (블로그 이전)
우리나라에서 Windows 가 없는 채로 컴퓨터를 이용하기란 참 쉽지 않습니다.
다행히 애플의 제품을 많이 선호하고, 안드로이드 스마트폰을 이용하면서 환경이 많이 개선되어가고 있습니다만, 그래도, 몇 몇의 사이트(특히, 정부 관련 사이트 및 결제 관련 사이트)는 여전히 Windows 가 아닌 환경에서 이용하기란 매우 어렵습니다.
그래서, 어쩔 수 없이 Windows 를 병행하여 듀얼 부팅하는 방식으로 이용하시는 분들도 많고, 가상머신을 통해서 이용하는 분들도 있겠죠?
저는 이 글에서 실제 하드웨어에서 윈도우즈와 리눅스를 병행하여 설치하고 듀얼 부팅을 시킬 수 있도록 설명을 하려고 합니다.
그런데!
다른 블로그와 다른 설명을 할 예정입니다. 많이 검색을 해보셨다면, 아마, 동일한 드라이브에서 파티션을 나누어 듀얼 부팅을 할 수 있도록 설명하는 블로그는 아주 많습니다.
저 또한 굉장히 많은 시간을 이 "듀얼 부팅" 때문에 검색도 많이하고, 많은 온라인 커뮤니티에서 도움을 받았지만, 많은 블로그에서는 동일한 드라이브 내에서 듀얼 부팅을 구성하는 것을 설명하기 때문에, 제가 처한 상황과 달라 가상 환경에서 직접 몇 시간을 작업하고 테스트 한 뒤에 실제 저의 컴퓨터에 듀얼 부팅이 성공적으로 진행이 되어 이 글을 작성합니다.
다른 블로그에서 설명해주는 것과 다른 점은 아래와 같습니다.
다른 블로그에서는 A 드라이브에 파티션 a(Windows) 와 b(Linux) 로 나누어 부트로더를 구성하고 윈도우즈와 리눅스를 선택하여 듀얼 부팅을 가능하게 합니다.
A 디스크 : a 파티션(Windows) / b 파티션(Linux)
그러나, 이 글에서는
서로 다른 드라이브 A 와 B 디스크에 Windows 와 Linux 를 분리하여 부팅할 수 있도록 진행합니다.
즉
A 디스크 : Windows
B 디스크 : Linux
그러니, 동일한 드라이브 내에서 듀얼 부팅을 하고자 하시는 분은 다른 블로그를 참조하셔서 설치하시는 것이 훨씬 효율적으로 이용하실 수 있습니다.
주의!
1. 이 글에서는 아무것도 없는 드라이브를 기준으로 작성되었습니다.
이미 윈도우즈 혹은 리눅스, 데이터들이 있는 경우에는 잘 확인하시고 진행해 주시기 바랍니다. 기존의 데이터 혹은 운영체제가 삭제될 수 있으며, 삭제될 경우, 본 글의 작성자는 어떠한 책임도 지지 않음을 먼저 말씀드립니다. (글의 설명을 위해 가상 머신에서 진행하였습니다.)
2. 저는 전문가가 아니기 때문에 기존에 다른 방법으로 진행하시는 분들도 있습니다.
리눅스 초보자이며, 초보자의 입장에서 작성되었기 때문에, 전문가적인 시선에 다르거나, 틀린 부분이 있을 수 있습니다.
그런 부분들을 지적해주시고, 다른 해결 방법을 알려주시면, 저도 동일한 방법으로 진행하여 확인하도록 하겠습니다. (다른 방법이 있다면 알려주세요. ㅠㅠ, 며칠, 몇 시간 고생했어요...)
테스트용 가상 환경 구성
1 드라이브 NVMe 35GB (부트로더(Grub), Windows Boot Manager(EFI), Windows)
2 드라이브 SATA 30GB (Linux)
UEFI 환경에서 진행합니다.
사용하시는 시스템과 디스크의 숫자에 따라 달라질 수 있음을 참고해주시기 바랍니다.
Windows 를 먼저 설치합니다.
위의 "Windows를 설치할 위치를 지정하세요" 부분까지 진행합니다.
(특별히 구별을 위해 가상머신에서는 NVMe 를 35GB 로 지정하였습니다.)
Windows 설치를 원하는 드라이브(드라이브 1)를 선택하고, " 새로 만들기(E) " 를 클릭하여,
500MB 를 적용하고 생성해 줍니다.
위 스크린샷과 같이 Windows 를 설치할 수 없는 주 파티션 500MB 가 생성되었습니다.
500MB 를 제외한 "드라이브 1 할당되지 않은 공간" 을 선택하시고
" 새로 만들기(E) " 를 눌러 별도로 용량을 지정하지 않고 적용을 하시면
Windows 복구 파티션과 Windows EFI, 그리고, MSR, Windows 가 설치될 드라이브가
자동으로 파티션 됩니다.
설명대로 진행하셨다면, 위와 같은 파티션이 구성됩니다.
500MB 주 파티션이 아닌, 새로 파티션된 드라이브에 Windows 설치를 진행하면 됩니다.
Windows 설치가 완료되었습니다.
Linux 를 설치합니다.
어떤 리눅스 배포판을 선택하시더라도 상관없습니다.
이 글에서는 편의를 위하여, Ubuntu(우분투)와 Arch Linux(아치 리눅스) 를 기준으로 설명합니다.
우분투를 설치하는 화면에서 파티션 구성하는 화면이 나타납니다.
위의 Windows Boot Manager 를 그대로 두고, Ubuntu 를 선택하면 Windows 를 삭제하지 않고, 우분투와 Windows 를 하나의 드라이브에 설치하게 됩니다.
(* 이 부분에서 별도의 선조치 후에 진행하시면, 하나의 드라이브에 듀얼 부팅이 가능합니다.
자세한 사항은 다른 블로그를 확인하시면 정확히 설정하실 수 있습니다.* )
이 화면에서 3번째 " 기타 " 를 선택하고 계속하기를 눌러줍니다.
이 화면에서는 Windows 를 설치하면서 구성했던 디스크와 파티션들을 확인할 수 있으며, 우리가 별도로 생성해놓은 500MB(스크린샷 상의 524MB)의 파티션을 확인할 수 있습니다.
또한, 아래 "부트로더를 설치할 장치" 에는
" /dev/nvme0n1 " 로만 체크되어 있는 것을 확인할 수 있습니다.
이것은 NVMe 전체를 이야기 합니다.
우리는 /dev/nvme0n1p1 에 부트로더를 설치해야 합니다.
/dev/nvme0n1p1 에 오른쪽 버튼을 클릭하시고, 바꾸기를 선택하셔서
" EFI 부트 파티션 " 으로 변경해줍니다.
이제 아래의 "부트로더를 설치할 장치" 에서 우리가 선택한 "EFI 부트 파티션" 인
" /dev/nvme0n1p1 " 로 바꿔서 선택해주고, 지금 설치를 눌러, 설치를 진행하면 됩니다.
설치가 완료되고 나면, 위 스크린샷과 같이 " Ubuntu 와 Ubuntu 옵션 그리고,
Windows Boot Manager 를 선택할 수 있도록 나타납니다.
성공했습니다!
아치 리눅스를 부팅하여 " lsblk " 라는 명령어를 입력하면 현재 디스크 드라이브를 확인할 수 있습니다.
첫번째 EFI 부트 파티션을 생성하기 위해 Windows 를 설치하면서 만들어 두었던
500MB 의 파티션이 nvme0n1p1 에 설정되어 있는 것을 확인할 수 있습니다.
이때 " cfdisk /dev/nvme0n1 " 을 입력하여, 파티셔닝 환경에 진입합니다.
/dev/nvme0n1p1 의 공간이 확보되어 있음을 cfdisk 상에서 확인할 수 있습니다.
아래의 " Type " 을 눌러서 " EFI System " 으로 변경합니다.
( 주의 ! /dev/nvme0n1p1 외에 다른 nvme0n1p'X' 를 변경하면 기존의 Windows 에 문제가 생길 수 있습니다. 주의해서 변경하시기 바랍니다. )
Type 이 EFI System 으로 변경된 것을 확인하셨으면, 아래의 " Write " 를 선택하여
" Yes " 를 입력하여 파티션 쓰기를 진행해주신 후 " Quit " 을 통해 cfdisk 를 종료하시면 됩니다.
다시 lsblk 를 입력하여 nvme0n1p1 을 확인하신 후
이번에는 리눅스 파티션을 위해 설치할 디스크를 cfdisk 를 통해 파티션 환경에 진입합니다.
" cfdisk /dev/sda "
(장착된 하드 디스크의 수에 따라 sda, sdb, sdc 등등으로 바뀔 수 있습니다.)
원하시는 사양에 맞게, 그리고, root 파티션과 home 파티션을 분리하신 후
" Type " 을 선택하여, 변경합니다.
그리고, " Write " 를 선택하고 " Yes " 를 입력하여, 그대로 파티션을 써주면 됩니다.
(혹시, GPT 등의 파티션 테이블을 선택하라고 확인된다면, GPT 를 선택하고 진행하면 됩니다.)
(편의상 root 파티션만 남겨두고, 그 외 파티션은 구성하지 않았습니다.)
위의 스크린샷을 참고하셔서 진행하시면 됩니다.
EFI System 을 위해 파일 시스템을 FAT32 로 진행합니다.
" mkfs.vfat -F32 /dev/nvme0n1p1 "
그리고, 아치 리눅스 설치를 원하시는 디스크를 확인하시고
" mkfs.ext4 -j /dev/sda1 "
을 입력하면, ext4 파일 시스템으로 포맷합니다.
( 만약, ext4 가 아닌 btrfs 로 원하신다면 " mkfs.btrfs /dev/sda1 " 을 진행하시면 됩니다. )
이제 파티션은 모두 완료했습니다.
아치 리눅스는 위와 같이 진행하신 후 부트 파티션을 마운트할 경우에 내가 설정한 부트 파티션이 어떤 위치에 있는 기억하시고, 진행해주시면 문제없이 설치가 진행됩니다.
잠깐!
아치 리눅스에서 위와 같이 설정하여 자동으로 Windows Boot Manager 를 찾지 못 한다면, 아래를 참조하세요.
먼저 " os-prober " 를 설치합니다. 콘솔, pamac, octopi 어떤 것에서도 설치가 가능합니다.
콘솔 : " # sudo pacman -S os-prober "
를 설치하고 난 뒤,
" # sudo os-prober " 를 입력하였는데, 아무런 반응이 없다면, windows 파티션을 직접 마운트 해주어야 합니다. 간단합니다.
" # mount /dev/nvme0n1p3(Windows가 설치된 파티션) /mnt "
- 파티션을 확인하고 싶다면, " lsblk " 를 입력하세요.
마운트가 완료된 후, 다시 sudo os-prober 명령을 실행하면, windows efi 를 찾아줍니다.
그 뒤에 " # sudo grub-mkconfig -o /boot/grub/grub.cfg " 를 실행하면, 마지막에 Windows 파티션을 설정해 줍니다. 재시작하면, grub OS 선택 화면에 "Windows Boot Manager (/dev/nvme0n1p3)" 를 확인할 수 있습니다.
아치 리눅스 설치가 어려우시다면, 아래의 링크를 통해 " 아치 리눅스 설치 가이드" 로 이동하시면, 친절하고, 자세한 설명과 함께 아치 리눅스를 설치하고, GUI 환경까지 자연스럽게 설치하실 수 있습니다.
위의 페이지를 운영하시는 분께 이 자리를 빌어 감사의 말씀드립니다.
막막하기만 했던 아치 리눅스를 설치할 수 있도록 해주시고, 명령어와 옵션이 어떤 의미이고 어떤 작업을 하는지도 자세하게 설명이 되어있습니다.
일부 잘 안되는 부분이 있습니다만 -ibus 설정과 같은 부분- 이 부분은 제가 별도로 전달하거나, 제 블로그를 통해 설명하겠습니다.
이러한 과정을 통해, 저는 아치 리눅스와 Windows 를 별도의 디스크에서 듀얼 부팅을 하고 있고, grub 도 원하는 스타일로 잘 꾸며서 이용하고 있습니다!
grub-theme / fallout theme