質問
質問は次のとおりです。fglrx Linux ドライバーを無効にしたり、grub 構成を介してハードウェア間で互換性のない機能 (3D アクセラレーションなど) を抑制するために何かを行うことは可能ですか? もし可能であれば、どのように行うのでしょうか?
具体的には、複数のマシンで使用する SSD 上に好みのソフトウェア開発環境をセットアップしましたが、そのうちの一部にのみ個別の Radeon GPU が搭載され、他のマシンには Intel の iGPU が搭載されています。Radeon GPU を搭載したマシンでは、gmd をスムーズに実行するために fglrx ドライバーが必要です (このドライバーがないと、3D アクセラレーションが特に不安定になります)。iGPU を使用する Intel デバイスまたは Radeon GPU を搭載した AMD デバイスで起動できるように、grub で起動オプションを作成/選択できる必要があります。
grub のブート メニューの変更に関して私が見つけた情報はすべて古くなっているため、SU を参照して説明を求めました。
背景
私の PC にはデュアル ブート セットアップがあります。1 つの SSD に Windows 7、もう 1 つの SSD に Ubuntu Gnome 14.04 をインストールしています (Ubuntu は主にソフトウェア開発に使用しています)。最近、PC を Radeon HD 7700 から AMD R9 280 にアップグレードしたところ、3D アクセラレーション用の Radeon ドライバーが機能しなくなり、すべてがカクつくようになりました。その後、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 マシンを起動すると、かなり厄介な現象が発生します。画面に「Web サーバー apache を起動しています...」のような緑色の文字が表示され、どの仮想端末を選択してもこの文字が繰り返し表示されます。ログインに約 5 分かかりましたが、sudo reboot
緑色の文字の画面が 2 ~ 10 秒ごとに表示され続けました (タイミングは大きく異なり、予測できません)。Ctrl + Alt + Del を押してもマシンが再起動しないことがあり、応答するまでに 30 秒ほど遅延することもありました。ただし、応答すると、再起動前に gdm スプラッシュ スクリーンがごく短時間表示されます。
答え1
あなたはノーモードセットパラメータ:
ノーモードセット
最新のカーネルでは、ビデオ モード設定がカーネルに移動されました。そのため、ビデオ カードのハードウェア固有のクロック レートとレジスタのプログラミングはすべて、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