3. Grub2 멀티부팅 꾸미기 - 해상도와 한글폰트 변환

Moderator: Dry8r3aD

Post Reply
User avatar
화산폭발
Posts: 316
Joined: 2008/05/04 Sun 10:45 pm

3. Grub2 멀티부팅 꾸미기 - 해상도와 한글폰트 변환

Post by 화산폭발 » 2017/05/21 Sun 11:31 pm

[attachment=2:2rz0hd8m]
3 grub2 resolution.png
3 grub2 resolution.png (1.42 MiB) Viewed 1390 times
[/attachment:2rz0hd8m]
Grub2의 해상도는 우분투가 실행되는 해상도와 같을 수도 있고 더 낮을 수도 있습니다.
우분투는 1600x900이 출력되지만 Grub2는 1280x800까지만 지원되기도 합니다.

Grub2가 별도의 화면출력 모듈을 가지고 있기 때문입니다.
먼저 자신의 컴퓨터의 최대 해상도를 알아보겠습니다.

컴퓨터를 켜고 Grub2 부팅화면이 나타나면 키보드의 "c" 키를 눌러줍니다.
그러면 grub> 코멘드 프롬프트가 나타나는데 여기에 "videoinfo"를 입력합니다.

[attachment=1:2rz0hd8m]
3 grub2 videoinfo.png
3 grub2 videoinfo.png (1.14 MiB) Viewed 1390 times
[/attachment:2rz0hd8m]
위 그림과 같이 사용가능한 해상도가 주우욱 나열됩니다.
(윗 부분이 잘려 나오면 grub> set pager=1 해서 한 화면씩 볼 수 있습니다.)

위 화면은 VirtualBox의 가상머신인데 "0x147 1600 x 1200 x 32 ..." 가 제일 높은 해상도군요.
Grub2 해상도로 1600x1200을 사용하면 되겠습니다.

해상도가 올라가면 폰트가 작아 보이게 됩니다.
1920x1080 해상도에서 기본 폰트는 너무 작아 가독성이 떨어집니다.

이 경우 보다 큰 한글 폰트를 만들어 Grub2에 등록시키는 다소 복잡한 절차가 필요합니다.
Grub2는 pf2 형식의 비트맵 글꼴을 사용하는데 ttf폰트와 grub-mkfont를 이용해서 만들 수 있습니다.

한글 ttf 폰트라면 모두 pf2 폰트로 변환할 수 있지만 글자모양과 폭을 생각하면
윈도우의 굴림체, 돋움체, 바탕체, 궁서체가 좋습니다.

일단 Windows XP나 Windows 7의 \Windows\Fonts 폴더를 열어
gulim.ttc와 batang.ttc 파일을 우분투로 복사합니다.

ttc는 ttf 폰트 꾸러미이기 때문에 각각의 ttf폰트로 풀어주어야 합니다.
아래 첨부파일을 다운받아 gulim.ttc와 batang.ttc 파일이 있는 폴더에서 압축을 풉니다.

[attachment=0:2rz0hd8m]
unitettc.tar.gz
(178.31 KiB) Downloaded 112 times
[/attachment:2rz0hd8m]
참고: 일본분이 만드신 프로그램인데 리눅스, 윈도우, 32bit, 64bit 다 있습니다. 감사합니다.

터미널을 열어 다음을 입력합니다.

[list:2rz0hd8m][b:2rz0hd8m]$ ./unitettc32 gulim.ttc
$ ./unitettc32 batang.ttc[/b:2rz0hd8m][/list:u:2rz0hd8m]

한 ttc당 4개의 글꼴이 나오는데 우리가 필요한 글꼴은 고정폭 글꼴이므로
gulim002.ttf gulim.004.ttf batang002.ttf batang004.ttf만 남기고 나머지 파일은 다 삭제합니다.

알아보기 쉽게 다음과 같이 이름을 변경합니다.

[list:2rz0hd8m]gulim002.ttf => gulimche.ttf
gulim004.ttf => dotumche.ttf
batang002.ttf => batangche.ttf
batnag004.ttf => gungsuhche.ttf[/list:u:2rz0hd8m]

이제 ttf 파일로부터 pf2 파일을 만들어 줄 차례입니다.
grub-mkfont를 사용하는데 옵션은 다음과 같습니다.

[list:2rz0hd8m]-b : 굵은글씨 (Bold)
-s [size] : 폰트크기
-o [output] : pf2 출력파일명[/list:u:2rz0hd8m]

vimix, blackbox 테마에 쓰인 굴림체 20,굴림체 Bold 20 폰트를 만들어 보겠습니다.
터미널상에서 다음을 입력합니다.

[list:2rz0hd8m][b:2rz0hd8m]$ grub-mkfont -s 20 -o gulimche-20.pf2 gulimche.ttf
$ grub-mkfont -b -s 20 -o gulimche-20b.pf2 gulimche.ttf[/b:2rz0hd8m][/list:u:2rz0hd8m]

만들어진 gulimche-20.pf2 gulimche-20b.pf2 를 [b:2rz0hd8m]/boot/grub/fonts[/b:2rz0hd8m] 폴더로 옮겨줍니다.
나머지 바탕체와 궁서체도 변환해서 사용할 수 있으니 시도해 보시기 바랍니다.

참고: vimix, blackbox 테마를 사용하실 분들은 여기까지 해 주시고 $ sudo update-grub
실행 후 재부팅하시면 됩니다.

만들어진 pf2 폰트는 바로 사용할 수 없고 Grub2가 읽을 수 있도록 등록해야 합니다.
터미널에서 다음을 입력합니다.

[list:2rz0hd8m][b:2rz0hd8m]$ sudo gedit /etc/grub.d/40_custom[/b:2rz0hd8m][/list:u:2rz0hd8m]
붉을색 부분을 추가해 줍니다.

[quote:2rz0hd8m]#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

set menu_color_normal=white/black
set menu_color_highlight=black/white
set color_normal=white/black

[color=#FF0000:2rz0hd8m]# Gfxmenu font loading
loadfont /boot/grub/fonts/gulimche-20b.pf2
loadfont /boot/grub/fonts/gulimche-20.pf2[/color:2rz0hd8m][/quote:2rz0hd8m]

저장한 후 gedit를 종료합니다.
다시 $ sudo gedit /etc/default/grub을 입력합니다.

[list:2rz0hd8m][b:2rz0hd8m]$ sudo gedit /etc/default/grub[/b:2rz0hd8m][/list:u:2rz0hd8m]
붉은색 부분을 추가해 줍니다.

[quote:2rz0hd8m]# 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_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_BACKGROUND=/boot/grub/images/rundle_1920.png
[color=#FF0000:2rz0hd8m]GRUB_GFXMODE=1024x768
GRUB_FONT=/boot/grub/fonts/gulimche-20.pf2[/color:2rz0hd8m][/quote:2rz0hd8m]

GRUB_GFXMODE는 Grub2가 표현될 해상도입니다.
고해상도 출력이 가능하신 분은 1920x1080으로 변경하시기 바랍니다.

저장한 후 gedit를 종료한 후 $ sudo update-grub을 실행합니다.

[list:2rz0hd8m][b:2rz0hd8m]$ sudo update-grub[/b:2rz0hd8m][/list:u:2rz0hd8m]

재부팅 후 굴림체 폰트가 잘 출력되는지 확인해 봅니다.

Grub2 화면에서 "c"키를 누르고 grub> lsfonts를 입력하면
"GulimChe Regular 20" "GulimChe Bold 20"이 출력됩니다.
이건 굴림체의 폰트네임인데 테마를 사용할 때 필요하니 기억해 두시기 바랍니다.

부팅화면을 자세히 보면 박스문자가 조금씩 깨져 보이는데 버그 같습니다.
영문폰트 변환시에도 같은 문제가 발생하네요.

너무 실망하지 마세요 ! 테마를 입히면 깔끔하게 출력됩니다.
다음은 Grub2의 하이라이트 테마를 입혀보겠습니다.

[url=https://forum.ubuntu-kr.org/viewtopic.php?f=13&t=29354:2rz0hd8m][b:2rz0hd8m]4. Grub2 멀티부팅 꾸미기 - 테마 입히기[/b:2rz0hd8m][/url:2rz0hd8m]

Post Reply