우분투+윈도우 듀얼부팅 구축 후 우분투를 메인으로 쓰면 PC를 서버용으로(HTTP,FTP,SAMBA 등) 굴릴 수 있고, 원격접속 후 간단한 작업도 할 수 있기 때문에 유용합니다.
하지만 반드시 윈도우가 필요할 때도 있죠. 외부에서 PC를 찾을 수 없다면 모바일 기기로 원격접속이라도 해서 윈도우를 써야되고.
굳이 PC를 서버로 쓰지 않더라도 이런 식으로 우분투→윈도우 전환부팅이 가능합니다.
① 외부에서 WOL(Wake On Lan)로 PC를 깨움.
② 우분투로 부팅되면 원격접속하여 GRUB 우선순위를 윈도우로 한번만 바꿈.
③ 재부팅. 윈도우로 부팅되겠죠?
④ 원격접속하면 윈도우가 뜸.
⑤ 원하는 작업을 하고 PC를 끔.
⑥ 다음에 PC를 켜면 GRUB 우선순위가 우분투로 복구되면서 우분투로 부팅됨.
이런 식으로 돌아가는 거죠.
이걸 가능하게 하려면 GRUB 우선순위를 우분투 상에서 조작할 수 있도록 GRUB을 변경해야 되는데, 이번 포스팅에서 그 방법을 적겠습니다.
우분투 16.04 기준,
먼저 /etc/default/grub 파일을 수정해야 합니다. 터미널 창을 띄우고(Ctrl+Alt+T) 아래의 명령어로 grub 파일을 엽니다.
▲ sudo gedit /etc/default/grub
(GRUB 파일을 root 권한으로 수정해야 하므로 sudo를 써주는 겁니다.)
▲ GRUB 파일의 내용은 아마 위와 같을 겁니다. 붉게 밑줄 친 부분을 바꿔야 하는데, 아래 스샷처럼 수정하고 저장 후 GEDIT를 종료합니다.
▲ 기존의 GRUB_DEFAULT=0을 무력화하기 위해 주석처리하고(#), GRUB_DEFAULT=saved 줄을 추가한 겁니다.
이제 변경된 grub내용을 반영하기 위해 터미널 창(Ctrl+Alt+T)에서 아래의 명령을 입력해줍니다.
▲ sudo update-grub
▲ /boot/grub/grub.cfg 파일을 열어봤을 때, set default가 saved_entry로 되어있으면 update-grub이 잘 처리된 겁니다.
▲ 참고로 set default 기본값은 0이에요.
이제 default 값을 0으로 해주는 작업을 해줘야 합니다. 터미널 창에서 아래의 명령을 입력해 주세요.
▲ sudo grub-set-default 0
이것으로 기초 세팅은 끝났습니다. 윈도우로 부팅하고 싶다면 윈도우가 몇번째 menuentry로 설정되어 있는지를 파악할 필요가 있습니다. 이것은 /boot/grub/grub.cfg에 적혀있는데, 들어가보면 파악하기 쉽지 않을 걸요?
그러니까… 재부팅해서 GRUB 메뉴에서 파악해봅시다.
▲ 아마 Legacy 바이오스용 GRUB은 구성이 이럴 겁니다. 위에서부터 0,1,2,3,4 순으로 세면 됩니다. 우분투는 0, 윈도우는 4번이겠네요.
▲ UEFI 바이오스용 GRUB은 구성이 이럴 겁니다. 우분투는 0, 윈도우는 2번이겠네요.
파악이 끝났으니까, 윈도우로 1회 전환부팅 해봅시다. 저는 터미널창(Ctrl+Alt+T)에서 아래처럼 입력할 겁니다.
▲ sudo grub-reboot 4
sudo reboot
(레거시 바이오스용 GRUB이라서 4를 입력했습니다. UEFI용 GRUB이면 2를 입력하면 됩니다.)
▲ 윈도우가 선택되어진 모습을 볼 수 있습니다. 7초 기다리면 윈도우로 부팅되겠죠?
윈도우에서 재부팅을 하면…
▲ 이렇게 우분투가 기본으로 선택되어 있습니다.
설명 끝! 이제 두줄만 기억하면 되겠죠?
sudo grub-reboot 4 (UEFI는 sudo grub-reboot 2)
sudo reboot
위 명령어가 번거롭다면… 아래 스크린샷처럼 ~/.bashrc 파일에 rebootwin이라는 명령어 스크립트를 추가해주면 좋을 것입니다.
▲ 터미널 창에서 rebootwin 이라고 치면 윈도우로 부팅되는 겁니다.
참고로 .bashrc 파일은 /home/계정명/.bashrc 경로에 있고요, 파일관리자(nautilus 등)에서 숨김파일 표시옵션을 켜면 볼 수 있고, 터미널 창에서 아래처럼 입력해도 열립니다.
▲ gedit ~/.bashrc
.bashrc 파일에 저장한 내용은 재부팅을 해야 적용되는데, 리부팅하지 않고 적용하는 방법도 있습니다.
터미널 창에서 source .bashrc 라고 입력하면 재부팅 없이 수정한 내용이 적용됩니다.