web-dev-qa-db-ja.com

Grub2:カーネルブートコマンドを使用してグラフィックスドライバーを無効にすることは可能ですか?

ご質問

ここに私の質問があります:fglrx Linuxドライバーを無効にするか、GRUB構成を介してハードウェア間で互換性のない機能(3Dアクセラレーションなど)を抑制するために何かをすることは可能ですか?もしそうなら、これはどのように行われますか?

具体的には、私は複数のマシンで使用するSSDに好みのソフトウェア開発環境をセットアップしました。それらの一部のみに個別のRadeon GPUがあり、その他にはIntelのiGPUがあります。 Radeon GPUが搭載されたマシンでは、gmdはfglrxドライバーをスムーズに実行する必要があります(3Dアクセラレーションは特に、ドライバーがないと不安定です)。 iGPUまたはRadeon GPUを搭載したAMDデバイスを使用してIntelデバイスで起動できるように、GRUBで起動オプションを作成/選択できるようにする必要があります。

Grubのブートメニューの変更に関して私が見つけたすべての情報は古くなっているので、明確にするためにSUに問い合わせました。

バックグラウンド

PCにデュアルブートを設定しています。1つのSSDにWindows 7、もう1つのSSDにUbuntu Gnome 14.04を使用しています(主にソフトウェア開発にUbuntuを使用しています)。私は最近、いくつかのRadeon HD 7700からAMD R9 280にPCをアップグレードしました。その時点で、radeonドライバーは3Dアクセラレーションの機能を停止し、すべてが途切れました。その後、fglrxに切り替えたところ、すべての問題が解決しました。すべてが私のデスクトップの電子小宇宙でうまくいきました。

唯一の問題は、オフィス、住宅、都市の間を移動するときに、このUbuntu SSDをマシン間で転送することです。すべてのマシンにRadeon GPUがあるわけではないため、fglrxドライバーで問題が発生する可能性があります。たとえばちょうど今日、私はオフィスに行って、そこで与えられたコンピューターにSSDを入れました。 Intel CPUがあり、ディスクリートGPUはありません。 Grubは私のブートオプションを通常どおり表示しますが、Ubuntuを起動しようとすると(「フェイルセーフ」グラフィックモードであっても)失敗します。私は幸運にも私と一緒にライブUSBスティックを持っていたので、ライブディストリビューションを起動し、SSDにマウント/ chrootし、fglrxを削除/パージしてから再起動しました。

これは実際には最適なソリューションではありません。理想的なソリューションは、fglrx固有の3Dアクセラレーションなしで起動するgrubメニューオプションを作成することです。

さらに詳細

root@toor:/$ grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.3
root@toor:/$ uname -orvp
3.16.0-50-generic #67~14.04.1-Ubuntu SMP Fri Oct 2 22:07:51 UTC 2015 x86_64 GNU/Linux

Fglrxドライバーがインストールされている間、Intelマシンで起動するとかなり厄介な現象が発生します。画面に「Starting web server Apache ...」のような緑色の文字が表示され、どの仮想端末が選択されていても常に戻ります。 。ログインに約5分かかり、緑色のテキストが表示された画面が2〜10秒ごとに引き継がれていたため、Sudo rebootになりました(大幅に変動する予測不可能なタイミング)。 Ctrl + Alt + Delを押しても、マシンが再起動しない場合や、応答するまでに30分ほど遅れる場合があります。ただし、応答した場合は、gdmスプラッシュ画面が再起動する前に非常に短時間表示されました。

4
Jonathan Voss

nomodeset パラメータを使用する必要があります。

nomodeset

最新のカーネルは、ビデオモード設定をカーネルに移動しました。したがって、ハードウェア固有のクロックレートとビデオカードのレジスタのプログラミングはすべて、Xサーバーの起動時にXドライバーではなくカーネルで行われます。これにより、高解像度のスプラッシュ(ブート)画面とフリッカー起動スプラッシュからログイン画面への無料移行。残念ながら、一部のカードではこれが正しく機能せず、黒い画面が表示されます。 nomodesetパラメーターを追加すると、Xがロードされるまで、ビデオドライバーを読み込まず、代わりにBIOSモードを使用するようにカーネルに指示します。

このようにして、安全に起動し、ニーズに合った適切なドライブを選択するというビジネスをXに提供できます。プログラミングを一切行わず、単純なコマンドが

    dpkg-reconfigure xserver-xorg

(これはDebianとその派生物で動作します。これはあなたのケースです)あなたのケースでうまくいくかもしれません。

編集:

グラフィカルブートを完全に無効にすることができます。コピーする

      cp /etc/default/grub /etc/default/grub-orig

/ etc/default/grubを編集して、この行をコメント化し、

      #GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

この行を次のように変更します

      GRUB_CMDLINE_LINUX="text"

次にこの行のコメントを外し、

      GRUB_TERMINAL=console

保存して実行

       update-grub

再起動したときに、壊れたインストールがない場合は、テキストモードで親切になります。 Xを再構成した後、次のコマンドでグラフィカルセッションを開始できます。

       startx
6
MariusMatutiae