このステップバイステップのチュートリアルでは、独自のNVIDIAドライバーをインストールして、起動時にUbuntuのフリーズに対処する方法を示します。チュートリアルは新しくインストールされたUbuntuシステムで実行されましたが、それ以外の場合にも適用できるはずです。
先日、さまざまなLinuxディストリビューションをテストするために、Acer Predatorラップトップ(アフィリエイトリンク)を購入しました。かさばる、頑丈なノートパソコンです。これは、すばらしいDellXPSのような小型で軽量のノートパソコンが好きなのとは対照的です。
PCでゲームをしていなくても、このゲーミングノートパソコンを選んだ理由はNVIDIAグラフィックスです。 Acer PredatorHelios300にはNVIDIAGeforceGTX1050Tiが付属しています。
NVIDIAは、Linuxとの互換性が低いことで知られています。多くのIt’s FOSS読者が、NVIDIAラップトップについて助けを求めましたが、NVIDIAグラフィックカードを備えたシステムがなかったため、何もできませんでした。
そのため、Linuxディストリビューションをテストするための新しい専用デバイスを入手することにしたとき、NVIDIAグラフィックスを搭載したラップトップを選びました。
このラップトップには、データを保存するための120GBSSDと1TBのHDDにWindows10がインストールされています。私はUbuntu18.04でWindows10をデュアルブートしました。インストールは迅速、簡単、そして簡単でした。
Ubuntuを起動しました。おなじみの紫色の画面が表示されていたのですが、そこで凍っていることに気づきました。マウスが動かず、何も入力できず、電源ボタンを押したままデバイスの電源を切る以外に何もできませんでした。
そして、それは次のログイン試行でも同じ話でした。ログイン画面に到達する前でも、Ubuntuは紫色の画面でスタックします。
おなじみですか?ログイン時にUbuntuがフリーズするこの問題を修正する方法を紹介します。
Ubuntuを使用しませんか?
このチュートリアルはUbuntu18.04で実行されましたが、Linux Mint、エレメンタリーOSなどの他のUbuntuベースのディストリビューションでも機能することに注意してください。ZorinOSで確認しました。
グラフィックドライバが原因で起動時にUbuntuがフリーズする問題を修正
この問題を修正する方法は、次のビデオで見ることができます。
その他のLinuxチュートリアルについては、YouTubeチャンネルに登録してくださいこのチュートリアルを2つのソリューションで更新しました。1つはIntelとNVIDIA/AMDの両方で機能し、もう1つはAMD/NVIDIAグラフィックカードを搭載したシステム専用です。 Linuxシステムにあるグラフィックカードを確認してください。
さらに遅れることなく、この問題を解決する方法を見てみましょう。
ステップ1:グラブを編集する
システムを起動するときは、次のようなGrub画面で停止します。この画面が表示されない場合は、起動時にShiftキーを押し続けてください。
この画面で「E」キーを押して編集モードに入ります。
以下のようなコードが表示されるはずです。 Linuxで始まる行に焦点を当てる必要があります。
ステップ2:GrubでLinuxカーネルパラメータを一時的に変更する
私たちの問題はNVIDIAグラフィックスドライバーにあることを忘れないでください。 NVIDIAドライバーのオープンソースバージョンとのこの非互換性が問題を引き起こしたので、ここでできることはこれらのドライバーを無効にすることです。
現在、これらのドライバーを無効にする方法はいくつかあります。私のお気に入りの方法は、nomodesetを使用してすべてのビデオ/グラフィックカードを無効にすることです。
Linuxで始まる行の最後に次のテキストを追加するだけです。通常どおりに入力できるはずです。行の最後に追加していることを確認してください。
nomodeset
これで、画面は次のようになります。
Ctrl + XまたはF10を押して、保存して終了します。ここで、新しく変更されたカーネルパラメータを使用して起動します。
ここで行ったことの説明(クリックして展開)
それで、私たちはここで何をしましたか?そのモードセットのないものは何ですか?簡単に説明させてください。
通常、ビデオ/グラフィックカードは、Xまたはその他のディスプレイサーバーの起動後に使用されました。つまり、システムにログインしてグラフィカルユーザーインターフェイスを表示したとき。
しかし最近、ビデオモードの設定はカーネルに移されました。他の利点の中でも、それはあなたが美しく、高解像度のブートスプラッシュスクリーンを持つことを可能にします。
nomodesetパラメーターをカーネルに追加すると、ディスプレイサーバーの起動後にビデオ/グラフィックスドライバーをロードするようにカーネルに指示します。
つまり、この時点でグラフィックドライバの読み込みを無効にすると、発生していた競合が解消されます。システムにログインした後、グラフィックカードが再度ロードされるため、すべてが表示されます。
トラブルシューティング:nomodesetを使用しても起動できない?
grubでnomodesetを使用しても機能せず、それでも起動できない場合は、nomodesetの代わりに他のパラメータを試してください。
上記と同じ手順に従います。 grubの編集中に、 nouveau.noaccel =1を追加します nomodesetの代わりに 。 grubを保存して終了し、今すぐ起動できるかどうかを確認します。
それでもうまくいかない場合は、 noapic noacpi nosplash irqpollを追加してみてください 静かなスプラッシュの代わりに グラブで。
ステップ3:Grubに永続的な変更を加えます(起動でき、グラフィックに問題がない場合)
警告!
場合によっては、グラフィックスドライバーをまったく使用しないか、オープンソースドライバーに切り替えると、解像度が低下する可能性があります。その場合は、別の手順3(次のセクション)で説明されているように、プロプライエタリドライバに切り替えてみてください。
今すぐシステムにログインできるからといって、まだ満足しすぎないでください。行ったことは一時的なものであり、次にシステムを起動したときに、グラフィックドライバを読み込もうとするため、システムはフリーズします。
これは、常にgrub画面からカーネルを編集する必要があることを意味しますか?ありがたいことに、答えはノーです。
Linuxカーネルがディスプレイサーバーの前にグラフィックスドライバーをロードしようとしないように、grub構成を変更するためにここでできること。
これを行うには、ターミナルを開き(Ctrl + Alt + Tショートカットを使用)、次のコマンドを使用してGeditエディターでgrub構成ファイルを開きます。
sudo gedit /etc/default/grub
このファイルを開くには、パスワードを使用する必要があります。テキストファイルを開いたら、次の行を探します。 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
。
この行を次のように変更します: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
次のようになります:
ファイルを保存し、grubを更新して、変更が有効になるようにします。次のコマンドを使用します:
sudo update-grub
完了したら、システムを再起動します。システムがフリーズすることはありません。
別のステップ3:起動できますが、グラフィックが奇妙に見えますか?システムを更新し、独自のグラフィックドライバをインストールします
前の手順で説明したようにGrubの構成を変更したくない場合は、代わりに、NVIDIAおよびAMD用のUbuntuに追加のドライバーをインストールできます。これらのプロプライエタリドライバを使用している間、Ubuntuは起動時にフリーズしません。
Ubuntuや他の多くのディストリビューションでは、プロプライエタリドライバーを簡単にインストールできます。 Ubuntuメニューで「AdditionalDrivers」を検索します。ここには、システム用の追加のグラフィックスドライバーがあります。
次のセクションをクリックして展開すると、追加のドライバーをインストールするための詳細な手順が表示されます。
独自のNVIDIAドライバーのインストール(詳細な手順)
新しくインストールしたシステムへの最初のログインだと思います。つまり、他のことをする前にUbuntuを更新する必要があります。 UbuntuでCtrl+Alt + Tキーボードショートカットを使用してターミナルを開き、次のコマンドを使用します。
sudo apt update && sudo apt upgrade -y
上記のコマンドの完了直後にUbuntuに追加のドライバーをインストールしてみることができますが、私の経験では、新しいドライバーを正常にインストールする前にシステムを再起動する必要があります。また、再起動するときは、以前と同じ方法でカーネルパラメータを再度変更する必要があります。
システムを更新して再起動したら、Windowsキーを押してメニューに移動し、[ソフトウェアと更新]を検索します。
次に、[追加のドライバー]タブに移動し、数秒待ちます。ここでは、システムで使用できる独自のドライバが表示されます。ここのリストにNVIDIAが表示されているはずです。
プロプライエタリドライバを選択し、[変更の適用]をクリックします。
新しいドライバのインストールには時間がかかります。システムでUEFIセキュアブートを有効にしている場合は、パスワードの設定も求められます。 覚えやすいものなら何にでも設定できます 。その影響については、ステップ4の後半で説明します。
インストールが完了すると、変更を有効にするためにシステムを再起動するように求められます。
MOKでの処理(UEFIセキュアブート対応デバイスのみ)
安全なブートパスワードを設定するように求められた場合は、「MOK管理」について何かを示すブルースクリーンが表示されます。これは複雑なトピックであり、簡単な言葉で説明しようと思います。
すべてのカーネルモジュールに署名する必要があるセキュアブート機能のため、MOK(マシン所有者キー)が必要です。 Ubuntuは、ISOで出荷されるすべてのカーネルモジュールに対してこれを行います。新しいモジュール(追加のドライバー)をインストールしたか、カーネルモジュールに変更を加えたため、安全なシステムはそれをシステムの不当な/外部の変更として扱い、起動を拒否する場合があります。
したがって、カーネルモジュールに自分で署名するか(これらの変更を行ったためにパニックにならないようにUEFIシステムに指示する)、または単にセキュアブートを無効にすることができます。
セキュアブートとMOKについて少し理解できたので、次のブートでブルースクリーンが表示されたら、次のブートで何をすべきかを見てみましょう。
[起動を続行]を選択すると、システムが通常どおりに起動し、何もする必要がなくなる可能性があります。ただし、新しいドライバーのすべての機能が正しく機能するとは限らない可能性があります。
そのため、登録MOKを選択する必要があります 。
次の画面で続行するように求められ、続いてパスワードを尋ねられます。前の手順で追加のドライバーをインストールするときに設定したパスワードを使用します。今すぐ再起動するように求められます。
心配しないでください!
このMOKのブルースクリーンを見逃したり、誤って[MOKを登録]ではなく[起動を続行]をクリックした場合でも、慌てる必要はありません。主な目的はシステムを起動できるようにすることであり、Nouveauグラフィックスドライバーを無効にすることでその部分を正常に実行できます。
最悪のケースは、システムがNVIDIAグラフィックスではなく統合Intelグラフィックスに切り替わったことです。 NVIDIAグラフィックスドライバは、後でいつでもインストールできます。システムを起動することが優先されます。
新しいドライバをインストールしたら、システムを再起動する必要があります。心配しないで!これで状況は改善され、カーネルパラメータを編集する必要がなくなります。すぐにUbuntuを起動します。
ステップ4:UbuntuLinuxを楽しむ
このチュートリアルが、起動時にUbuntuがフリーズする問題を修正し、Ubuntuシステムを起動できたことを願っています。
ご質問やご提案がございましたら、下のコメント欄でお知らせください。