
Ubuntu日本語フォーラム

ログインしていません。
みなさんこんにちは。いつもお世話になっております。catalinaです。
表題の件について質問させてください。
Windows7がはいっているnotepcに、パーティションを切ってubuntu1004をインストールし、デュアルブート環境としました。
grub2をsdaにインストールし、grub2上からWindows7も起動できる状態です。
この時は何の問題もなくスムーズにインストールでき、使用できていました。
その環境のubuntuを1010にVerupしたあと、小さいのですがむずがゆい問題が起こりました。
私はgrubに背景画像を設定していたのですが、それが表示されなくなりました。
再設定してupdate-grubを回すと、
Generating grub.cfg ...
using custom appearance settings
Found background image: hogehoge.png
Found linux image: /boot/vmlinuz-2.6.35-25-generic
Found initrd image: /boot/initrd.img-2.6.35-25-generic
Found linux image: /boot/vmlinuz-2.6.35-24-generic
Found initrd image: /boot/initrd.img-2.6.35-24-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
と、指定した画像ファイルをみつけているように見えますが、再起動してみると実際は反映されません。
実際のgrub.cfgの中身はしっかり更新されています。
grub-pcとgrub2の再インストール等試してみたのですが変化がなく、grub-customizerというtoolも試しましたが
やはり効果がありませんでした。
OSは問題なく起動するので大きな問題ではないのですが、背景画像が表示できると大変助かります。
解決法がお分かりになる方、ぜひご教授ください。
ディスクの情報
sda1 system_drv
sda2 Windows7
sda3 Windwos7用リカバリ領域
sda4 拡張領域
sda5 swap
sda6 Ubuntu1010(ext4)
dpkg -l |grep grub の結果
ii grub-common 1.98+20100804-5ubuntu3 GRand Unified Bootloader, version 2 (common files)
ii grub-customizer 2.1.1-0ubuntu1~ppa1m Grub Customizer - A graphical Grub2/BURG configuration application
ii grub-pc 1.98+20100804-5ubuntu3 GRand Unified Bootloader, version 2 (PC/BIOS version)
よろしくお願いいたします。
オフライン
まずは、ごく一般的な方法で、grub背景画像を実現出来るかどうかを試してみると良いでしょう。
どういう方法かと言うと、パッケージ提供されている標準の画像ファイルを使い、/etc/default/grubに「GRUB_BACKGROUND=/path/to/file」を記述する方法です。(Ubuntu 10.10)
参考: http://tech.mobiletod.com/change-grub-background-image-in-ubuntu-10-10/
言い忘れました。
投稿#2を試す場合、できるなら、grubの設定はgrub初期インストール時の状態に近い方が望ましいです。
参考までに、投稿#2はいわば、「目の前の問題だけ注目して問題解決を図る」というアプローチではなく、「確実に出来るである基本に立ち戻り、徐々に難しい事へ移行し、その過程のどこで出来なくなるかを把握する事で、目の前の問題を本質を理解する」というアプローチです。
>STGSAGWANさん、ありがとうございます。
まずはごく一般的な方法で、ということでしたが、webの記事などを参考に設定していましたので自分がやっている方法が
一般的ではないという認識はありませんでした。故意に複雑な方法をとろうとしていたわけではありませんのでご理解ください。
認識不足で申し訳ありませんでした。
提示いただいた方法を試してみました。
/etc/default/grubにsplashimagesの画像へのpathを
05_debian_theme
GRUB_BACKGROUND=/usr/share/images/grub/hogehoge.tgz
このように記述し、さらに/etc/grub.d/05_debian_themeの中で指定していた背景画像の行、
WALLPAPER=hogehogeの行をコメントアウトしました。
その後update-grubを回してみたところ、次のように出力されました。
結果は以下です。
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-25-generic
Found initrd image: /boot/initrd.img-2.6.35-25-generic
Found linux image: /boot/vmlinuz-2.6.35-24-generic
Found initrd image: /boot/initrd.img-2.6.35-24-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
backgroundimage found というような、背景画像に関係しそうな行が出ていません。
GRUB_BACKGROUND=/usr/share/images/grub/hogehoge.tgz と記述するだけでは、背景画像として設定できていない様です。
/etc/default/grub内にはもうひとつ、export GRUB_MENU_PICTURE= という行もありました。
ダメもとだと思い、export GRUB_MENU_PICTURE="/usr/share/images/grub/hogehoge" としてupdate-grubを実行したところ、
Generating grub.cfg ...
using custom appearance settings
Found background image: hogehoge
Found linux image: /boot/vmlinuz-2.6.35-25-generic
Found initrd image: /boot/initrd.img-2.6.35-25-generic
Found linux image: /boot/vmlinuz-2.6.35-24-generic
Found initrd image: /boot/initrd.img-2.6.35-24-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
と、背景画像として認識しました。
この状態で再起動してみましたが、背景画像は読み込まれませんでした。
親記事に書くつもりで忘れていた情報がありましたので追記しておきます。
うまく表現できないのですが、背景が表示されていた頃は画像のpath設定を失敗したりして画像が表示されなくても、
解像度はしっかり高くなっていた様に思います。しかし画像が読み込まれない今、解像度すら設定しているものとは異なり、
また日本語によるメッセージ(cを押下するとgrubのコマンドが打てます、的なアレです)も化けてしまっています。
メッセージが化ける点についてはupdate-grubを実行する際の環境変数LANGにCを設定することで回避できると
わかりました。表示は英語になりますが。
>確実に出来るである基本に立ち戻り、徐々に難しい事へ移行し(略
確実にできる方法すら解らず大変申し訳ございません。皆様どうか知恵を貸してください。
宜しくお願いします。
オフライン
#4を見る限りでは、#2と#3が満たされていないので、もう一度詳しく書きます。
まず、画像ファイルは用意された /usr/share/images/grub/Glasses_800_edit.tga を使ってください。
独自のhogehogeファイルを使っていると、grubの設定が悪いのか画像ファイル自体が悪いのか訳が分からず、解決に時間がかかります。
/etc/grub.d/05_debian_theme は初期状態に戻し、その存在を忘れてください。(本来それは編集するファイルではないので)
/etc/default/grubも、GRUB_BACKGROUND~の追記行や必要最低限の記述以外は、全て初期状態に戻してください。(画面解像度の変更とか"余計"な事をしているなら戻す)
#2で私でやって欲しい事は
$ sudo apt-get install grub2-splashimages $ gksudo gedit /etc/default/grub 以下の行を追記 GRUB_BACKGROUND=/usr/share/images/grub/Glasses_800_edit.tga $ sudo update-grub
だけです。
そして、#3ではgrub周りの設定はなるべく初期状態で、と。
最初に聞くべきでしたが、念の為、/etc/default/grub と /etc/grub.d/05_debian_theme の内容を投稿してみてください。
他にもgrub周りで触っているファイルがあればそれも。
>STGSAGWANさん
回答ありがとうございます。
/etc/grub.d/05_debian_theme 等のファイルは色々と編集してしまっていて、どの状態が初期なのかが
解らなくなってしまっています。初期状態に戻して実行したいのですが、戻す方法などありますでしょうか。
戻した後、指摘の通り/etc/default/grubを編集してやってみますので、戻す方法をご存知でしたら
宜しくお願いします。
オフライン
Catalina による投稿:
/etc/grub.d/05_debian_theme 等のファイルは色々と編集してしまっていて、どの状態が初期なのかが
解らなくなってしまっています。初期状態に戻して実行したいのですが
まず、
$ dpkg -S /etc/grub.d/05_debian_theme grub-pc: /etc/grub.d/05_debian_theme
で分かるように、grub-pcパッケージに含まれてます。
次に、 http://packages.ubuntu.com/ja/maverick/i386/grub-pc/download からgrub-pcのdebファイルをダウンロードし、
$ dpkg -x ダウンロードしたdebファイル hoge-dir
で展開し、./hoge-dir/etc/grub.d/05_debian_theme を拾い出すのが良いです。
# 今回に限り、i386やamd64のcpuアーキテクチャが違っても、./hoge-dir/etc/grub.d/05_debian_theme ファイル内容は一緒。
# ちなみに、 http://packages.ubuntu.com/ja/ の使い方にも慣れておくと便利です。
こんばんわ。次のブログが参考になるかもしれません。
http://zusann123.cocolog-nifty.com/blog … -075a.html
/etc/grub.d/40_customを編集し、
insmod tga background_image (hd0,1)/usr/share/images/grub/Fly-Angel.tga
の様な感じに追記する。
その後
$ sudo update-grub2
を実行し、リブートしてみては如何でしょうか?
オフライン
hiroppy による投稿:
こんばんわ。次のブログが参考になるかもしれません。
http://zusann123.cocolog-nifty.com/blog … -075a.html
/etc/grub.d/40_customを編集し、コード:
insmod tga background_image (hd0,1)/usr/share/images/grub/Fly-Angel.tgaの様な感じに追記する。
その後コード:
$ sudo update-grub2を実行し、リブートしてみては如何でしょうか?
"(hd0,1)"という固定文字列を書くのは、付け焼き刃的な手法ですね。
それよりも、grub開発者がUbuntu 10.10から用意した方法(/etc/default/grubで設定)の方がよいと思いますけど。
Catalinaさんが /etc/grub.d/05_debian_theme を元に戻し、/etc/default/grubに「GRUB_BACKGROUND=/usr/share/images/grub/Glasses_800_edit.tga」を追記したら、通常なら背景がちゃんと出るはずなので、その返答を待ちませんか?
もしそれで背景が出ないなら、本件にはもっと別の原因が潜んでいるってことです。
もしそれで成功したら、GRUB_BACKGROUNDが独自の画像ファイルを指すように変更すればよいです。
もし独自の画像ファイルを指すようにして背景が出なくなった場合は、画像ファイルが非対応だろうってことです。
訂正です。
誤) grub開発者がUbuntu 10.10から用意した方法
正) grub開発者が用意し、Ubuntu 10.10のgrub-commonから実現された方法
STGSAGWANさん横入りしてしまいすいませんでした。
ただ、私も同じ様な経験でgrubの背景画面が上手くいかず、調べてみた経験があったので投稿しました。
それと、ついでですが、正確には
insmod tga background_image (hd0,1)/usr/share/images/grub/Fly-Angel.tga
ではなく
insmod tga background_image (hd0,6)/usr/share/images/grub/Glasses_800_edit.tga
でしたね?
オフライン
こんばんは。catalinaです。
皆様レスありがとうございます。
>STGSAGWANさん
手順をご教授いただきありがとうございます。#7を参考に05_debian_themeを元に戻し、
sudo update-grub を実行いたしましたら、以下のように出力されました。
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-25-generic
Found initrd image: /boot/initrd.img-2.6.35-25-generic
Found linux image: /boot/vmlinuz-2.6.35-24-generic
Found initrd image: /boot/initrd.img-2.6.35-24-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
background image等のメッセーが出ていなかったのですが、念のため再起動して確認してみましたが
やはり変化がありませんでした。
#cを押下するとコマンドが・・のただしいの部分も化けたままでした
>hiroppyさん
回答ありがとうございます。教えていただいたLinkのサイトは本問題を自力で解決しようともがいていた時に
見た記憶があります。参考にさせていただきましたが、改善しませんでした。
この先は完全な私見なのですが、私が今困っている問題は
旧gurbでいうところのstage1からstage2へ「正しく」遷移できていない問題ではないか、と思うのです。
#この表現もただしいのかどうかわかりませんが
update-grubを回した時点では、設定した背景画像をしっかりと読み込んでいて、grub.cfgは正しく書き変わっていました。
しかし実際には画像も読み込まれなければ、設定した解像度にもなりません。2byte文字も化けているという状況でした。
stage2(OSを選択する画面)に進む際に読み込むはずのgrub.cfgの内容が正しく読み込まれていない様な、
そういう気がしています。
今現在の/etc/default/grub と /etc/grub.d/05_debian_theme の内容を載せます。
問題箇所がございましたら指摘お願いします。
/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=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
# 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
# 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"
GRUB_BACKGROUND=/usr/share/images/grub/Glasses_800_edit.tga
/etc/grub.d/05_debian_theme
/#!/bin/sh -e
. /usr/lib/grub/grub-mkconfig_lib
# this allows desktop-base to override our settings
f=/usr/share/desktop-base/grub_background.sh
if test -e ${f} ; then
. ${f}
else
WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png"
COLOR_NORMAL="black/black"
COLOR_HIGHLIGHT="magenta/black"
fi
set_mono_theme()
{
cat << EOF
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
EOF
}
# check for usable backgrounds
use_bg=false
for output in ${GRUB_TERMINAL_OUTPUT}; do
if [ "$output" = "gfxterm" ] ; then
for i in /boot/grub/`basename ${WALLPAPER}` ${WALLPAPER} ; do
if is_path_readable_by_grub $i ; then
bg=$i
case ${bg} in
*.png) reader=png ;;
*.tga) reader=tga ;;
*.jpg|*.jpeg) reader=jpeg ;;
esac
if test -e /boot/grub/${reader}.mod ; then
echo "Found background image: `basename ${bg}`" >&2
use_bg=true
break
fi
fi
done
break
fi
done
# set the background if possible
if ${use_bg} ; then
prepare_grub_to_access_device `${grub_probe} --target=device ${bg}`
cat << EOF
insmod ${reader}
if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=${COLOR_NORMAL}
set color_highlight=${COLOR_HIGHLIGHT}
else
EOF
fi
# otherwise, set a monochromatic theme for Ubuntu
if ${use_bg} ; then
set_mono_theme | sed -e "s/^/ /g"
echo "fi"
else
set_mono_theme
fi
オフライン
こんばんわ。書き忘れていた事があります。リンク先にもあるとうり、/etc/default/grubは
GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true
をコメントアウトします。
#GRUB_HIDDEN_TIMEOUT=0 #GRUB_HIDDEN_TIMEOUT_QUIET=true
の様にです。更に
#GRUB_GFXMODE=640x480
の部分を
GRUB_GFXMODE=640x480
のように#を外してから(640x480は解像度なので適宜直してください)その後に/etc/grub.d/40_customを編集する必要があります。
それでもダメだったとゆう事でしょうか?それならば仕方ありませんが・・・
結果を知らせて頂けると有難いです。他にhttp://viva-ubuntu.com/?p=3402も参考になると思います。
オフライン
Catalinaさん、
/etc/default/grub や /etc/grub.d/05_debian_theme の記述に問題は全くないです。
/etc/grub.d/05_debian_theme の冒頭が「/#!/bin/sh -e」になっているのは、貼り付ける時の何かのミスですよね。
もし本当にそうなっているなら、update-grubした時にエラーが出ますので。
それはそうと、grub2-splashimagesパッケージはインストールしてますか?
grub2-splashimagesパッケージで提供される、/usr/share/images/grub/Glasses_800_edit.tga というファイルは存在してますか?
参考までに、以下は私の実験環境での結果です。(実験環境はクリーンインストール後、殆ど何も変えていない環境です)
$ dpkg -l | grep grub2-splashimages
ii grub2-splashimages 1.0.1 a collection of great GRUB2 splashimages
$ ls /usr/share/images/grub/Glasses_800_edit.tga
/usr/share/images/grub/Glasses_800_edit.tga
$ sudo update-grub Generating grub.cfg ... Found background: /usr/share/images/grub/Glasses_800_edit.tga Found linux image: /boot/vmlinuz-2.6.35-25-generic Found initrd image: /boot/initrd.img-2.6.35-25-generic Found linux image: /boot/vmlinuz-2.6.35-24-generic Found initrd image: /boot/initrd.img-2.6.35-24-generic Found linux image: /boot/vmlinuz-2.6.35-23-generic Found initrd image: /boot/initrd.img-2.6.35-23-generic Found linux image: /boot/vmlinuz-2.6.35-22-generic Found initrd image: /boot/initrd.img-2.6.35-22-generic Found memtest86+ image: /boot/memtest86+.bin done
「Found background: ~」という行が出ます。
もちろんrebootすれば背景も出ます。
参考の為私のPCの/etc/grub.d/05_debian_themeと/etc/grub.d/40_customも載せておきます。
/etc/grub.d/05_debian_theme
#!/bin/bash -e
source /usr/lib/grub/grub-mkconfig_lib
# this allows desktop-base to override our settings
f=/usr/share/desktop-base/grub_background.sh
if test -e ${f} ; then
source ${f}
else
WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png"
COLOR_NORMAL="black/black"
COLOR_HIGHLIGHT="magenta/black"
fi
set_mono_theme()
{
cat << EOF
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
EOF
}
# check for usable backgrounds
use_bg=false
if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then
for i in /boot/grub/`basename ${WALLPAPER}` ${WALLPAPER} ; do
if is_path_readable_by_grub $i ; then
bg=$i
case ${bg} in
*.png) reader=png ;;
*.tga) reader=tga ;;
*.jpg|*.jpeg) reader=jpeg ;;
esac
if test -e /boot/grub/${reader}.mod ; then
echo "Found background image: `basename ${bg}`" >&2
use_bg=true
break
fi
fi
done
fi
# set the background if possible
if ${use_bg} ; then
prepare_grub_to_access_device `${grub_probe} --target=device ${bg}`
cat << EOF
insmod ${reader}
if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=${COLOR_NORMAL}
set color_highlight=${COLOR_HIGHLIGHT}
else
EOF
fi
# otherwise, set a monochromatic theme for Ubuntu
if ${use_bg} ; then
set_mono_theme | sed -e "s/^/ /g"
echo "fi"
else
set_mono_theme
fi/etc/grub.d/40_custom
#!/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. # BEGIN Acer Graphics Settings loadfont (hd0,3)/usr/share/grub/unicode.pf2 set gfxterm_font="20" insmod 915resolution 915resolution 5c 1366 768 set gfxmode="1366x768x32" set gfxpayload="1366x768x32" insmod gfxterm insmod vbe insmod tga terminal_output gfxterm background_image (hd0,3)/usr/share/images/grub/Fly-Angel.tga # END Acer Graphics Settings
オフライン
こんばんわ。
STGSAGWANさんかぶってしまい申し訳ありません。私の環境でも一応背景画面が出ていていますが正しくない設定ですか?
オフライン
こんにちは。catalinaです。
回答ありがとうございます。
>STGSAGWANさん
>/etc/grub.d/05_debian_theme の冒頭が「/#!/bin/sh -e」になっているのは、貼り付ける時の何かのミスですよね。
はい、張り付けミスしていました、申し訳ございません。
grub2-splashimagesは問題なく入っています。tgaファイルも存在しています。
念のためdokg -l |grep grub の結果を張り付けておきます。
ii grub-common 1.98+20100804-5ubuntu3 GRand Unified Bootloader, version 2 (common files)
ii grub-customizer 2.1.1-0ubuntu1~ppa1m Grub Customizer - A graphical Grub2/BURG configuration application
ii grub-pc 1.98+20100804-5ubuntu3 GRand Unified Bootloader, version 2 (PC/BIOS version)
ii grub2-splashimages 1.0.1 a collection of great GRUB2 splashimages
$ ls /usr/share/images/grub/Glasses_800_edit.tga
/usr/share/images/grub/Glasses_800_edit.tga
ファイルも間違いなく存在しています。
オフライン
こんにちわ。私の推奨する設定をすると、
$ sudo update-grub2 Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.35-25-generic Found initrd image: /boot/initrd.img-2.6.35-25-generic Found linux image: /boot/vmlinuz-2.6.35-24-generic Found initrd image: /boot/initrd.img-2.6.35-24-generic Found memtest86+ image: /boot/memtest86+.bin Found Windows 7 (loader) on /dev/sda1 Found Windows 7 (loader) on /dev/sda2 done
となり、
Found background image: hogehoge
とゆう様なメッセージは出ませんが、設定は上手くいっていてbackgroundが表示されますが(Toshiba dynabook AX/55A と acer Aspire one 751h)、
ノートパソコンの場合機種によって設定が反映されない場合があるのかもしれません。
使っているノートパソコンの機種を公表すれば同じ様な悩みのある人が判るかもしれませんよね?
オフライン
当方Ubuntu9.10で起動時の背景画像を張り付け運用していましたが、久し振りに本話題を拝見し
下記環境のもとで、#5 STGSAGWANさんの推奨される方法で実行してみました。
結果は、実に簡単Ubuntu9.10と比較し、デスクトップが表示されるまで、1枚の画像で済むし大変楽でした。
記
Ubuntu10.10Amd64:内蔵SATA30GB SSD
WindowsXp 64Bit:内蔵 SATA 128GB SSD
Ubuntu11.04Amd64:USB 8GB SSD(今回このGRUBのメニューに背景画をいれてみた)
ファイルを編集したのは /etc/grub.d/05_debian_themeのみです。
Catalinaさん
背景画が表示されないのは、/etc/grub.d/05_debian_themeファイルの異常です、#12で提示されている部分の抜粋ですが、行頭の「/」を取り除き保存しsudo update-grubを実行し再起動すれば背景画は表示されるはずです。
/#!/bin/sh -e←ここを#!/bin/sh -eにして保存
. /usr/lib/grub/grub-mkconfig_lib
参考に当方の/etc/grub.d/05_debian_themeを提示しておきます。
# 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=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
# 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"
#GRUB_BACKGROUND=/usr/share/images/grub/050817-N-3488C-028.tga#サイズ640X480ファイル名は大文字、小文字が区別される
GRUB_BACKGROUND=/home/uotora/1920-1200.jpg #サイズ1920x1200
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
オフライン
こんにちは。catalinaです。
皆様回答ありがとうございます。
>hiroppyさん
問題が起きているnotepcはlenovoのT510です。SSDではなく普通のHDDが搭載されています。
>3988さん
#17を参照していただくとおわかりいただけると思いますが、
先頭の/はペーストミスで付いたもので、実ファイルにはついていません。
STGSAGWANさんが#14で述べられているようにもし先頭に/がついていたら
update-grubが正常に終了しませんのでこの点は間違いなく大丈夫です。
ありがとうございます。
オフライン
#19の記述に一部間違いがありました。修正し再掲します。
当方Ubuntu9.10で起動時の背景画像を張り付け運用していましたが、久し振りに本話題を拝見し
下記環境のもとで、#5 STGSAGWANさんの推奨される方法で実行してみました。
結果は、実に簡単Ubuntu9.10と比較し、デスクトップが表示されるまで、1枚の画像で済むし大変楽でした。
記
Ubuntu10.10Amd64:内蔵SATA30GB SSD
WindowsXp 64Bit:内蔵 SATA 128GB SSD
Ubuntu11.04Amd64:USB 8GB SSD(今回このGRUBのメニューに背景画をいれてみた)
誤 ファイルを編集したのは /etc/grub.d/05_debian_themeのみです。
ファイルを編集したのは /etc/default/grubのみです。
Catalinaさん
背景画が表示されないのは、/etc/grub.d/05_debian_themeファイルの異常です、#12で提示されている部分の抜粋ですが、行頭の「/」を取り除き保存しsudo update-grub
を実行し再起動すれば背景画は表示されるはずです。
STGSAGWANさんが#14で指摘されている「Found background: /usr/share/images/grub/Glasses_800_edit.tga」が出現しない原因を取り除けば解決すると思います。
/#!/bin/sh -e←ここを#!/bin/sh -eにして保存
. /usr/lib/grub/grub-mkconfig_lib
誤 参考に当方の/etc/grub.d/05_debian_themeを提示しておきます。
参考に当方の/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=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
# 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"
#GRUB_BACKGROUND=/usr/share/images/grub/050817-N-3488C-028.tga#サイズ640X480ファイル名は大文字、小文字が区別される
GRUB_BACKGROUND=/home/uotora/1920-1200.jpg #サイズ1920x1200
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
オフライン
STGSAGWANさん による投稿:
Catalinaさんが /etc/grub.d/05_debian_theme を元に戻し、/etc/default/grubに「GRUB_BACKGROUND=/usr/share/images/grub /Glasses_800_edit.tga」を追記したら、通常なら背景がちゃんと出るはずなので.....もしそれで背景が出ないなら、本件にはもっと別の原因が潜んでいるってことです。
Catalinaさん による投稿:
うまく表現できないのですが、背景が表示されていた頃は画像のpath設定を失敗したりして画像が表示されなくても、解像度はしっかり高くなっていた様に思います。しかし画像が読み込まれない今、解像度すら設定しているものとは異なり、
また日本語によるメッセージ(cを押下するとgrubのコマンドが打てます、的なアレです)も化けてしまっています。
これらから考えられると、/etc/grub.d/00_headerが怪しいと思います。
#7の方法で00_headerも差し替えてみて下さい。
オフライン
みなさんこんばんは。catalinaです。
>jackalopeさん
回答ありがとうございます。
#7の方法でファイルを取り出そうとしたのですが、grub-dir/etc/grub.d/05_debian_themeしかできておらず、
初期状態の00_headerを獲得することができませんでした。
実はこの症状は、#7でSTGSAGWANさんに手順を教えていただいてのち、最初の実行の時点で出ておりました。
しかし、そのときの目的は初期状態の05_debian_themeを得ることだったので、問題だと感じていませんでした。
なにか手順が悪かったのでしょうか・・・・?
オフライン
Catalina による投稿:
#7の方法でファイルを取り出そうとしたのですが、grub-dir/etc/grub.d/05_debian_themeしかできておらず、
初期状態の00_headerを獲得することができませんでした。
#7の前半に書かれている、どのパッケージに含まれているのかの確認からしてください。
それはそれとして、
Catalina による投稿:
うまく表現できないのですが、背景が表示されていた頃は画像のpath設定を失敗したりして画像が表示されなくても、
解像度はしっかり高くなっていた様に思います。しかし画像が読み込まれない今、解像度すら設定しているものとは異なり、
また日本語によるメッセージ(cを押下するとgrubのコマンドが打てます、的なアレです)も化けてしまっています。
メッセージが化ける点についてはupdate-grubを実行する際の環境変数LANGにCを設定することで回避できると
わかりました。表示は英語になりますが。
この症状は下記参考リンクと同じ「gfxterm(プラスそれが依存する)モジュール自体は読み込まれてはいるものの、何らかの理由でgfxtermが作動せず、consoleモードで動作してしまっている」という状態ではないでしょうか。
参考: https://forums.ubuntulinux.jp/viewtopic.php?id=8603
参考: https://forums.ubuntulinux.jp/viewtopic.php?id=8615
※ 尚、gfxterm使用の可否をvbeinfoで確認するというのは間違いであった可能性があります。(私の環境では相変わらずvbeinfoによる640x480などの解像度情報は出力されないのですが、それでもUbuntu 10.04では叶わなかったgfxtermの作動がUbuntu 10.10では成されているためです)
これを確認するには、GRUBメニューでコンソールに切り替えて「lsmod」でgfxtermが読み込まれていることを確認し、そして「rmmod gfxterm」でモジュールを外してしまっても描画の動作が継続されるのか、という所を見たほうが良さそうな感じです。描画が継続されるようであれば、gfxtermが作動せずにconsoleモードで動作してしまっているものと思われます(Ubuntu 10.04調べ)。(メニューに戻るには「ESC」キーです。gfxtermが作動していた場合は描画がストップしてしまうはずですので、その場合は「Ctrl+Alt+Del」キーで再起動させると良いでしょう)
で、肝心の改善方法なんですが…、残念ながらわかりません。
こちらの環境では、Ubuntu 10.10のbetaだかrc辺りでgfxtermの作動を確認できていたのですが、リリース直後のUbuntu本家版でインストールし直したときには作動しなくなり、しかし後日日本語Remixでインストールしたところ再び問題なく作動するようになった、という経緯がありました。これらの節目はGRUB2のアップデートではなく "OSのインストール" なので、何らかの改善方法があるのかなぁと思えなくもないのですが、皆目見当もつかずです。
ということで情報のみとなりますが、何かしらの材料くらいにはなるだろうと思いますので、載せておきます。
オフライン
こんにちは。catalinaです。
たった今解決いたしました。不十分な箇所もありますが前進しましたのでご報告いたします。
Templerさんの投稿で、グラフィカルなgrubはgfxtermというモジュールのロードが必要だと分かり、この部分について
調べてみました。検索してヒットした
http://grub.enbug.org/gfxterm
を読んでいると、gfxtermの動作にはvideo,vbeの二つのモジュールがロードされていることが条件のように読み取れました。
grubからコンソールを起動しlsmodでこの二つについて調べてみたところ、Videoはロードされていましたが
vbeがロードされていませんでした。
試しにと下記手順でロードしなおしてみました。
insmod vbe
insmod gfxmode
set gfxmode=1600x900
terminal_output gfxterm
するとしっかりとgfxtermが起動し(何ヶ月ぶりかで感動すら覚えました)、OSを選択することもできました。
問題はvbeがロードされていないことだと解ったので、これがロードされるようにすればいいわけですが、
どこにどう記述するとそうなるのかがいまいちわかりませんでした。
なので、良くないこととはしりながら、/boot/gtub/grub.cfgを直接編集し、
insmod part_msdos
insmod ext2
set root='(hd0,msdos6)'
search --no-floppy --fs-uuid --set bf2140ed-801d-4386-99dd-b61d6698e1ed
if loadfont /usr/share/grub/unicode.pf2 ; then
insmod vbe #この行を追加
set gfxmode=1600x900
insmod gfxterm
としました。
これでvbeがロードされ、gfxermも正常に起動でき、背景も表示できました、
残る問題としては、update-grubを回すたびにこの追記処理が必要になることです。
/etc/grub.d/ 内のファイルや、 /etc/default/grub 等の中にinsmod vbeを記述することで
回避できるのだろうとはおもえども、どこに記述するのが適当(流儀的に)なのかがまだわかりません。
#insmod video している次の行とかにしようと思ったのですがこれも見当たらず
ほぼ解決、といえるのかな・・・。 って感じです。
皆様ありがとうございました。
>Templerさん
情報ありがとうございます。
かなり有力な手がかりとなりました。
オフライン