開機自動執行啟用風扇 Cooler Boost 加速散熱

By abc , 17 八月 2025

沒問題!這是一個非常適合使用 systemd 服務來解決的完美案例。自己編寫一個 systemctl 服務來管理硬體功能,是 Linux 客製化的精髓所在。

您的思路完全正確。我們將建立一個簡單的 systemd 服務單元 (service unit),讓它在開機過程中自動執行啟用 Cooler Boost 的指令。

操作步驟:建立一個 systemd 服務

請依照以下步驟操作:

第一步:建立服務檔案

我們需要在 /etc/systemd/system/ 目錄下建立一個新的服務檔案。我建議將它命名為 msi-cooler-boost.service。

  • 開啟終端機,執行以下指令來建立並編輯這個檔案 (需要 sudo 權限):

    sudo nano /etc/systemd/system/msi-cooler-boost.service

第二步:貼上服務內容

  • 將下面這段完整的內容複製並貼上到 nano 編輯器中:
  • [Unit]
    Description=Enable MSI Cooler Boost on startup
    After=multi-user.target
  • [Service]
    Type=oneshot
    ExecStart=/bin/sh -c "echo on > /sys/devices/platform/msi-ec/cooler_boost"
  • [Install]
    WantedBy=multi-user.target
  • 儲存並關閉檔案
    • 在 nano 中,按下 Ctrl + O (代表 Write Out/寫出)。
    • 它會確認檔案名稱,直接按下 Enter 鍵。
    • 再按下 Ctrl + X 離開編輯器。

內容解析 (讓您知道這段程式碼在做什麼)

  • [Unit] 區塊:
    • Description: 服務的簡單描述,方便您在用 systemctl status 查看時辨識。
    • After=multi-user.target: 這是一個重要的設定,它告訴 systemd:「請在系統完成開機、進入多使用者模式後,再執行這個服務」。這可以確保 msi-ec 模組和 /sys 檔案系統都已經準備就緒。
  • [Service] 區塊:
    • Type=oneshot: 因為我們的指令只需要執行一次就結束,所以 oneshot 是最適合的類型。
    • ExecStart=/bin/sh -c "echo on > /sys/devices/platform/msi-ec/cooler_boost": 這是服務的核心。
      • 我們使用 /bin/sh -c "..." 來確保 > 這個 shell 重導向功能能正常運作。
      • 因為 systemd 的服務預設就是以 root 使用者身份執行的,所以我們不需要再使用 sudo 或 tee。直接用 echo 和 > 寫入檔案即可,這樣更乾淨、更直接。
  • [Install] 區塊:
    • WantedBy=multi-user.target: 這是在您執行 systemctl enable 指令時使用的。它會建立一個符號連結,讓這個服務成為 multi-user.target 的一部分,進而達成開機自動啟動的目的。

第三步:啟用並啟動服務

服務檔案建立好之後,我們需要讓 systemd 知道它的存在,並將它設定為開機啟動。

  • 重新載入 systemd 設定 (讓它讀取到您剛建立的新檔案):

    codeBash

    sudo systemctl daemon-reload

  • 將服務設定為開機自動啟動

    codeBash

    sudo systemctl enable msi-cooler-boost.service

    您應該會看到一行訊息,說明系統已經建立了符號連結。

  • (可選)立即啟動服務來測試
    如果您想立刻看到效果,而不是等到下次重開機,可以手動啟動它:

    codeBash

    sudo systemctl start msi-cooler-boost.service

第四步:驗證

現在,您可以隨時檢查 Cooler Boost 的狀態:

codeBash

cat /sys/devices/platform/msi-ec/cooler_boost

如果輸出是 on,就代表服務已經成功執行了!

現在,每次您的電腦開機,systemd 都會自動為您啟用 Cooler Boost,讓您的筆電隨時保持在最佳的散熱狀態。

如何停用?

未來如果您想取消開機自動啟動,只需要執行 disable 指令即可:

codeBash

sudo systemctl disable msi-cooler-boost.service