お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-06-17 12:38:23

huhitomk
メンバ
登録日: 2010-02-05

GNU_GRUB画面の解像度アップ

10.04で当初より、GNU_GRUB画面で文字化け出てましたが
https://forums.ubuntulinux.jp/viewtopic.php?id=8603
の#7Templerさんアドバイスにより’????’がアルファベットになり解決しました、有難うございました。

出来れば、メニューの解像度を、現在640x480?から、上げたいんですが
・現行解像度の確認の方法があれば?
・800x600以上に設定する方法あれば?
素人私見:/etc/default/grubの’#GRUB_GFXMODE=640x480’の#をとり、目標の解像度を設定し、’sudo update-grub’でgrub.confにセットする。 簡単にそうは行かない気もしますが。
アドバイスお願いします。 
追伸)尚、管理者よりのご忠告有難うございました、今後注意致します。

オフライン

 

#2 2010-06-17 13:33:16

3988
メンバ
登録日: 2010-02-25

Re: GNU_GRUB画面の解像度アップ

手順を記述します。
/etc/default/grubをエディターでオープンします。

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=60
#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 disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
GRUB_GFXMODE=800x600


# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

青字部分を赤字に修正し端末から

コード:

sudo update-grub

以上です

オフライン

 

#3 2010-06-17 14:07:19

weyk
メンバ
登録日: 2009-04-03

Re: GNU_GRUB画面の解像度アップ

補足。

10.04で当初より、GNU_GRUB画面で文字化け出てましたが
https://forums.ubuntulinux.jp/viewtopic.php?id=8603
の#7Templerさんアドバイスにより’????’がアルファベットになり解決しました、有難うございました。

が具体的に何をしたのか、リンク先を見ないと分からないのでややこしいですが、Graphips modeが有効にならないために日本語が化けると予想されるので、「GRUB_TERMINAL=console」を有効にした(メッセージが英語になるので化けない)にて解決した というところから話しが始まっているようです。

そのため、まずは、「Graphicsを以下にして有効にするか」を調査・解決する必要がありそうです。
# すいません、この辺の方法はさっぱりわかりません。consoleの場合、ハード(とBIOS)が持っているFontセット以外の文字は表示できないんですよね・・・?汎用的なvesa仕様を明示的に使用する方法があるのでしょうか・・・?まずは、ハード環境がわからないと難しそうですが。

オフライン

 

#4 2010-06-17 16:58:24

huhitomk
メンバ
登録日: 2010-02-05

Re: GNU_GRUB画面の解像度アップ

有難うございます。
アドバイスに従い
・’sudo gedit /etc/default/grub’ 
・’GRUB_GFXMODE=800x600’の追記
・’sudo update-grub’
の操作しましたが、変化ありませんでした(1024x768も同じく変化なし)。
尚、grub.cfgを見ても解像度らしき所、見当たりません。 システム環境概要は下記のとおりです。
「環境概要」
 1)Ubuntu:10.04LTSDesktop日本語remixのクリーンインストール   
 2)ハード
  (1)pc本体(ショップブランド)
 システム製造元    INTELR
 システム モデル AWRDACPI
 システム の種類    X86-ベース pc
 プロセッサ    x86 Family 6 Model 8 Stepping 6 GenuineIntel ~868 Mhz
 BIOS バージョン    Ver 1.65
 物理メモリの全容量    391,668 KB
 内蔵HDD(ATA) 80GBが2個(sda=win2k、sdb=Ubuntu10.04)
 グラフィック   カードなし (オンボードintel#82815chipset)
 (2)ディスプレイ アイオデータLCDーAD192CWH
現状でも使用に当たっては問題はありませんが、出来れば解決出来ればと考えています。よろしくお願いします。

オフライン

 

#5 2010-06-17 18:52:05

3988
メンバ
登録日: 2010-02-25

Re: GNU_GRUB画面の解像度アップ

何も変化なし不思議です。当方の/boot/grub/grub.cfgを参考に載せておきます。

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd2,1)'
search --no-floppy --fs-uuid --set d806d0e0-339d-4798-a8f3-32fec7a55f21
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=800x600
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd2,1)'
search --no-floppy --fs-uuid --set d806d0e0-339d-4798-a8f3-32fec7a55f21
set locale_dir=($root)/boot/grub/locale
set lang=ja
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=60
fi
### END /etc/grub.d/00_header ###

/etc/default/grubと/boot/grub/grub.cfgの内容を張り付けてください。

オフライン

 

#6 2010-06-17 19:08:23

hmatsue
アドバイザ
登録日: 2009-03-10

Re: GNU_GRUB画面の解像度アップ

宛 3988さん

以下、憶測が多分に混ざります。ご承知おき下さい。

weykさんが書かれたとおりで、本来はgrubのvbe(vesa)モジュールで画面描画をするよう設定されているところで、恐らくvbeがグラフィックカードのバグにより、gfxmodeで起動できていないところが問題なのではないかと思われます。

以下は憶測ですが、恐らくgrubがgfxmodeで起動できないことを認識してconsoleモードに切り替わっているのではないかと思います。

上記がもし正しければ80x25(でしたっけ?)以外の表示をさせることも、ハード的にもっていない日本語フォントも表示できないかと思われます(Ubuntu的にはありえないと思いますが、NECのPC98のように漢字ROMを持っていれば表示できるのかも?)。

問題はvbe、あるいは、グラフィックカードのバグにより、素直にgfxmodeで起動してくれないハードで、どのようにしてgfxmodeで起動させるかということになると思いますが、すいません、私もここからどうアプローチすればよいのか案が無いです。。

オフライン

 

#7 2010-06-17 21:52:13

huhitomk
メンバ
登録日: 2010-02-05

Re: GNU_GRUB画面の解像度アップ

有り難うございます、再度800x600セットしてみましたが、その前後でgrub.cfgに変化ありません。
尚、3988さんの例と比較して私なりにgrub.cfgの異なる所を抜きだし、下記します。
25行目(if terminal_input)から35行目(fi)までが3988さんの例と違う様です、’console’だとダメなようですが?

コード:

### BEGIN /etc/grub.d/00_header ### 
if [ -s $prefix/grubenv ]; then 
  load_env 
fi 
set default="0" 
if [ ${prev_saved_entry} ]; then 
  set saved_entry=${prev_saved_entry} 
  save_env saved_entry 
  set prev_saved_entry= 
  save_env prev_saved_entry 
  set boot_once=true 
fi 

function savedefault { 
  if [ -z ${boot_once} ]; then 
    saved_entry=${chosen} 
    save_env saved_entry 
  fi 
} 

function recordfail { 
86grub_cfg  set recordfail=1 
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi 
} 
if terminal_input console ; then true ; else 
  # For backward compatibility with versions of terminal.mod that don't 
  # understand terminal_input 
  terminal console 
fi 
if terminal_output console ; then true ; else 
  # For backward compatibility with versions of terminal.mod that don't 
  # understand terminal_output 
  terminal console 
fi 
if [ ${recordfail} = 1 ]; then 
  set timeout=-1 
else 
  set timeout=10 
fi 
### END /etc/grub.d/00_header ### 
省略~

3988さんの例では

コード:

~省略
insmod ext2

set root='(hd2,1)'

search --no-floppy --fs-uuid --set d806d0e0-339d-4798-a8f3-32fec7a55f21

if loadfont /usr/share/grub/unicode.pf2 ; then

  set gfxmode=800x600

  insmod gfxterm

  insmod vbe

省略~

の部分が解像度に関係してる所と思いますが25~35行目内容となってます。
以上報告まで、よろしくお願いします。

オフライン

 

#8 2010-06-17 22:47:44

Templer
メンバ
登録日: 2009-07-08

Re: GNU_GRUB画面の解像度アップ

「GRUB_TERMINAL=console」としてGRUBをGFXモード?からconsoleモードへと換えますと、解像度や背景といったgfxterm上の機能はgrub.cfgからも排除されます。

何にせよ、まずはグラフィックチップが性能を満たしているのかを確認してください。
GRUBメニューで「c」キーを押してコマンドラインへ切り替え、「vbeinfo」を実行してみてください。おそらく、ここでの結果がすべてであろうと思われます。ここで使用可能な "解像度" が表示されれば変更可能ですが、無いようですと残念ながらgfxtermは使用できないものと思われます。(GRUBメニューへ戻るには「ESC」キーを押してください)


(「グラフィックカードのバグ」というのはありえるかも。i810ではxserverをvesaにするとブラックアウトしますので。i815でも同様にブラックアウトするのかも? "GRUBをフレームバッファに" という話もチラッと出てきているみたいなので将来的には変わってくるかもしれませんが…)

オフライン

 

#9 2010-06-18 08:57:33

huhitomk
メンバ
登録日: 2010-02-05

Re: GNU_GRUB画面の解像度アップ

皆さんへ
「vbeinfo」の結果、解像度の表示は見当たりません。 現時点、「GNU_GRUB画面の解像度を変更するには、システム構成要件不足」の様です。 ついては、本トピック解決と言う事で完了とさせていただきます。
数々のアドバイス有難う御座いました。

オフライン

 

Board footer

Powered by FluxBB