2017년 6월 13일 화요일

GRUB를 이용한 리눅스 멀티부팅 꼼수 부리기

멀티부팅은 일반적으로 서로 다른 OS(예: 리눅스와 윈도우즈)를 하나의 컴퓨터에서 운영하기 위해서 쓰인다. 때로는 동일한 OS를 서로 다른 버전으로 각자 설치해 놓고 이를 선택하여 부팅하는 용도로 쓸 수도 있다.

멀티부팅을 능수능란하게 쓰려면 OS의 설치 순서가 매우 중요하다. 특히 리눅스와 윈도우를 선택적으로 부팅하려면 윈도우를 먼저 깔고 나서 리눅스를 나중에 설치한 뒤, 리눅스의 GRUB를 통해서 OS를 선택하는 것이 불문율로 여겨지고는 한다.

오늘 나는 매우 엉뚱한 시도를 해 보았다. 지난 5년간 사무용(윈도우 7)으로 쓰이다가 일선에서 물러난 데스크탑 컴퓨터가 하나 있다. 오래된 Xeon CPU에 수퍼마이크로 마더보드로 구성된, 나름대로 서버급의 컴퓨터이다. 여기에는 우분투 12.04를 설치하여 이따금 PhyloPythiaS+(PPSP) 구동용으로 사용하였다. PPSP 또는 PPS+는 metagenomic read의 taxonomic binning 프로그램이다. 최신 우분투를 기반으로 한다면 모니터의 해상도를 최적화하여 훨씬 편리하게 컴퓨터를 쓸 수 있겠지만 우분투 12.04에서 PPSP를 설치하는 것이 가장 편리하기에 개발자가 권장하는 환경을 그대로 맞추어 사용한 것이다.

얼마 전부터 Oxford Nanopore sequencing을 접하게 되면서 MinION 구동을 위한 컴퓨터가 필요하게 되었다. 바로 어제까지는 노트북 컴퓨터(윈도우 10)에 필요한 프로그램들을 깔아서 연습삼아 사용을 해 오고 있었으나 화면도 너무 작고 약간 답답한 감이 없지 않아서 우분투가 깔린 데스크탑을 사용할 생각을 조금씩 하던 중이었다. MinION 구동 프로그램은 컴퓨터의 하드웨어 성능을 좀 가리는 편이다. 그래서 Xeon CPU에 메모리 16 GB가 장착된 데스크탑에 눈이 가기 시작하였다. 여기에는 이미 우분투 12.04가 설치된 상태이고, MinION을 구동하려면 14.04가 필요하다. 어찌할 것인가? 이미 우분투 12.04가 설치된 디스크에 상위버전의 우분투를 덮어쓰지 않는 조건으로 설치를 하려니 파티션 등 문제가 복잡해진다. 아예 속 편하게 하드 디스크를 분리한 다음 새 디스크(사실은 쓰던 것)을 단독으로 연결하여 우분투 14.04를 설치하였다. 그 다음 MinION 구동에 필요한 프로그램(MinKNOW, EPI2ME Desktop Agent, Albacore basecaller)를 설치하고 configuration test를 성공적으로 진행하였다.

MinION이 연결된 모습.
그러면 필요한 OS 버전에 따라서 하드 디스크 연결을 바꾸어가면서 부팅을 할 것인가? 불가능하지는 않지만 너무나 번거로운 일이다. 디스크 두 개를 전부 연결하고 Grub 설정을 어떻게든 하면 일반적인 멀티부팅과 같은 환경이 조성될 것으로 기대하고 AskUbuntu 사이트를 뒤져서 나와 비슷한 상황에 대한 질문과 대답을 검색하여 보았다.

두 개의 하드디스크를 연결하고 무작정 어느 한쪽 우분투로 부팅을 한 뒤 sudo grub-update라고만 입력하면 될 것만 같은 생각이 들기 시작하였다.

그래, 한번 해 보는 거야. 디스크가 망가질 일은 없으니.

기대는 완벽하게 들어맞았다. 커넥터 연결, 부팅, 그리고 명령어 한줄로 모든 것이 끝났다. 기본 부팅은 우분투 14.04로 되었고, grub를 업데이트한 뒤 재부팅을 하니 너무나 낯익은 grub 화면이 뜨는 것이었다. 오늘도 이렇게 잔기술 하나를 익혔다.

댓글 없음: