この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
そう感じている方に向けて、Ubuntu 26.04 LTSのカーネル管理を、確認・選択・固定・掃除・ロールバックの順で1ページにまとめます。
本番サーバーでカーネルが勝手に上がって困った経験は、サーバー管理者なら一度はあるはずです。私自身、夜中にunattended-upgradesでカーネルが上がり、翌朝NVIDIAドライバが噛み合わずに画面が真っ黒、という事故を何度か見てきました。
この記事では、Ubuntu 26.04 LTSにおけるカーネルの確認方法、HWEとGAの違い、apt-mark holdでの固定、古いカーネルの掃除、GRUBからのロールバックまでを、コマンド例と実出力を交えて解説します。全体像は「Ubuntu 26.04 LTS 変更点まとめ」を、インストール直後のカーネル確認は「Ubuntu 26.04 LTS インストール手順|USBメモリ作成からデスクトップ起動まで全工程」の動作確認セクションを、サーバー初期設定とあわせて自動更新設定を考えたい方は「Ubuntu 26.04 サーバー初期設定10項目|SSH・UFW・自動更新・タイムゾーンまで」を先に読んでおくと、本記事がサーバー運用にはまります。
この記事のポイント
・カーネル確認はuname -r・hostnamectl・dpkg --listの3点セットで行う
・サーバーはGA、新しめのハードを使うデスクトップはHWEが基本
・apt-mark hold linux-image-genericで自動更新を止められる
・古いカーネルはapt autoremove --purgeで安全に掃除できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
uname -r・hostnamectl・dpkg --list でのカーネル確認3パターン
カーネル管理の最初の一歩は、今動いているカーネルと、システムにインストールされている全カーネルを区別して把握することです。この2つを混同すると、「holdしたつもりが古いカーネルで起動していた」というハマり方をします。確認の3点セットは以下です。
・uname -r:今この瞬間に動いているカーネルバージョン
・hostnamectl:OS情報とカーネルをまとめて表示(systemd標準)
・dpkg --list | grep linux-image:インストール済みカーネルパッケージの一覧
順に見ていきます。
# 1. 今動いているカーネルのバージョン $ uname -r 6.14.0-15-generic # 2. アーキテクチャと合わせて見たい時 $ uname -a Linux web01 6.14.0-15-generic #16-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux # 3. systemd標準のhostnamectlで一覧化 $ hostnamectl Static hostname: web01.example.local Icon name: computer-vm Chassis: vm Machine ID: 9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d Boot ID: 1234567890abcdef1234567890abcdef Virtualization: kvm Operating System: Ubuntu 26.04 LTS Kernel: Linux 6.14.0-15-generic Architecture: x86-64
次にインストール済みカーネルを全部出します。
# インストール済みカーネルパッケージを一覧する $ dpkg --list | grep linux-image ii linux-image-6.14.0-12-generic 6.14.0-12.12 amd64 Signed kernel image generic ii linux-image-6.14.0-15-generic 6.14.0-15.15 amd64 Signed kernel image generic ii linux-image-generic 6.14.0-15.15 amd64 Generic Linux kernel image # メタパッケージだけを確認したい場合 $ dpkg --list | grep -E 'linux-image-(generic|hwe)' ii linux-image-generic 6.14.0-15.15 amd64 Generic Linux kernel image
GRUBの起動メニューに何が並んでいるかは `/boot` 配下を見るのが確実です。
# /bootに置かれているカーネルイメージ $ ls -lh /boot/vmlinuz-* -rw------- 1 root root 14M 4月 10 03:21 /boot/vmlinuz-6.14.0-12-generic -rw------- 1 root root 14M 4月 18 03:21 /boot/vmlinuz-6.14.0-15-generic
HWE(Hardware Enablement)とGA(General Availability)の違いと選び方
Ubuntu LTSには「同じLTSを名乗りながら2系統のカーネル」が存在します。これが分かりにくさの根本原因です。・GA(General Availability)カーネル:そのLTSのリリース時点のカーネル。サポート期間中は同じメジャーバージョンを維持
・HWE(Hardware Enablement)カーネル:後発の中間リリース(非LTS)由来の新しいカーネルを、6カ月ごとに引き上げて提供
具体的にUbuntu 26.04 LTSで言うと、こうなります。
# GAカーネル(26.04 LTSリリース時点で固定される系統) linux-image-generic → 6.14系を維持 # HWEカーネル(次のLTSまで段階的に新しいカーネルへ) linux-image-generic-hwe-26.04 → 26.10、27.04、27.10由来へ順次更新
| 用途・環境 | 推奨カーネル | 理由 |
|---|---|---|
| 本番サーバー(VM・既知のハード) | GA | カーネル更新が穏やか、運用検証が簡単 |
| クラウドVM(AWS/GCP/Azure) | GA | クラウド側ドライバが既に枯れている |
| 新しめのノートPC・新型GPU | HWE | 新ハードのドライバが新しいカーネルに入っている |
| デスクトップ用途全般 | HWE | Wi-Fi・GPUのトラブルが減る |
| NVIDIA独自ドライバを使う環境 | GA | カーネル更新時のDKMS再ビルド事故を抑える |
今どちらを使っているかはメタパッケージを見れば一発です。
# どちらが入っているかを確認する $ dpkg --list | grep -E 'linux-image-(generic|generic-hwe)' ii linux-image-generic 6.14.0-15.15 amd64 Generic Linux kernel image # HWEの場合は以下のように出る ii linux-image-generic-hwe-26.04 6.14.0-15.15 amd64 Hardware Enablement kernel
linux-image-generic と linux-image-generic-hwe-26.04 の切り替え手順
※ リリース直後はHWEメタパッケージ未提供の場合があります。`apt-cache search linux-image-generic-hwe-26.04` で実在確認し、無ければGAのままで問題ありません。GAとHWEの切り替えは難しくありませんが、再起動が必要なので本番ではメンテナンス時間を確保してください。
基本フローは「新メタパッケージ導入→旧メタパッケージ削除→再起動→uname -rで確認」の4手順です。
# GA → HWE への切り替え $ sudo apt update $ sudo apt install -y linux-image-generic-hwe-26.04 linux-headers-generic-hwe-26.04 $ sudo apt remove -y linux-image-generic linux-headers-generic $ sudo reboot # 再起動後、HWEカーネルで動いているか確認する $ uname -r 6.14.0-15-generic ← 26.04リリース直後はGAと同じバージョン $ dpkg --list | grep linux-image-generic-hwe ii linux-image-generic-hwe-26.04 6.14.0-15.15 amd64 Hardware Enablement kernel
逆方向(HWE → GA)も同じ手順で入れ替えるだけです。
# HWE → GA への切り替え $ sudo apt update $ sudo apt install -y linux-image-generic linux-headers-generic $ sudo apt remove -y linux-image-generic-hwe-26.04 linux-headers-generic-hwe-26.04 $ sudo reboot
HWE運用では管理パッケージ `linux-generic-hwe-26.04` を入れておくと、関連パッケージ(linux-image・linux-headers・linux-modules-extra)を一括追従できます。imageとheadersを別々に管理するより事故が少ないので推奨です。
apt-mark hold/unhold で特定バージョンを止める
「特定バージョンで運用検証を済ませた。次のapt upgradeで勝手に上がってほしくない」という場合が `apt-mark hold` の出番です。基本は hold(固定)・unhold(解除)・showhold(一覧)の3つだけ覚えれば十分です。# 現在のカーネルバージョンとメタパッケージを確認する $ uname -r 6.14.0-15-generic $ dpkg --list | grep linux-image-generic ii linux-image-generic 6.14.0-15.15 amd64 Generic Linux kernel image # メタパッケージと実体パッケージの両方をhold(推奨) $ sudo apt-mark hold linux-image-generic linux-headers-generic linux-image-generic 設定済みで保留と設定されました。 linux-headers-generic 設定済みで保留と設定されました。 $ sudo apt-mark hold linux-image-6.14.0-15-generic linux-headers-6.14.0-15-generic linux-image-6.14.0-15-generic 設定済みで保留と設定されました。 linux-headers-6.14.0-15-generic 設定済みで保留と設定されました。 # hold状態の確認 $ apt-mark showhold linux-headers-6.14.0-15-generic linux-headers-generic linux-image-6.14.0-15-generic linux-image-generic
解除も同様です。
# holdを解除する $ sudo apt-mark unhold linux-image-generic linux-headers-generic linux-image-generic 保留設定が削除されました。 linux-headers-generic 保留設定が削除されました。 $ sudo apt-mark unhold linux-image-6.14.0-15-generic linux-headers-6.14.0-15-generic # 解除を確認する $ apt-mark showhold (何も出なければ全解除)
注意点として、holdはセキュリティパッチも当たらなくなることを意味します。長期間holdしっぱなしは脆弱性放置になるので、四半期に1回は見直して「検証→新バージョン移行→再度hold」のサイクルを回すのが安全です。
古いカーネルの掃除(autoremove・purge)
カーネルは更新のたびに `/boot` に積まれます。`/boot` を別パーティションで1GB前後に切っていると、すぐ容量不足で apt upgrade が失敗します。「No space left on device」が `/boot` で発生して apt が止まる、はサーバー運用あるあるです。古いカーネルの掃除は定期メンテナンスに組み込みましょう。基本は `apt autoremove --purge` で十分です。# 不要パッケージ(古いカーネル含む)を一覧する $ apt autoremove --purge --dry-run | grep -E '^Remv|linux-image' Remv linux-image-6.14.0-12-generic [6.14.0-12.12] Remv linux-headers-6.14.0-12-generic [6.14.0-12.12] Remv linux-modules-6.14.0-12-generic [6.14.0-12.12] # 実行する $ sudo apt autoremove --purge -y # 掃除後の/boot $ ls -lh /boot/vmlinuz-* -rw------- 1 root root 14M 4月 18 03:21 /boot/vmlinuz-6.14.0-15-generic # /bootの空き容量 $ df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda2 960M 180M 720M 21% /boot
特定のカーネルだけ消したい時はパッケージ名を直接指定します。
# 指定したカーネルだけを削除する $ sudo apt purge -y linux-image-6.14.0-12-generic linux-headers-6.14.0-12-generic linux-modules-6.14.0-12-generic # 関連パッケージが残っていれば追加で掃除 $ sudo apt autoremove --purge -y
セーフティネットとして、削除候補に現在のカーネルが入っていないか目で確認する習慣を付けておくと安心です。
# 削除候補に「今動いているカーネル」が混ざっていないか確認する $ apt autoremove --purge --dry-run | grep "$(uname -r)" (何も出なければ安全。出力があれば削除を中止する)
緊急時のロールバック(GRUBメニューから前カーネル起動)
カーネル更新後に「画面が真っ黒」「NICを認識しない」「特定のドライバが消えた」という症状が出ることがあります。この時に頼りになるのがGRUBの「Advanced options」から前のカーネルを選ぶロールバックです。事前準備として、GRUBメニューが起動時に表示される設定に変えておきます。
# GRUB設定ファイルを編集する $ sudo vi /etc/default/grub # 以下を確認・変更する GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=5 GRUB_DEFAULT=0 # 設定を反映する $ sudo update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-6.14.0-15-generic Found initrd image: /boot/initrd.img-6.14.0-15-generic Found linux image: /boot/vmlinuz-6.14.0-12-generic Found initrd image: /boot/initrd.img-6.14.0-12-generic done
ロールバック手順は「再起動してGRUBメニュー表示(Shift長押しで強制表示も可)→Advanced options for Ubuntu→古いカーネル選択→起動後uname -rで確認」の4ステップです。
古いカーネルで起動できたら、不調を起こした新カーネルを削除して当面そちらを使わない設定にします。
# 不調を起こした新カーネルを削除する(例:6.14.0-15-genericが不調) $ sudo apt purge -y linux-image-6.14.0-15-generic linux-headers-6.14.0-15-generic linux-modules-6.14.0-15-generic # 古いカーネルでholdを設定して、再度新版が入ってこないようにする $ sudo apt-mark hold linux-image-generic linux-headers-generic $ sudo apt-mark hold linux-image-6.14.0-12-generic linux-headers-6.14.0-12-generic # 起動デフォルトを古いカーネルに固定する場合 $ sudo vi /etc/default/grub GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.14.0-12-generic" $ sudo update-grub
`GRUB_DEFAULT` の値は `update-grub` 出力に出るメニューエントリ文字列を `>` 区切りで指定します。タイポすると次回起動でフォールバックされるので、変更後は必ず実機(またはVM)で再起動して挙動を確認してください。
ロールバック後の根本対応は症状別に切り分けが必要です。NVIDIA系ならドライバ再インストール、ネットワーク系ならlinux-modules-extra確認、Wayland絡みならXorgセッションへの切り替えなど、症状で対処が変わります。カーネル更新後にGUIが落ちた等のトラブルは「Ubuntu 26.04でよくあるトラブル12選|起動しない・ネット繋がらない・GUI落ちる時の対処」に症状別の対処をまとめてあるので合わせて参照してください。
本記事のまとめ
| 項目 | 要点 |
|---|---|
| カーネル確認 | uname -r(現行)・hostnamectl(OS情報込み)・dpkg --list(全パッケージ)の3点 |
| GAとHWE | サーバー・クラウドはGA、新しめのデスクトップはHWEが基本 |
| 切り替え | linux-image-generic ⇔ linux-image-generic-hwe-26.04 を入れ替えて再起動 |
| 固定 | apt-mark hold linux-image-generic linux-headers-generic(メタと実体の両方) |
| 掃除 | apt autoremove --purge、現行カーネルが候補に入っていないか事前確認 |
| ロールバック | GRUB Advanced optionsから旧カーネル選択、update-grubでデフォルト変更 |
24.04から26.04へ移行中の方は「Ubuntu 24.04 LTSから26.04 LTSへのアップグレード手順|do-release-upgradeで本番サーバーを安全に移行するチェックリスト」と本記事を組み合わせると、アップグレード前のholdセット・後のカーネル整理がスムーズに進みます。
20年以上Linuxサーバーを見てきた中で、本番停止の原因として一番多いのが「予期せぬカーネル更新」と「/boot容量不足」の組み合わせでした。本記事の手順を運用ルーチンに組み込んでおくと、夜中に呼び出される回数が確実に減ります。カーネル管理は地味ですが、サーバー管理者の腕の見せどころです。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Ubuntu 24.04 LTSから26.04 LTSへのアップグレード手順|do-release-upgradeで本番サーバーを安全に移行するチェックリスト
- この記事の属するカテゴリ:Linux学習ガイド・Ubuntuへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます