ある日突然Ubuntuの起動が止まった(ドライバ・CUDA要因と思われる)
- ブート途中で止まる・・・どうもドライバが読めていない模様
インフォメーション
再インストールに失敗した場合は起動しないので、リカバリモードで下ごしらえします
リカバリモードで起動する
- PC起動時にUEFI設定でタイトル画面を出しているとやりやすい
- すかさずESCを2,3かい連打
- GNU GRUB画面でAdvancedオプションを選択
- 起動しているLinuxのカーネルの(recovery mode)リカバリモード選択
- リカバリモードでGRUBを選択
結果1
軽度?の場合にはこちらのdpkgでパッケージ修復され起動します
リカバリモードでドライバ、CUDA周りを削除
- リカバリモードを起動するの手順でメニューを出します
- NETWORKを選択し、通信できるようにしておきます
- ROOTでログインします
注意
- "/usr/local/"を開き、cudaやご自身のインストールしたcudaバージョンのディレクトリがあることを確認
Nvidiaドライバ、Cuda削除
コマンド
apt purge nvidia*
apt purge cuda*
nouveau ドライバでの起動
- まずできる限り素の状態で起動
- 例としてCUDA Toolkitサイトの手順でインストールをします
- x86系のUbuntuの例です
ターミナル画面
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-3-local_12.3.2-545.23.08-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3
sudo cp /var/cuda-repo-ubuntu2204-12-3-local/cuda-*-keyring.gpg /usr/share/keyrings/ がNvidia ドライバインストール後に表示されない
- /usr/share/keyrings/ にすでに既存のものがないか確認
- 普通の状態なら上書きされると思うのですが・・・
締めの”sudo apt-get -y install cuda”後半でdpkg error頻発
- 535やCUDAなどのインストールできなかったパッケージ名が出てくる
- 普段ならやはり上書きするのでしょうがリポジトリなどお掃除が必要です
あれこれやりすぎてどうにもならない場合
ターミナル画面
:/usr/local$ ls
bin etc man games sbin include share lib src
- lspci | grep -i nvidia でnouveau以外のNvidia関連のファイルなど削除
Nvidia、CUDA絡みのファイルを一通り削除
グラフィック単体はOKだが、CUDA Toolkitのページの手順で失敗する
- まずはバージョンを合わせます
ターミナル画面
sudo dpkg -i cuda-repo-ubuntu2204-12-2-local_12.2.2-535.104.05-1_amd64.deb
(Reading database ... 552062 files and directories currently installed.)
Preparing to unpack cuda-repo-ubuntu2204-12-2-local_12.2.2-535.104.05-1_amd64.deb ...
Unpacking cuda-repo-ubuntu2204-12-2-local (12.2.2-535.104.05-1) ...
Setting up cuda-repo-ubuntu2204-12-2-local (12.2.2-535.104.05-1) ...
Configuration file '/etc/apt/sources.list.d/cuda-ubuntu2204-12-2-local.list'
==> Deleted (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** cuda-ubuntu2204-12-2-local.list (Y/I/N/O/D/Z) [default=N] ? O
# Oはダメでした!
バージョンが5XX以下同じなら問題なかったのでしょうが、思い切って上書きします
- yで最初にインストールできたドライバをうわがきします(Toolkitのほうがちょっとバージョン低くても)
このとき
- Nvidia ドライバはインストール成功しますが、CUDAのパッケージインストールがだめです。(dpkg error)
tips
If you tried a lot of solution from Ask Ubuntu, Stack over flow and several technical SNS, please make sure there is extra setting or not.
まとめと参考リンク
グラフィックはOKだがCUDAのインストールに失敗する場合
- /usr/local/にcudaディレクトリがあることを確認
- /usr/share/keyrings/ に使わないcudaやcudnnのキーが有ったら必要に応じて削除:cudaのインストールでdpkgエラーが出ている場合※
- /etc/apt/source.list.d/ に不要な設定がある場合は削除※CUDAインストール失敗時
- 削除したつもりでも最後にdpkgエラーがでる場合は上記の書き込み済みのものや未使用のリポジトリやディレクトリ、ファイルを削除
- 公式ドキュメントでカーネルバージョンが対応しているか確認
- 前回のトラブル解決時の対応
- 今回はCUDAがダメなのですが、くらげになってからトラブル多しな印象(個人の感想)
@tf63 さんの記事:基本的にこちらで解決されることが多いと思われます。
@jizo (地蔵) さんの記事:消しすぎてapt updateできない場合に有用