質問: 4.4.0-116カーネルにアップグレードした後のログインループ:グラフィカルログイン画面->黒い画面->グラフィカルログイン画面 apt upgrade && rebootの後にデスクトップ環境にログインできない:パスワードを入力すると、画面がちらつき、ログイン画面に戻ります。端末からログイン(ctrl+alt+f1) 正常に動作します。/var/log/xorg.0.logのコメント: (ee)nvidia:nvidiaカーネルモジュールの初期化に失敗しました。をご覧ください (ee)nvidia:追加のエラーメッセージとシステムのカーネルログ (ee)nvidia:詳細については、nvidia readmeを参照してください。 (ee)デバイスは検出されません。 $ dmesgのコメント: nvidia:バージョンマジック「4.4.0-116-generic smp mod_unload modversions」は「4.4.0-116-generic smp mod_unload modversions retpoline」である必要があります nvidiaドライバーを手動でロードしようとすると失敗します。$ sudo modprobe nvidia modprobe: error: could not insert 'nvidia': exec format error 関連: カーネルのアップグレード後にvirtualboxが起動しない
回答: ask ubuntuがそのたわごとの正しい場所であるかどうかはわかりませんが、私がneed new g++であり、カーネルを定期的に更新しているので、bashスクリプトを書きました( 1)ppa:ubuntu-toolchain-r/testをパージし、(2)選択したカーネルのすべてのdkmsモジュールを再構築します。(3)g++-7をインストールしますback — この回答ごと 。スクリプトは「現状のまま」提供され、いかなる種類の保証もありません。 すべての行の意味を理解しない限り、使用しないでください。 手動でできることをするときの時間を節約するためのものです(理解できない「魔法」をするためではありません)。スクリプト:#!/bin/bash -e for list in /etc/apt/sources.list.d/ubuntu-toolchain-r*.list; do sudo cp -a "$list" "$list.backup" echo "backed up $list to $list.backup" done sudo ppa-purge ppa:ubuntu-toolchain-r/test readarray -t kernels < <(ls -1 /lib/modules) echo "kernels: ${kernels[*]}" for kernel in "${kernels[@]}"; do dkms_modules=($(sudo dkms status -k "$kernel" | sed -r 's#^([^,]+), ([^,]+), .*$#\1/\2#')) while true; do echo read -p "reinstall dkms-modules (${dkms_modules[*]}) on kernel $kernel? [y/n] " choice if [ "${choice^^}" = n ]; then continue 2; fi if [ "${choice^^}" = y ] || [ -z "$choice" ]; then break; fi echo "expected 'y', 'n' or '', but got '$choice'" done echo for dkms_module in "${dkms_modules[@]}"; do sudo dkms remove -k "$kernel" "$dkms_module" sudo dkms install -k "$kernel" "$dkms_module" done echo for module in /lib/modules/"$kernel"/updates/dkms/*.ko; do vermagic="$(modinfo -f vermagic $module)" echo -n "vermagic for $(basename ${module%.ko}): $vermagic -- " fgrep -q retpoline <<<"$vermagic" && echo ok || echo "'retpoline' is missing!!!" done done for list in /etc/apt/sources.list.d/ubuntu-toolchain-r*.list; do sudo mv "$list.backup" "$list" echo "restored $list from $list.backup" done sudo apt update sudo apt install g++-7 sudo apt dist-upgrade