跳至內容

Kexec

出自Taiwan Tongues 台語維基
於 2025年8月23日 (六) 12:11 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

kexeckernelexecution,類似 Unix 抑是 Linux 的系統呼叫 exec)是 Linux 核心的一種機制,伊允准對當前執行的核心啟動新核心。kexec 會跳過由系統韌體(BIOS 抑是 UEFI)執行的引導載入程式階段佮硬體初始化階段,直接將新核心載入到主記憶體閣隨開始執行。這避免佮完全重新啟動相關的漫長時間,並且會當通過上細化停機時間來幫助系統滿足懸可用性要求。

雖然可行,毋過使用 kexec 等機制會帶來兩大的挑戰:

  • 舊核心的記持體予新核心崁去,猶原核心猶原咧執行。
  • 新的核心通常希望所有的硬體裝置佇咧一个定義良好的狀態,佇這款狀態下,系統重新啟動了後系統韌體會會共變做其他的設備「正常」狀態。踅過真正重新啟動可能會裝置佇無知的狀態,新核心將不得不從中恢復。

支援干焦通過 kexec 引導已經簽章的核心已合併到二空一四年十月初五發布的 Linux 核心主線的三更一七版內底。這無允准 Root 使用者通過 kexec 載入並執行任意代碼,補充矣 UEFI 安全啟動佮核心安全機制,以確保只有經過簽章的 Linux 核心模組才會當予人插入當咧執行的核心內底。

參見

  • kdump –Linux 核心的幫敗轉儲機制,伊佇內底使用 kexec
  • kGraft–SUSE 開發的 Linux 核心即時修補技術
  • kpatch–由紅帽來開發的 Linux 核心即時修補技術
  • Ksplice –Ksplice 公司開發的 Linux 核心即時修補技術,後來去予 Oracle 收購

參考文獻

外部連結

  • Using kexec and kdump to get core files on Fedora and CentOS hosts(英文)