VirtualBox, 64bit 게스트 OS 실행 : refind 사용

과거에 같은 내용에 관해 글을 쓴 적이 있다. 그 글에선 Ubuntu, 더 정확하게는 Grub 을 사용하는 법에 대해서 정리했었다.
이 글에선, refind 를 사용하는 방법을 기록해본다.

간단한 방법을 먼저 적고, 다른 방법도 적어본다.
사실, refind 덕에, UEFI 에 관한 지식이 좀 생겨서, 저 글을 쓸 때만해도 왜 저렇게 해야 하는지를 몰랐었는데, 이제는 조금은 이해가 되는 정도까지는 됐다. (기특하다..)

이걸 다시 하게 된 건 OpenSuse 때문이다. Grub 을 쓰지 않고 Refind 로 하려 했는데, 그러다 보니 이 글까지 쓰게 됐다.

어떤 리눅스 배포판이 됐든, 일단 설치를 끝낸 뒤, 부팅에 성공을 해야 한다. Grub 을 빼고 설치했는데 어떻게 부팅이 될까? 하고 생각한다면, 그를 위한 refind (CD/USB Drive Image)가 존재하기에, 그것을 이용해서 부팅을 할 수 있다. 또는 설치 이미지로도 부팅이 가능하지 않을까..?

어떻게든 부팅에 성공한 후, refind 를 설치한다. 우분투 계열은 기본 저장소에 들어 있으니 설치가 쉬운데, openSUSE 는 따로 저장소를 추가해주거나, 아니면 꾸러미를 받아서 설치해야 하는 듯 하다.

설치 후, refind 스크립트가 실행되었을 수도 있고(Debian 계열), 아닐 수도 있다.
아무튼 다음 명령을 실행한다.

sudo refind-install --usedefault /dev/sda1
#/dev/sda1 은 EFI 파티션이다.

만약, refind-install 스크립트가 refind 설치 중에 이미 실행이 되어서, /boot/efi/EFI/refind 디렉토리가 생성되어 있다면, 지워도 무방하다. 만약 이게 남아있다면 refind 메뉴에 refind 가 또 뜨는 현상이 발생한다. (그래도 별 상관은 없지만)
–usedefault 를 사용하면, /boot/efi/EFI/BOOT 디렉토리에 refind 가 설치되기 때문에, 문제가 발생하지 않는다.

끝. VBox 가 UEFI Shell 로 빠져버리는 일은 더 이상 없다.


위 방식이 가장 간단하고 확실하지만, refind 를 그냥 설치 해서 그 상태로 사용하고 싶다면???
이런 경우 VBox 실행 시 Shell 로 빠지는 현상이 나타난다.

이럴 땐 예전 방법 그대로.

sudo -i
echo "\EFI\refind\refind_x64.efi" > /boot/efi/startup.nsh

물론 sudo -i 를 하지 않고, sudo sh -c … 로 해도 되지만~

끝! 더 이상은 없다.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.