Computer >> 컴퓨터 >  >> 시스템 >> Linux

GRUB 부트로더 문제 해결 방법: 라이브 CD로 5분 만에 복구하기

윈도우는 점점 더 좋아지고 리눅스는 모든 사용자의 요구를 충족하려 노력하는 요즘, 컴퓨터에 듀얼부트 환경을 구성하는 일은 더 이상 낯선 일이 아닙니다.

듀얼부트란 하나의 컴퓨터에 두 개의 운영체제(대개 윈도우와 리눅스 배포판)를 함께 설치해 사용하는 것을 말합니다. 컴퓨터를 켜면 메뉴가 나타나 어느 운영체제로 부팅할지 선택할 수 있고, 선택에 따라 해당 시스템이 실행됩니다. 윈도우와 리눅스를 함께 사용한다면 부팅 시 나타나는 메뉴는 대부분 GRUB 부트 메뉴일 가능성이 높습니다.

많은 리눅스 배포판이 기본적으로 GRUB를 설치하며, 그렇지 않은 경우에도 설치 옵션으로 제공됩니다. GRUB는 컴퓨터에 설치된 다른 운영체제를 자동으로 감지해 메뉴 항목으로 추가합니다. 디스크에 윈도우가 먼저 설치된 상태에서 리눅스를 나중에 설치하면, 별도의 추가 작업 없이 이 모든 과정이 자동으로 처리됩니다.

GRUB 부트로더 문제 해결 방법: 라이브 CD로 5분 만에 복구하기

하지만 반대로 리눅스 이후에 윈도우를 설치하거나, 하드디스크 파티션을 자주 수정하다 보면 GRUB가 손상될 수 있습니다. 이 경우 상황에 따라 윈도우로만 부팅되거나, 아예 GRUB 메뉴조차 표시되지 않을 수 있습니다. 당황해서 포럼이나 기술 지원을 찾아 헤매기 전에, 대부분의 문제를 간단히 해결할 수 있는 방법이 있습니다. 바로 GRUB를 복구하는 것이며, 생각보다 빠르게 끝납니다. 지금부터 살펴보겠습니다.

먼저 알아두어야 할 점이 있습니다. 널리 쓰이는 소프트웨어의 새 버전이 출시되면 한동안 구버전과 신버전이 공존하곤 하는데, GRUB도 마찬가지입니다. 안타깝게도 두 버전의 복구 절차가 조금 다르므로, 여기서는 둘 다 다루겠습니다.

가장 먼저 필요한 것은 라이브 CD입니다. 처음에 GRUB를 설치했던 리눅스 배포판 CD라면 그대로 사용해도 좋고, Knoppix나 SystemRescueCD를 활용할 수도 있습니다. 여기서는 우분투 라이브 CD를 기준으로 설명합니다. 단, CD의 GRUB 버전이 실제 설치된 버전과 같아야 하므로, 리눅스 설치에 사용했던 디스크를 그대로 쓰는 것이 가장 확실합니다.

라이브 CD로 부팅한 뒤 데스크톱이 뜰 때까지 잠시 기다립니다. 그다음 터미널을 열고 명령어 입력을 준비합니다. 진행하기 전에 hd0는 첫 번째 하드디스크, hd1은 두 번째 하드디스크를 의미한다는 점을 기억하세요. 마찬가지로 (hd0,2)는 첫 번째 하드디스크의 두 번째 파티션을 뜻합니다.

GRUB(레거시) 복구 방법

GRUB 부트로더 문제 해결 방법: 라이브 CD로 5분 만에 복구하기
  • sudo grub을 입력하면 GRUB 프롬프트가 나타나며, 여기서 GRUB 전용 명령어를 입력할 수 있습니다.
  • find /boot/grub/stage1을 입력합니다. 하드디스크에 있는 GRUB 파일의 위치가 반환됩니다.
  • 반환된 위치를 이용해 root(hdX, Y) 명령을 실행합니다. 예를 들어 앞선 명령이 (hd0, 1)을 반환했다면 root(hd0, 1)을 입력하면 됩니다.
  • 이어서 setup(hd0) 또는 상황에 맞게 setup(hdX)를 실행합니다. 주의: 이 명령은 MBR을 덮어씁니다. 원래 GRUB를 사용 중이었거나 리눅스 이후에 윈도우를 설치한 경우라면 문제없지만, 다른 부트로더나 사용자 정의 설정을 사용 중이라면 신중하게 진행해야 합니다.
  • quit을 입력해 GRUB를 종료한 뒤 컴퓨터를 재부팅합니다.

GRUB 2 복구 방법

GRUB 부트로더 문제 해결 방법: 라이브 CD로 5분 만에 복구하기
  • sudo mount /dev/XdYZ /mnt를 입력합니다. X는 'h' 또는 's', Y는 하드디스크 번호, Z는 파티션 번호입니다. 예: sudo mount /dev/sda3 /mnt — 이때 /dev/sda3가 리눅스 시스템 파티션이라고 가정합니다. 시스템 파티션을 잘 모르겠다면 sudo fdisk -l로 전체 파티션 목록을 확인할 수 있습니다. 참고: 부팅 파티션을 따로 분리해 사용 중이라면 /mnt/boot에 명시적으로 마운트해야 합니다.
  • 그다음 sudo grub-install --root-directory=/mnt /dev/sdX를 실행합니다. X는 GRUB를 복구할 하드디스크입니다.
  • sudo umount /mnt로 파티션을 마운트 해제한 뒤 컴퓨터를 재부팅합니다.

위 과정을 거치면 5분 안에 GRUB를 복구할 수 있습니다. 문제없이 진행됐고 원인이 GRUB였다면 이제 해결된 것입니다. 만약 이 방법으로도 해결되지 않는다면 하드디스크의 상태와 파티션 구성을 더 자세히 점검해볼 필요가 있습니다. GParted나 우분투 라이브 CD 등 편리한 라이브 USB/CD를 활용해 확인해 보세요.

부팅 문제를 겪어본 적이 있나요? 어떻게 해결하셨나요? 다른 독자들에게 도움이 될 만한 팁이 있다면 댓글로 알려주세요!