Ubuntu 26.04 カーネル管理の基本|HWE・GAの違いとアップデート制御コマンド

HOMEリナックスマスター.JP 公式ブログLinux学習ガイド, Ubuntu > Ubuntu 26.04 カーネル管理の基本|HWE・GAの違いとアップデート制御コマンド
宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「Ubuntu 26.04を入れたはいいけど、カーネルって勝手に上がるの?固定したい時はどうするの?」
そう感じている方に向けて、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で安全に掃除できる


Ubuntu 26.04 カーネル管理の基本|HWE・GAの違いとアップデート制御コマンド
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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

`uname -r` の結果が「今ブートに使われているカーネル」です。kernel更新後は必ずreboot→uname -rで確認するクセを付けておくと事故が減ります。

次にインストール済みカーネルを全部出します。

# インストール済みカーネルパッケージを一覧する $ 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

「`linux-image-generic` と `linux-image-6.14.0-15-generic` の違い」をよく聞かれます。前者はメタパッケージで、apt upgradeのたびに最新版を引き寄せます。後者はそのバージョンの実体です。後述する `apt-mark hold` の対象は通常メタパッケージ側です。

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

2つ以上並んでいればロールバック時にGRUBから古いカーネルを選び直せます。1つしかない状態は、トラブル発生時に逃げ場がない危険な構成です。

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再ビルド事故を抑える
「本番は絶対GA」というほど厳格な話ではありませんが、20年以上Linuxサーバーの構築・運用を見てきた経験から言うと、本番でHWEを選んでいいのは6カ月ごとのカーネル更新をテストできるチームがいる現場だけです。小規模インフラはGAの方が圧倒的に楽です。

今どちらを使っているかはメタパッケージを見れば一発です。

# どちらが入っているかを確認する $ 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` のみが入っていればGA、`linux-image-generic-hwe-26.04` が入っていればHWEです。両方は通常入りません。

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

「カーネルバージョンが変わってない」と感じるかもしれませんが正常です。Ubuntu LTSのリリース直後はHWEとGAが同じカーネルから始まり、HWE側だけが半年ごとに新カーネルへ上がる仕組みです。26.10がリリースされた頃にHWE環境のカーネルが自動的に上がり始めます。

逆方向(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 → GAの場合、現行カーネルがGA系列より新しいバージョンだと再起動で古いカーネルに戻ります。VirtualBoxやNVIDIA関連でカーネルモジュールを再ビルドしているなら、戻り先のカーネルでも動くか事前に確認してください。

HWE運用では管理パッケージ `linux-generic-hwe-26.04` を入れておくと、関連パッケージ(linux-image・linux-headers・linux-modules-extra)を一括追従できます。imageとheadersを別々に管理するより事故が少ないので推奨です。
Ubuntu 26.04 カーネル管理の基本|HWE・GAの違いとアップデート制御コマンド - 解説1

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しても、実体パッケージ(バージョン名入り)が新しい依存に引っ張られて入ることがあります。本気で固定するなら両方holdが鉄則です。

解除も同様です。

# 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 (何も出なければ全解除)

unattended-upgrades(自動更新)はholdされたパッケージを尊重するので、holdしておけば自動更新でカーネルが勝手に上がる事故は防げます。

注意点として、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

`--purge` を付けると設定ファイルも一緒に消えます。付けないと `/etc/` 配下にゴミが残ることがあるので、カーネル削除時は基本 `--purge` 推奨です。

特定のカーネルだけ消したい時はパッケージ名を直接指定します。

# 指定したカーネルだけを削除する $ 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

絶対にやってはいけないのが「現在動いているカーネル(uname -rで出るやつ)を消す」ことです。再起動できない・grubメニューにエントリが出ない、という最悪の状況になります。aptは一応保護してくれますが、`dpkg --force-remove-essential` のような強引な手段は使わないでください。

セーフティネットとして、削除候補に現在のカーネルが入っていないか目で確認する習慣を付けておくと安心です。

# 削除候補に「今動いているカーネル」が混ざっていないか確認する $ apt autoremove --purge --dry-run | grep "$(uname -r)" (何も出なければ安全。出力があれば削除を中止する)

セミナーでもautoremove実行前にこのワンライナーを叩く習慣を受講生に勧めています。1秒の確認で事故を防げます。

緊急時のロールバック(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

これでブート時に5秒間メニューが出ます。サーバーはリモート操作できないので、IPMI・iDRAC・iLO・KVMコンソール経由のアクセス手段を事前に確保してください。

ロールバック手順は「再起動して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

※ HTML上は `>` 表示ですが、コピー時は半角 `>` で入力してください。

`GRUB_DEFAULT` の値は `update-grub` 出力に出るメニューエントリ文字列を `>` 区切りで指定します。タイポすると次回起動でフォールバックされるので、変更後は必ず実機(またはVM)で再起動して挙動を確認してください。

ロールバック後の根本対応は症状別に切り分けが必要です。NVIDIA系ならドライバ再インストール、ネットワーク系ならlinux-modules-extra確認、Wayland絡みならXorgセッションへの切り替えなど、症状で対処が変わります。カーネル更新後にGUIが落ちた等のトラブルは「Ubuntu 26.04でよくあるトラブル12選|起動しない・ネット繋がらない・GUI落ちる時の対処」に症状別の対処をまとめてあるので合わせて参照してください。
Ubuntu 26.04 カーネル管理の基本|HWE・GAの違いとアップデート制御コマンド - まとめ

本記事のまとめ

項目 要点
カーネル確認 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でデフォルト変更
ここまでの6項目を押さえておけば、Ubuntu 26.04 LTSのカーネル管理で困ることはほぼなくなります。所要時間は慣れれば、確認から固定まで5分、切替やロールバックも再起動+10分程度です。

24.04から26.04へ移行中の方は「Ubuntu 24.04 LTSから26.04 LTSへのアップグレード手順|do-release-upgradeで本番サーバーを安全に移行するチェックリスト」と本記事を組み合わせると、アップグレード前のholdセット・後のカーネル整理がスムーズに進みます。

20年以上Linuxサーバーを見てきた中で、本番停止の原因として一番多いのが「予期せぬカーネル更新」と「/boot容量不足」の組み合わせでした。本記事の手順を運用ルーチンに組み込んでおくと、夜中に呼び出される回数が確実に減ります。カーネル管理は地味ですが、サーバー管理者の腕の見せどころです。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、Linux Master Pro Seminarでは少人数ハンズオン形式で実践的なスキルをお伝えしています。詳しくはセミナー案内ページをご確認ください。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。


Linux無料マニュアル(図解60P) 名前とメールで30秒登録