如果你是 Windows 使用者,應該都聽過「睡眠模式(Sleep)」。但是,除了它之外,還有另一種電源管理方式——休眠模式(Hibernation),以及基於此功能的快速啟動(Fast Startup),知道這點的人卻不多。

在這篇文章中,我們將深入技術上探討休眠模式的運作原理、Windows 為何將其設置為預設啟用的原因,以及對 Linux 使用者造成的嚴重問題。


休眠模式(Hibernation)是什麼?

休眠模式就是在將 RAM 的數據儲存到硬碟上後完全關閉電源,並在下次啟動時恢復到該狀態。這個過程中生成的文件就是hiberfil.sys

睡眠(Sleep) vs. 休眠(Hibernate) vs. 關機(Shutdown)

模式 電力消耗 狀態儲存位置 恢復速度 完全關閉電源
睡眠(Sleep) RAM 非常快
休眠(Hibernate) 沒有 硬碟 普通
關機(Shutdown) 沒有 沒有

休眠模式是一個能在完全關閉電源的情況下恢復到之前狀態的功能。


快速啟動(Fast Startup)的真面目

快速啟動這個功能是應用於休眠模式的一個特性,在系統關閉時將內核會話和驅動信息儲存到硬碟中,以便下次啟動時能夠快速加載。

也就是說,看似是完全關閉,實際上卻是「在半睡狀態中醒來」的啟動。

Microsoft 的意圖整理

這項功能是 Microsoft 有意在安裝 Windows 時設置為初始設置。其原因可能是因為以下幾點:

目標 說明
縮短啟動速度 特別是在 HDD 時期,體感速度有著劇烈的提升
改善用戶體驗 關機後也能快速恢復的感覺
移動方案最佳化 在筆記型電腦和平板電腦上保持電力/速度平衡
競爭操作系統應對 應對 macOS 的省電回復方式

休眠模式的副作用(高級使用者基準)

問題項目 詳細說明
雙重啟動問題 處於休眠狀態的 Windows 分區無法在 Linux 中掛載,存在數據損壞的風險。
更新衝突 某些 Windows 更新或驅動程序可能無法應用
電源設備錯誤 在恢復時可能會出現 USB、LAN 設備無法識別等問題
佔用磁碟空間 hiberfil.sys 佔用與 RAM 容量相等的磁碟空間(可能達到 8~32GB 或更高)

如今以 SSD 為主流,Windows 為何仍將「快速啟動」設為預設?

大部分一般使用者並不會遇到上述問題。相反地,筆記型電腦使用者能透過該功能同時獲得電源效率和快速啟動。

也就是說,Microsoft 設計的目標是針對「大眾用戶」,而非「Linux 使用者」


對 Linux 使用者來說會怎樣?

Tux confused at hibernated Windows block 在雙重啟動環境中,如果 Windows 處於休眠狀態,則無法在 Linux 上對該 NTFS 分區進行寫入操作。這可能導致數據損壞和系統不穩定。

如果你是同時使用 Linux 的開發者或系統工程師,必須關閉此功能。

如果在 Linux 中強行掛載 Windows 分區並修改文件,則下次啟動 Windows 時可能無法識別該更改,導致系統損壞。由於 NTFS 文件系統處於暫時的「凍結狀態」,外部的變更是危險的,可能導致無法恢復的損壞。

# 關閉休眠
powercfg -h off

執行此命令將連同 hiberfil.sys 一並刪除,從而釋放磁碟空間。


總結整理

項目 內容
快速啟動預設啟用原因 提升用戶體感啟動速度,節省能源
Microsoft 的哲學 為大眾優化用戶體驗
對高級使用者如何? 雙重啟動、更新衝突等不便因素眾多
建議策略 Linux 使用者最好關閉休眠(powercfg -h off)

休眠模式是為了方便而設計的功能,但對於深入理解和操作系統的使用者來說,它可能成為阻礙和風險因素。特別是對於 Linux 使用者而言,為了系統的穩定性和數據保護,建議務必重新檢視設置。