web-dev-qa-db-ja.com

Grub2がカスタム解像度を使用しないのはなぜですか?

Ubuntu 12.10 GNOME Remixの実行

Grub2を取得して、1600x900の解像度を使用しようとしています。 。

私はvbeinfohwinfo --framebufferの両方をチェックしました:

モード0x037f:1600x900(+6400)、24ビット

この解決策は、以前のUbuntuおよびFedoraのインストールで機能しました。


なぜ効果がないのですか?さまざまな解像度を試しました...背景とフォントの色は変更可能です。

ご意見ありがとうございます。

7
beanaroo

モードを設定するときは、/etc/default/grubにもビット深度を含めるようにしてください。例:

GRUB_GFXMODE=1600x900x24

次の行も追加します。

GRUB_GFXPAYLOAD_LINUX=keep

Sudo update-grubを実行し、再起動して、機能するかどうかをお知らせください。

3
phoibos

GRUB_GFXMODEは無視されると思います(または、少なくともある時点ではそうでした)。あなたはいつでもVGAコードで伝統的な方法を試すことができます

  1. 最初にhwinfoをインストールします:

    Sudo apt-get install hwinfo

  2. 次に、hwinfo(優先解像度、24ビット)でvgacodeを取得します。

    Sudo hwinfo --framebuffer

    02:なし00.0:11001 VESAフレームバッファー
    [bios.464で作成]
    一意のID:rdCR.ku_DuSHewh1
    ハードウェアクラス:フレームバッファ
    モデル:「Intel(R)Sandybridge Mobile Graphics Controller」
    ベンダー:「Intel Corporation」
    デバイス:「Intel(R)Sandybridge Mobile Graphics Controller」
    サブベンダー:「Intel(R)SandybridgeモバイルグラフィックチップセットアクセラレーテッドVGA BIOS」
    サブデバイス:
    改訂:「ハードウェアバージョン0.0」
    メモリサイズ:63 MB + 960 kB
    メモリ範囲:0xd0000000-0xd3feffff(rw)
    モード0x0360:1366x768(+1408)、8ビット
    モード0x0361:1366x768(+2752)、16ビット
    モード0x0362:1366x768(+5504)、24ビット
    モード0x0363:1600x900(+1600)、8ビット
    モード0x0364:1600x900(+3200)、16ビット
    モードx0365:1600x900(+6400)、24ビット
    モード0x0366:1920x1080(+1920)、8ビット
    モード0x0367:1920x1080(+3840)、16ビット
    モード0x0368:1920x1080(+7680)、24ビット
    モード0x0307:1280x1024(+1280)、8ビット
    モード0x031a:1280x1024(+2560)、16ビット
    モード0x031b:1280x1024(+5120)、24ビット
    モード0x0305:1024x768(+1024)、8ビット
    モード0x0317:1024x768(+2048)、16ビット
    モード0x0318:1024x768(+4096)、24ビット
    モード0x0312:640x480(+2560)、24ビット
    モード0x0314:800x600(+1600)、16ビット
    モード0x0315:800x600(+3200)、24ビット
    モード0x0301:640x480(+640)、8ビット
    モード0x0303:800x600(+832)、8ビット
    モード0x0311:640x480(+1280)、16ビット
    構成ステータス:cfg = new、avail = yes、need = no、active = unknown

  3. /etc/default/grub(またはgrub-customizerを使用)の行を編集して、vga=0x0365またはvga=891(0x365は869)を含めます。

    Sudo gedit/etc/default/grub

    ...
    GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash vga = 891"
    ...

  4. Grub構成を更新します。

    Sudo update-grub

  5. 再起動して、何が起こったのか教えてください

1
Nick Andrik

私のために同じ問題を解決しました。ここで私がやったこと:

以前のフレームバッファを無効にし(私にとってはvga16fbでした)、uvesafbを有効にしました:

/etc/modprobe.d/blacklist-framebuffer.conf:

...
blacklist vga16fb

lsmod | grep fbコマンドを使用して、現在使用されているフレームバッファーを見つけることができます。

/etc/modprobe.d/framebuffer.conf:

options uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap

/ etc/modules:

...
uvesafb

次のステップは、uvesafbをinitrdイメージに入れることです。

/ etc/initramfs-tools/modules:

...
uvesafb mode_option=1680x1050-24 mtrr=3 scroll=ywrap

Initrdを再作成します:Sudo update-initramfs -u

今のところ、ブート後に高解像度コンソールが使用可能になっているはずです。次のタスクは、grub2を高解像度モードにすることです。いくつかの理由で、いくつかの重要なオプションが私のgrub構成ファイルにありませんでしたので、それらを/ etc/default/grubに追加しました:

GRUB_VIDEO_BACKEND="vbe"
GRUB_TERMINAL_OUTPUT="gfxterm"
GRUB_GFXMODE="1680x1050x24"
GRUB_GFXPAYLOAD_LINUX="1680x1050x24"

次のセクションについては定かではありませんが、必ずしも必要ではないかもしれませんが、ここでは/etc/grub.d/00_headerに対して行ったことを説明します。

ファイルのほぼ最上部には、いくつかのif [ "x${GRUB_...フォールバック演算子があります。さらに2つ追加しました。

if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1680x1050x24 ; fi
if [ "x${GRUB_GFXPAYLOAD_LINUX}" = "x" ] ; then GRUB_GFXPAYLOAD_LINUX=1680x1050x24 ; fi

そのファイルでテキストset gfxmode=${GRUB_GFXMODE}を見つけて、次のコードを次の行として挿入します。

set gfxpayload=${GRUB_GFXPAYLOAD_LINUX}

繰り返しますが、最新のgrub2に必要かどうかはわかりません(1.98があります)。今度はgrub構成ファイルを更新します。

Sudo update-grub2

そしてすべてが機能するはずです。

0
arzakon