부팅시 grub가 화면에 나오지는 않으나 정상적으로 동작할 때 해결방법
종종 다양한 환경의 컴퓨터에 새로운 환경을 사용하기 위해 운영체제를 새로 설치하여 원하는 환경을 구축하곤 합니다. 컴퓨터마다 설치된 사양과 환경등이 제각각이지만 운영체제를 새로 설치하고나서 부터는 어느 정도 해당 환경에 맞추어 나가다 보면 어느덧 컴퓨터가 손에 길들여지는 것이 느껴지고는 합니다.
그런데 이번에 설치를 시도하게 된 컴퓨터는 유독 희안한 증상이 있었습니다. 우분투도 처음부터 새롭게 설치했음에도 멀티부트 환경 등에서 사용되는 grub 화면이 나오지 않는 것입니다.
대개 거의 대부분의 경우 이는 grub 설정에서 화면을 띄우기도 전에 바로 우분투가 부팅되는 경우이기 때문에 다음과 같이 설정하면 grub 화면이 나타납니다.
# sudo vi /etc/default/grub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
|
ddcs |
위의 코드에서 해당 부분에 시간을 부여해주면 grub 메뉴들을 볼 수 있습니다.
GRUB_TIMEOUT=10
그런데 이번에 제가 다루게 된 컴퓨터는 희안하게도 grub 화면에 나타나지 않는 것입니다. 혹시나 해서 grub가 실행되고 있을법한 타이밍에 방향키를 누른 다음 엔터키를 눌러보았는데 희안하게도 해당 메뉴가 실행되는 것을 눈으로 직접 확인하였습니다. 즉, 모종의 이유로 grub가 실행이 되고 있음에도 화면에서는 나타나지 않는 현상으로 보였습니다. 왠지 해당 컴퓨터의 그래픽 출력 관련 문제인 것으로 보아 다음과 같이 다시 시도해 보았습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console
|
cs |
다음과 같이 해당 부분의 주석을 지워줍니다.
GRUB_TERMINAL=console
해당 커맨드를 활성화 시키면 grub의 터미널 모드를 그래픽 터미널에서 콘솔 터미널로 바꾸어줍니다. 아마도 그래픽 출력 문제로 인해 화면이 나오지 않는 것으로 추정되어 해당 방법을 시도해 보았는데요 이제 변경된 내용을 grub에 적용해줍니다.
# sudo update-grub
# sudo reboot
여기까지 진행한 다음 리셋을 했더니 드디어 grub메뉴가 모니터에서 나타났습니다.
일반적으로 많이 보던 grub의 모습과 달리 완전 새까만 배경의 모습으로 메뉴를 표시합니다. 추정컨데 그래픽 모드가 아닌 콘솔 모드로 출력되어 그래픽카드가 아닌 텍스트 콘솔 출력 방식으로 띄우는 듯 합니다. 그래픽 카드의 문제를 해결해보고 싶었지만 일단 화면이 안나온 것을 해결하였으니 여기서 만족하기로 하였습니다.
해당 원인에 대해 좀 더 자세히 확인하고 싶으신 분들께서는 아래의 포스팅을 참조해 주시기 바랍니다.