カーネルの場所
100%

Kernel · レッスン 5

カーネルの場所

ディストリビューションが kernel image、initramfs、設定、symbol、version 別 module を配置する場所を学びます。

Linux ディストリビューションは通常、boot 可能な kernel artifact を /boot 以下へ保存します。ただし UEFI と Boot Loader Specification の layout では、/boot/boot/efi/efi などに mount された EFI System Partition または extended boot partition へ artifact を置く場合もあります。普遍的なパスを想定せず、mount と loader 設定を調べてください。

`/boot` 以下の Version 付きファイル

従来のディストリビューション layout には、次のものがあります。

  • vmlinuz-KERNEL_RELEASE:boot 可能な Linux kernel image
  • initrd.img-KERNEL_RELEASE または initramfs-KERNEL_RELEASE.img:early user-space image
  • config-KERNEL_RELEASE:package 化された kernel build に使った設定
  • System.map-KERNEL_RELEASE:kernel build の symbol-address map

名前は環境によって異なります。現代のディストリビューションで initrd と名付けられた file も、initramfs archive を含む場合があります。vmlinuz という命名規則だけでは、内部 compression や platform boot format は分かりません。ディストリビューションのツールで調べてください。

version 付き vmlinuz-* ファイルには通常何が含まれますか?

Initial RAM Filesystem と Build Metadata

initramfs には、対応するカーネルと root-storage design に必要な early module と tool が含まれていなければなりません。ファイル名が一致するだけでは不十分です。生成が古い、または失敗していると、boot entry は使えません。

config-* は、どの機能が built-in、modular、または省略されたかを理解する助けになります。System.map-* は symbolization と debugging に役立ちますが、address randomization、split debug information、distribution tooling によって使い方が変わります。これらは補助 artifact であり、代替 kernel ではありません。

initramfs が特定の kernel release と system configuration に結び付くのはなぜですか?

Version 別 Kernel Module

動作中 release の loadable module は通常、次の場所にあります。

$ printf '/lib/modules/%s\n' "$(uname -r)"

merged filesystem layout では、/usr/lib/modules/KERNEL_RELEASE へ解決される場合があります。インストール済みの各 kernel には、互換 module tree と dependency index が必要です。modprobe は release 固有 metadata を使い、disk 全体の任意の .ko file を検索するわけではありません。

動作中 kernel release の module を慣例的に格納する directory はどれですか?

Unified Kernel Image と Firmware Path

Unified Kernel Image(UKI)は、kernel、initrd、command line、metadata を一つにまとめられる署名済み EFI executable です。UKI は通常、別々の vmlinuz と initramfs file ではなく、EFI からアクセス可能な boot location に保存されます。

したがって、従来の /boot layout が空に見えても、kernel がインストールされていないとは限りません。findmnt、package database、boot-manager tool、loader 設定を使い、active artifact を対応付けます。

Unified Kernel Image が一つにまとめられるものはどれですか?

安全に容量を管理する

boot filesystem が満杯なら、まず mounted boot path を対応付け、各 artifact をどの package が所有するか問い合わせます。package manager の kernel cleanup workflow を使い、動作中 kernel と既知の正常な fallback を保持し、boot entry を再生成または確認して、その後の空き容量を検証します。

古いというだけで vmlinuz、initramfs、UKI、module tree を手動削除しないでください。現在動作中でなくても、唯一 boot 可能な recovery entry である場合があります。

レッスン完了

カーネルの場所 を完了しました

これで、kernel package を boot artifact と module artifact へ対応付けられます。

  • 実際の /boot と EFI 関連 mount を調べる。

  • kernel image、initramfs、config、symbol map を区別する。

  • module tree を正確な kernel release と一致させる。

  • Unified Kernel Image とディストリビューション固有 layout を考慮する。

  • 検証済み package と fallback plan を通じてのみ boot 容量を回収する。

学習進捗を保存

無料アカウントを作成してこのレッスンを保存し、どのデバイスからでも学習を続けられます。

無料アカウントを作成
次のレッスン
Kernel に戻る