GRUB2およびカーネルvga =パラメーター


16

ドキュメントによると、vga=カーネルパラメーターの使用はGRUB2で非推奨になりました。一部の新しいカーネルが特定のアダプターでサポートしていないように見えるという事実は、私が持っているグラフィックスカードが7〜8年前のものであるため、問題ではありません。

問題は、デフォルトの80x25文字ではなく、80x50などの高解像度テキストモードを使用したいということです。どうやらすべてのグラフィックス(VBE / VESA)モードはこのグラフィックスカード(ATI Rage XL)の対象外です-利用可能なモードのリストは0を通してのみ表示され6ます。6でも80x60恐ろしいように見えるので、1(80x50)にしたいと思います。

デフォルトモードがサポートされていない場合(デフォルトはコメントアウトGRUB_TERMINAL=console)、使用可能なモードのリストを取得した後、80x50および80x60が動作するのを確認し、選択するように求められました。

カーネルコマンドラインすべての使用GRUB_GFXMODE(プリロードvbeモジュールの有無にかかわらず)を設定して、GRUB_GFXPAYLOAD_LINUX=keep失敗する場合、モードを設定するにはどうすればよいですか?このように失敗します:このマシンにあるカードのグラフィックモードが無効であるため、画面が空白のままになりますか?

私の考えはnomodesetまだカーネルに渡すことですが、ブートローダーはグラフィックモードを設定する必要があります。そして、それvga=を行うためのカーネルパラメーター以外のオプションは表示されません。

注:vbetestvideotestGRUB2コンソール意志の空白のコマンド画面と、画面には何のビデオ入力がないと主張した後、スリープモードに切り替わります。vbeinfoそしてvideoinfo上記以外のいくつかの利用可能なモードを示したが、これは設定されるべきところのない言及はありません。また、カーネルコマンドラインでvga=1(なしでnomodeset)を渡すと、廃止されることについて非常に短い警告が表示されますが、完全に読むには長すぎdmesgます。出力はに表示されません。



このvgaパラメーターは、カーネルではなくカーネルに適用されますgrub2grub2開発者がどのように単純な複合体を作成しようとしても、カーネルがこのパラメーターを理解している限り、それは機能します。
アジェ

回答:


9

おそらくgrub2によって非推奨になりましたが、それでも動作するはずであり、動作し続ける必要があります。それは、grub2とdebian wheezyおよびrhel7.3(2017年1月に確認済み)を使用して動作します。また、公式ドキュメントによると、非推奨ではありません。

https://www.kernel.org/doc/Documentation/x86/boot.txt

ブートローダーが提供するコマンドラインをユーザーが入力した場合、ユーザーは次のコマンドラインオプションが機能することを期待する場合があります。それらのすべてが実際にカーネルにとって意味があるわけではありませんが、通常はカーネルコマンドラインから削除しないでください。

vga =は、整数(C表記、10進数、8進数、16進数のいずれか)、または文字列「normal」(0xFFFFを意味する)、ext(0xFFFEを意味する)、または「ask」(0xFFFDを意味する)のいずれかです。この値は、コマンドラインが解析される前にカーネルによって使用されるため、vid_modeフィールドに入力する必要があります。

そして、https://www.kernel.org/doc/Documentation/svga.txtは、あなたが知る必要があるすべてを教えてくれます。以下に、私がよく使用する解像度の例をいくつか示します。

vga=0x31b --> 1280x1024x32
vga=0x34d --> 1600x900x32
vga=0x31e --> 1600x1200x32

サポートされているモードのリストを取得するには、次を使用します。

vga=ask

私が見つけた1024×768x24の画面では、私が使用するほとんどすべてのシステムとモニターで動作します(今回は10進数と16進数)

vga=792
vga=0x318

1
私が編集したときにこれが私の作品/etc/default/grub付加することでvga=792、既存の値にGRUB_CMDLINE_LINUX
シャシャンク・ビャス

本日のUbuntuアップデートは、新しいgrub UEFIブートスタッフをインストールvga=currentし、クラッシュダンプスタッフとともに追加するコマンドラインの変更を提案しました。私は変更を拒否したが何を思ってここに来たvga=current意味しました。
WinEunuuchs2Unix

2

vgaパラメータはlinux16およびinitrd16コマンドで引き続きサポートされているため、「linux」を「linux16」または「initrd」を「initrd16」に変更すると、古い動作を取得できます。他にどのような変化が生じるのかはわかりませんが、それで十分に機能しました。:-)


1
これは素晴らしいアドバイスです!eを押してgrub2で編集し、linuxと表示されている場所に移動して、最後に16を入力します。次に、行の最後にvga = askを配置できます。カーネルでフレームバッファがまだ有効になっている場合は、おそらく、すぐに高速VGAテキストからそのモードに切り替わるでしょう。
アレックスキャノン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.