Ubuntu 24.04 HWEカーネルのバージョン固定方法|apt-mark holdで更新を止める手順

HOMEリナックスマスター.JP 公式ブログLinux学習ガイド, Linux学習ガイド > Ubuntu 24.04 HWEカーネルのバージョン固定方法|apt-mark holdで更新を止める手順
宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「Ubuntu 24.04 LTSで自動更新されたカーネルがドライバーとの相性問題を起こした」「本番環境のカーネルバージョンを変えたくない」
こういった場面でカーネルのバージョン固定(ピン留め)が必要になります。

この記事では、Ubuntu 24.04 LTSのHWE(Hardware Enablement)カーネルを特定バージョンに固定する方法を解説します。apt-mark holdを使った基本手順から、固定後の確認コマンドまで、Ubuntu 24.04で動作確認済みの内容でまとめています。

この記事のポイント

・apt-mark hold でカーネルパッケージのバージョンを固定する手順
・HWEカーネルとGAカーネルの違いと使い分け
・固定状態の確認方法と固定解除の手順
・本番環境でカーネルを固定すべき判断基準


Ubuntu 24.04 HWEカーネルのバージョン固定方法|apt-mark holdで更新を止める手順
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

HWEカーネルとは何か

Ubuntuには2種類のカーネルが存在します。

GAカーネル(Generic Availability):LTSリリース時点のカーネル。安定優先。
HWEカーネル(Hardware Enablement):最新ハードウェアをサポートするため、新しいカーネルを定期的に取り込む。

Ubuntu 24.04 LTSのGAカーネルはLinux 6.8です。HWEカーネルは6ヶ月ごとに新しいUbuntuリリースのカーネルを取り込むため、時間の経過とともに新しいカーネルが自動インストールされます。

現在のカーネルバージョンを確認するには次のコマンドを使います。

# 現在のカーネルバージョンを確認する uname -r # 出力例(GAカーネルの場合) # 6.8.0-51-generic # 出力例(HWEカーネルの場合) # 6.11.0-25-generic

どちらのカーネルを使っているか確認する方法

# インストール済みのカーネルパッケージを一覧表示する dpkg -l 'linux-image-*' | grep '^ii' # linux-image-generic-hwe-24.04 が表示されればHWEカーネルを使用中 # linux-image-generic が表示されればGAカーネルを使用中

カーネルバージョンを固定すべき場面

カーネルを特定バージョンに固定するのは、次のような場面です。

ドライバー互換性の問題:特定のGPUドライバー・NICドライバーが特定のカーネルバージョンに依存している場合
本番環境の安定性確保:カーネル更新による予期しない動作変化を避けたい場合
認証済みカーネルの維持:セキュリティ監査や認定を受けたカーネルバージョンを維持する必要がある場合
障害再現環境の保持:特定のカーネルバージョンで再現した問題を調査するために環境を維持する場合

注意:カーネルを固定するとセキュリティパッチが適用されなくなります。本番環境でカーネルを固定する場合は、その判断に相応のリスク管理が必要です。

apt-mark holdでカーネルを固定する手順

1. 現在のカーネルパッケージ名を確認する

# 現在動作中のカーネルバージョンを確認する uname -r # 例: 6.8.0-51-generic # カーネル関連のパッケージを一覧表示する dpkg -l | grep linux-image

2. 固定するカーネルパッケージを特定する

Ubuntu 24.04でカーネルを固定するには、カーネルパッケージを個別に指定します。

# 現在のカーネルバージョンのパッケージ名を確認する # (uname -rの出力から KERNEL_VERSION を組み立てる) KERNEL_VERSION=$(uname -r) echo "linux-image-${KERNEL_VERSION}" echo "linux-headers-${KERNEL_VERSION}" echo "linux-modules-${KERNEL_VERSION}"

3. apt-mark holdでカーネルパッケージを固定する

# カーネルパッケージをholdに設定する(バージョン固定) KERNEL_VERSION=$(uname -r) sudo apt-mark hold linux-image-${KERNEL_VERSION} sudo apt-mark hold linux-headers-${KERNEL_VERSION} sudo apt-mark hold linux-modules-${KERNEL_VERSION} # HWEメタパッケージも固定する(HWEカーネルを使用している場合) sudo apt-mark hold linux-image-generic-hwe-24.04 sudo apt-mark hold linux-headers-generic-hwe-24.04

実行すると次のような出力が表示されます。

linux-image-6.8.0-51-generic set on hold. linux-headers-6.8.0-51-generic set on hold. linux-modules-6.8.0-51-generic set on hold.

4. 固定状態を確認する

# holdに設定されたパッケージを一覧表示する apt-mark showhold # 出力例 # linux-headers-6.8.0-51-generic # linux-headers-generic-hwe-24.04 # linux-image-6.8.0-51-generic # linux-image-generic-hwe-24.04 # linux-modules-6.8.0-51-generic

HWEカーネルをGAカーネルに切り替える方法

HWEカーネルの自動更新を完全に止めるには、HWEメタパッケージを削除してGAカーネルに切り替える方法もあります。

# HWEカーネルメタパッケージを削除する sudo apt remove linux-image-generic-hwe-24.04 linux-headers-generic-hwe-24.04 # GAカーネルをインストールする(未インストールの場合) sudo apt install linux-image-generic linux-headers-generic # GRUBを更新する sudo update-grub

注意:この操作の後は再起動が必要です。再起動後、GAカーネルで起動していることを確認してください。

# 再起動後にカーネルバージョンを確認する uname -r # GAカーネルが動作している場合の出力例 # 6.8.0-51-generic

カーネルの固定を解除する方法

カーネルの固定を解除して再び自動更新を有効にするには、apt-mark unholdを使います。

# カーネルパッケージのhold設定を解除する KERNEL_VERSION=$(uname -r) sudo apt-mark unhold linux-image-${KERNEL_VERSION} sudo apt-mark unhold linux-headers-${KERNEL_VERSION} sudo apt-mark unhold linux-modules-${KERNEL_VERSION} # HWEメタパッケージのhold設定も解除する(必要に応じて) sudo apt-mark unhold linux-image-generic-hwe-24.04 sudo apt-mark unhold linux-headers-generic-hwe-24.04 # 解除後に最新パッケージに更新する場合 sudo apt update && sudo apt upgrade -y

トラブルシュート:よくあるエラーと対処法

apt-mark holdを実行してもカーネルが更新されてしまう

メタパッケージ(linux-image-generic-hwe-24.04等)を固定し忘れている場合に起きます。メタパッケージが固定されていないと、メタパッケージがカーネルの新バージョンを要求して更新が実行されます。

# holdに設定されているパッケージを再確認する apt-mark showhold # linux-image-generic-hwe-24.04 が表示されていない場合は固定されていない sudo apt-mark hold linux-image-generic-hwe-24.04

特定のカーネルバージョンをインストールしたい場合

新しいカーネルが既にインストールされてしまった後で、古いバージョンに戻したい場合は次の手順を使います。

# 利用可能なカーネルパッケージのバージョン一覧を確認する apt-cache showpkg linux-image-generic-hwe-24.04 # 特定バージョンのカーネルをインストールする sudo apt install linux-image-6.8.0-51-generic=6.8.0-51.52 # インストール後にGRUBを更新する sudo update-grub

GRUBで起動するカーネルを手動で選択する

複数のカーネルがインストールされている環境で、起動時に特定のカーネルを選択する方法です。

# GRUBメニューを表示するためにGRUBの設定を変更する sudo nano /etc/default/grub # GRUB_TIMEOUT_STYLE=hidden を GRUB_TIMEOUT_STYLE=menu に変更する # GRUB_TIMEOUT=0 を GRUB_TIMEOUT=5 に変更する(5秒待機) # 設定を反映する sudo update-grub # 再起動するとGRUBメニューが表示され、カーネルを選択できる sudo reboot


Ubuntu 24.04 HWEカーネルのバージョン固定方法|apt-mark holdで更新を止める手順 - まとめ

本記事のまとめ

やりたいこと コマンド
現在のカーネルバージョン確認 uname -r
カーネルパッケージを固定する sudo apt-mark hold linux-image-$(uname -r)
HWEメタパッケージを固定する sudo apt-mark hold linux-image-generic-hwe-24.04
固定されたパッケージを確認する apt-mark showhold
固定を解除する sudo apt-mark unhold linux-image-$(uname -r)
カーネルのバージョン固定は、本番環境の安定性を維持するための重要な操作です。特にドライバーとの互換性を確保する必要がある環境や、認定済みカーネルを維持する必要がある場合に有効です。

ただし、カーネルを固定するとセキュリティパッチが適用されなくなるため、固定期間中のリスク管理が必要です。定期的に最新のカーネルを検証環境でテストし、問題がなければ本番環境のholdを解除して更新することをお勧めします。

Ubuntuサーバーの運用を体系的に学びませんか?

カーネル管理を含むLinuxサーバーの運用スキルを基礎から学べます。現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

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

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

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

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

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

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

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

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

この記事を書いた人

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

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

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


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