Linux ディストリビューションは通常、boot 可能な kernel artifact を /boot 以下へ保存します。ただし UEFI と Boot Loader Specification の layout では、/boot、/boot/efi、/efi などに mount された EFI System Partition または extended boot partition へ artifact を置く場合もあります。普遍的なパスを想定せず、mount と loader 設定を調べてください。
Kernel · レッスン 5
カーネルの場所
ディストリビューションが kernel image、initramfs、設定、symbol、version 別 module を配置する場所を学びます。
`/boot` 以下の Version 付きファイル
従来のディストリビューション layout には、次のものがあります。
vmlinuz-KERNEL_RELEASE:boot 可能な Linux kernel imageinitrd.img-KERNEL_RELEASEまたはinitramfs-KERNEL_RELEASE.img:early user-space imageconfig-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 容量を回収する。