溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在Linux系統(tǒng)中怎么啟用Intel Rapid Start

發(fā)布時(shí)間:2021-08-03 10:05:56 來源:億速云 閱讀:193 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容介紹了“在Linux系統(tǒng)中怎么啟用Intel Rapid Start”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、Intel Rapid Start 原理

其實(shí) Intel Rapid Start 的原理很簡(jiǎn)單,就是讓計(jì)算機(jī)在傳統(tǒng)的睡眠(Sleep)的基礎(chǔ)上有機(jī)會(huì)進(jìn)入更深層的睡眠(Deep Sleep),用戶可以通過 BIOS 設(shè)置一個(gè)超時(shí),比如一分鐘、十分鐘、半個(gè)小時(shí)等(也可以設(shè)置「立即」),當(dāng)計(jì)算機(jī)進(jìn)入睡眠狀態(tài)之后,計(jì)時(shí)開始,如果用戶在計(jì)時(shí)到達(dá)之前喚醒了計(jì)算機(jī),那就啥也沒發(fā)生,如果預(yù)定時(shí)間達(dá)到,則計(jì)算機(jī)會(huì)被淺喚醒(wake up briefly),將內(nèi)存中的數(shù)據(jù)寫入硬盤(官方文檔指 SSD)中的一個(gè)特定分區(qū),然后徹底斷電。在這之后,用戶只能通過按電源鍵的方式開機(jī),主板固件會(huì)把特定分區(qū)中的內(nèi)容讀回內(nèi)存,然后計(jì)算機(jī)就可以繼續(xù)使用了。

總結(jié)一下,Intel Rapid Start 技術(shù)(IRST)的前半段與普通的睡眠是一樣的,而后半段則與休眠(Hibernate)類似,但是休眠是由操作系統(tǒng)完成的,而 IRST 則是由主板固件(BIOS 或 UEFI)去完成這一操作,也就是說,在加電自檢(POST)之后,直接就是從硬盤中讀取內(nèi)容的過程了,根本沒有引導(dǎo)器(Boot loader)和操作系統(tǒng)的加載過程,因此比操作系統(tǒng)級(jí)別的休眠要快不少,再加上 SSD 的應(yīng)用,就更加快了,這就是 Intel 所宣稱的「六秒恢復(fù)」。按照我的理解,就是恢復(fù)速度和睡眠一樣快,但是耗電和休眠一樣低(零耗電)。

Intel 的官方文檔提到該技術(shù)需要 SSD + Windows,可是我沒看出其中的必要性:SSD 是為了加速,如果用 HDD 代替的話除了慢點(diǎn)也沒啥問題,而 Windows 呢?令人興奮的是,2013年6月的時(shí)候,Linux 開發(fā)者 Matthew Garrett 就提交了一個(gè)內(nèi)核補(bǔ)丁,實(shí)現(xiàn)了 Linux 內(nèi)核對(duì)此的支持。該補(bǔ)丁已在 Linux 3.11 中得到了應(yīng)用,而截至我寫這篇文章時(shí),最新的 Linux 內(nèi)核版本已經(jīng)是 3.12.6 了,顯然可以使用。
二、調(diào)整分區(qū)

我的計(jì)算機(jī)是 ThinkPad X240s,該型號(hào)內(nèi)部有一個(gè) SATA 和兩個(gè) NGFF 接口,后者是 Intel 推的新接口,可以用來接藍(lán)牙、3G 等模塊,也可以用來接 NGFF 接口的 SSD。最理想的配置應(yīng)該是 SATA 接口用來接 HDD 而 NGFF 用來接 SSD,這樣的版本是已經(jīng)配置好 Intel Rapid Start 的。我的這個(gè)版本 SATA 接口上接了一塊 500GB 7200 轉(zhuǎn)的機(jī)械硬盤,一個(gè) NGFF 接了 WiFi + 藍(lán)牙,另一個(gè) NGFF 是空的。也就是說,沒有 SSD,自然默認(rèn)也沒得用 Intel Rapid Start。但除了淘寶一塊小而貴的 NGFF SSD 之外沒有別的方法了嗎?當(dāng)然不是。仔細(xì)閱讀 Intel Rapid Start 的用戶手冊(cè)就會(huì)發(fā)現(xiàn),它提到主板固件是通過分區(qū)標(biāo)識(shí)符來找尋 IRST 分區(qū)的,對(duì)于 GPT,是 D3BFE2DE-3DAF-11DF-BA-40-E3A556D89593,對(duì)于 MBR 則是 0x84。

調(diào)整前我的分區(qū)結(jié)構(gòu)是這樣的:

   

代碼如下:

NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
   sda              8:0    0 465,8G  0 disk  
   ├─sda1           8:1    0     2M  0 part  
   ├─sda2           8:2    0   200M  0 part  /boot
   ├─sda3           8:3    0    50G  0 part  
   │ └─crypt-sda3 254:0    0    50G  0 crypt /
   └──sda4          8:4    0 415,6G  0 part  
     └─crypt-sda4 254:1    0 415,6G  0 crypt /home

整塊硬盤 465 GiB 使用 GPT 分為四個(gè)區(qū),開頭 2 MiB 用來存放 GRUB,之后 200 MiB 是 /boot,然后是 50 GiB 和 /,最后剩下的 415.6 GiB 用作 /home。其中 sda3 和 sda4 都是 LUKS 容器。我的目的是要把 sda4 調(diào)整為 400 GiB,然后把剩下的 15.6 GiB 劃為 sda5,作為 IRST 分區(qū)。

由于 sda4 是 GPT + LUKS + ext4 三層嵌套結(jié)構(gòu),所以需要一層一層地縮小它們,然后再一層一層地?fù)未笏鼈兊胶线m的位置。

   

代碼如下:

# 把 /home 卸載
   umount /home
   # 調(diào)整文件系統(tǒng)前必須要先檢查文件系統(tǒng)
   e2fsck -f /dev/mapper/crypt-sda4
   # 縮小文件系統(tǒng)至 398 GiB
   resize2fs -p /dev/mapper/crypt-sda4 398G
   # 縮小 LUKS 容器至 399 GiB
   # 換算成 512 KiB 的區(qū)塊是 399 * 1024 * 1024 * 2 = 836763648
   cryptsetup resize crypt-sda4 836763648
   # 將 sda4 分區(qū)調(diào)整為 400 GiB
   # 并用剩余的空間建立 sda5
   # 建立的時(shí)候分區(qū)標(biāo)識(shí)符輸入 8400
   gdisk /dev/sda
   # 重啟計(jì)算機(jī)使內(nèi)核使用新的分區(qū)表
   reboot
   # 再次卸載 /home
   umount /home
   # 放大 LUKS 容器撐滿 sda4
   cryptsetup resize crypt-sda4
   # 檢查文件系統(tǒng)
   e2fsck -f /dev/mapper/crypt-sda4
   # 放大文件系統(tǒng)至撐滿 LUKS 容器
   resize2fs -p /dev/mapper/crypt-sda4
   # 掛載測(cè)試
   mount /dev/mapper/crypt-sda4 /home

調(diào)整完成后,就是這樣的效果了:

   

代碼如下:

NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
   sda              8:0    0 465,8G  0 disk  
   ├─sda1           8:1    0     2M  0 part  
   ├─sda2           8:2    0   200M  0 part  /boot
   ├─sda3           8:3    0    50G  0 part  
   │ └─crypt-sda3 254:0    0    50G  0 crypt /
   ├─sda4           8:4    0   400G  0 part  
   │ └─crypt-sda4 254:1    0   400G  0 crypt /home
   └─sda5           8:5    0  15,6G  0 part
   
   Number  Start (sector)    End (sector)  Size       Code  Name
      1            2048            6143   2.0 MiB     EF02  BIOS boot partition
      2            6144          415743   200.0 MiB   8300  Linux filesystem
      3          415744       105273343   50.0 GiB    8300  LUKS partition
      4       105273344       944134143   400.0 GiB   8300  LUKS partition
      5       944134144       976773134   15.6 GiB    8400  Intel Rapid Start

三、設(shè)置主板固件(BIOS/UEFI)

這一步視不同的制造商自有不同,但主旨就是找到 BIOS/UEFI 中有關(guān) Intel Rapid Start 的設(shè)置,將之開啟。在完成以上步驟之前,這一選項(xiàng)是不可開啟的狀態(tài),會(huì)提示沒有找到合適的存儲(chǔ)設(shè)備,但是在完成了上述步驟之后,固件就會(huì)根據(jù) GUID 找到 IRST 分區(qū),從而允許開啟這一功能。至于多久后啟用,就是個(gè)人愛好了,我選擇的是「立即」,也就是相當(dāng)于用 IRST 代替了睡眠(Sleep)功能。
四、測(cè)試

為了測(cè)試效果明顯,可以先用 dd_rescue 把 sda5 清空一下:dd_rescue /dev/zero /dev/sda5。可以用諸如 head -c 1G /dev/sda5 之類的命令檢驗(yàn)一下。

準(zhǔn)備完成之后開始測(cè)試:echo -n mem > /sys/power/state 將系統(tǒng)掛起至內(nèi)存(S3,睡眠)→系統(tǒng)順利睡眠→系統(tǒng)被短暫?jiǎn)拘巡?nèi)存中的內(nèi)容寫入 IRST 分區(qū),此時(shí)如果仔細(xì)聽可以聽到機(jī)械硬盤寫入的聲音→寫入完成,系統(tǒng)斷電停機(jī)。

斷電停機(jī)之后,用戶只能通過按電源鍵把計(jì)算機(jī)喚醒。按下電源鍵后可觀察到 BIOS/UEFI 上顯示類似 Resuming from deep sleep ... 字樣,說明這一恢復(fù)過程是由固件完成的,與操作系統(tǒng)無(wú)關(guān)?;謴?fù)完成后,直接回復(fù)到進(jìn)入睡眠之前的樣子。此時(shí)使用 head /dev/sda5 可觀察到大量輸出,說明 sda5 的確被寫入了。

至此 IRST 部署成功。

“在Linux系統(tǒng)中怎么啟用Intel Rapid Start”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI