제 경험담 하나 들려드리겠습니다. 어느 날 저는 VirtualBox에서 Fedora 23을 테스트하고 있었고, 본격적인 사용을 위해 첫 단계로 게스트 확장(Guest Additions)을 설치하기로 했습니다. 그런데 잠시 긴장된 순간 이후, VirtualBox는 "알 수 없는 버전의 X 윈도우 시스템이 감지되어 X 윈도우 시스템 드라이버를 설치하지 않는다"는 메시지를 표시했습니다.
VirtualBox 트래커를 빠르게 검색해 보니 이 문제는 VirtualBox 4.3 관련 버그로 5개월 전부터 등록되어 있었습니다. 분명 저는 5.0.6을 사용 중이었음에도 말이죠. 해결책으로는 가상화 소프트웨어를 최신 버전으로 업그레이드하라고 안내되어 있었지만, 당시 상황에서는 업그레이드가 불가능했습니다. 그렇다면 어떻게 해야 할까요?
직접 해결책을 만들어 봅시다
상황을 정리해 보겠습니다. 현재 한 가지 버전의 VirtualBox가 설치되어 있고, Fedora가 큰 문제 없이 그 위에서 구동되기를 바랍니다. 하지만 기존 드라이버 세트로는 부족하고, 업그레이드를 할 수도 없거나 허용되지 않는 상황입니다. 언뜻 막다른 길처럼 보이지만, 실제로는 그렇지 않습니다.
윈도우 시스템 드라이버 설치
경고: 알 수 없는 버전의 X 윈도우 시스템이 설치되어 있습니다. X 윈도우 시스템 드라이버를 설치하지 않습니다.[ OK ]
여기서 핵심은 Fedora에 맞는 올바른 드라이버를 포함한 최신 버전의 게스트 확장을 설치하는 것입니다. 서로 다른 버전의 VirtualBox와 드라이버를 혼합하는 것이 좋지 않은 생각이라고 생각하실 수 있는데, 본질적으로는 맞는 말입니다. 하지만 이것이 유일한 선택지이거나, 다른 방법을 찾기 전에 우선 시도해 보고 싶은 첫 번째 옵션이라면 이 튜토리얼을 끝까지 따라 해 보시길 권합니다. 실제로 이 방법은 완전히 비침습적이며, 호스트 쪽에는 어떤 소프트웨어도 설치할 필요가 없습니다.
즉, 우리가 해야 할 일은 현재 사용 중인 것보다 최신 버전의 게스트 확장을 다운로드하는 것입니다. 제 경우 VirtualBox는 5.0.6 버전이었고, 이 글을 작성하는 시점 기준 공식 사이트에는 5.0.16이 최신 버전으로 올라와 있었습니다.
최신 ISO 파일을 다운로드한 후 게스트 운영체제에 마운트합니다. 설정 메뉴를 통해 해당 ISO 파일이 게스트 내부에서 가상 CD 드라이브로 인식되도록 할 수도 있고, 또는 게스트 안에서 직접 루프백(loopback) 장치로 마운트할 수도 있습니다.
mount -o loop <iso 파일> /마운트포인트
이후의 설치 과정은 일반적인 게스트 확장 설치 가이드와 동일합니다.
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.16 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 5.0.6 of VirtualBox Guest Additions...
Removing existing VirtualBox non-DKMS kernel modules[ OK ]
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules[ OK ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module[ OK ]
Building the shared folder support module[ OK ]
Building the OpenGL support module[ OK ]
Doing non-kernel setup of the Guest Additions[ OK ]
You should restart your guest to make sure the new modules are actually used
Installing the Window System drivers
Installing X.Org Server 1.18 modules[ OK ]
Setting up the Window System to use the Guest Additions[ OK ]
You may need to restart the the Window System (or just restart the guest system) to enable the Guest Additions.
Installing graphics libraries and desktop services components[ OK ].
미리 짚어두자면, 이 튜토리얼은 독자가 명령줄 사용에 어느 정도 익숙하고, 컴파일에 필요한 도구(make, gcc, 커널 소스, 커널 헤더)가 설치되어 있으며, Linux 게스트 운영체제를 사용하고 있다고 가정합니다. 준비되셨다면 계속 진행하세요.
결론
이 가이드는 게스트 운영체제가 설치된 VirtualBox 버전보다 너무 최신일 때 발생하는 문제에 대한 비교적 무해한 우회 방법을 소개합니다. 소프트웨어를 업그레이드할 수 없는 상황이라면, 현재 VirtualBox 버전보다 최신의 ISO 이미지에서 게스트 확장을 설치해 볼 수 있습니다. 이 방법은 대체로 잘 작동하며 심각한 부작용도 거의 없습니다. 물론 프로덕션 환경에서는 권장하지 않지만, 애초에 VirtualBox나 Fedora가 기업 환경의 핵심 도구는 아닙니다.
어쨌든 이 방법으로 해결되지 않는다면, 그때 전체 업그레이드를 시도하면 됩니다. 이 방법은 별도의 복잡한 조작 없이 게스트 운영체제를 한 번 재부팅하거나, 더 간편하게는 X 윈도우만 재시작하여 한 세션 안에 모든 작업을 마칠 수 있습니다. 시도해 볼 가치가 충분하며, 여기서 배운 내용은 VirtualBox 릴리스와 Linux 배포판 버전 사이에서 종종 발생하는 수많은 사소한 버그와 호환성 문제에도 그대로 적용할 수 있습니다. 즐거운 컴퓨팅 되시길 바랍니다.
감사합니다.