在具有舊 BIOS 和 Linux 操作系統的計算機上使用 NVME SSD 作為系統驅動器

在具有舊 BIOS 和 Linux 操作系統的計算機上使用 NVME SSD 作為系統驅動器

如果配置正確,即使在較舊的系統上,您也可以從 NVME SSD 啟動。 假設操作系統 (OS) 能夠與 NVME SSD 配合使用。 我正在考慮啟動操作系統,因為有了操作系統中可用的驅動程序,NVME SSD在啟動後在操作系統中可見並且可以使用。 不需要用於 Linux 的附加軟件(軟件)。 對於 BSD 系列和其他 Unix 操作系統,該方法很可能也適用。

要從任何驅動器啟動,引導加載程序 (BOP)、BIOS 或 EFI (UEFI) 必須包含該設備的驅動程序。 與 BIOS 相比,NVME SSD 驅動器是相當新的設備,舊主板的固件固件中沒有此類驅動程序。 在不支持 NVME SSD 的 EFI 中,您可以添加適當的代碼,然後就可以完全使用該設備 - 您可以安裝操作系統並啟動它。 對於所謂的舊系統。 “傳統 BIOS”啟動操作系統不太可能做到這一點。 然而,這可以被繞過。

如何做到這一點

我使用的是 openSUSE Leap 15.1。 對於其他 Linux,步驟大致相同。

1. 讓我們準備好計算機來安裝操作系統。
你需要一台有空閒 PCI-E 4x 或更長插槽的 PC 或服務器,無論哪個版本,PCI-E 1.0 就足夠了。 當然,PCI-E版本越新,速度就越快。 嗯,實際上,帶有 M.2 適配器的 NVME SSD - PCI-E 4x。
您還需要某種容量為 300 MB 或更大的驅動器,該驅動器在 BIOS 中可見,並且可以從中加載操作系統。 它可以是具有 IDE、SATA、SCSI 連接的 HDD。 S.A.S. 或 USB 閃存驅動器或存儲卡。 它不適合軟盤。 CD-ROM 不起作用,需要重寫。 DVD-RAM - 不知道。 我們有條件地將這個東西稱為“傳統 BIOS 驅動器”。

2. 我們加載 Linux 進行安裝(從光盤或可啟動閃存驅動器等)。

3. 對磁盤進行分區時,將操作系統分佈在可用驅動器中:
3.1. 讓我們在“傳統驅動器 BIOS”的開頭為 GRUB 引導加載程序創建一個大小為 8 MB 的分區。 我注意到這裡使用了 openSUSE 功能 - GRUB 位於單獨的分區上。 對於 openSUSE,默認文件系統 (FS) 是 BTRFS。 如果將 GRUB 放置在具有 BTRFS 文件系統的分區上,則係統將無法啟動。 因此,使用單獨的部分。 您可以將 GRUB 放置在其他地方,只要它能夠引導即可。
3.2. 用GRUB分區後,我們將創建一個包含系統文件夾(“root”)部分的分區,即“/boot/”,大小為300 MB。
3.3. 其餘的優點 - 系統文件夾的其餘部分、交換分區、“/home/”用戶分區(如果您決定創建一個)都可以放置在 NVME SSD 上。

安裝完成後,系統會加載GRUB,GRUB會從/boot/加載文件,之後NVME SSD變得可用,然後系統從NVME SSD啟動。
在實踐中,我得到了顯著的加速。

“傳統驅動器 BIOS”的容量要求:GRUB 分區默認為 8 MB,/boot/ 為 200 MB 左右。 我拿了 300 MB 的餘量。 當更新內核(以及安裝新內核時),Linux 會用新文件填充 /boot/ 分區。

估算速度和成本

NVME SSD 128 GB 的成本約為 2000 盧布起。
M.2 適配器 - PCI-E 4x - 的成本約為 500 盧布。
用於四個 NVME SSD 驅動器的 M.2 轉 PCI-E 16x 適配器也在銷售,價格從 3000 盧比起。 - 如果有人需要的話。

限制速度:
PCI-E 3.0 4x 約 3900 MB/s
PCI-E 2.0 4x 2000MB/秒
PCI-E 1.0 4x 1000MB/秒
採用 PCI-E 3.0 4x 的驅動器實際上可達到約 3500 MB/s 的速度。
可以假設可達到的速度如下:
PCI-E 3.0 4x 約 3500 MB/s
PCI-E 2.0 4x 約 1800 MB/s
PCI-E 1.0 4x 約 900 MB/s

比 SATA 600MB/s 更快。 SATA 600 MB/秒可達到的速度約為 550 MB/秒。
同時,在較舊的主板上,板載控制器的SATA速度可能不是600MB/s,而是300MB/s或150MB/s。 這裡板載控制器=內置於芯片組南橋的SATA控制器。

我注意到 NCQ 適用於 NVME SSD,而較舊的板載控制器可能沒有此功能。

我對 PCI-E 4x 進行了計算,但是,某些驅動器具有 PCI-E 2x 總線。 這對於 PCI-E 3.0 來說已經足夠了,但對於較舊的 PCI-E 標準 - 2.0 和 1.0 - 最好不要採用此類 NVME SSD。 此外,帶有存儲芯片形式的緩衝區的驅動器將比沒有它的驅動器更快。

對於那些想要完全放棄板載SATA控制器的人,我建議您使用Asmedia ASM 106x控制器(1061等),它提供兩個SATA 600端口(內部或外部)。 它工作得很好(固件更新後),在 AHCI 模式下它支持 NCQ。 通過 PCI-E 2.0 1x 總線連接。

其最高時速:
PCI-E 2.0 1x 500MB/秒
PCI-E 1.0 1x 250MB/秒
可達到的速度為:
PCI-E 2.0 1x 460MB/秒
PCI-E 1.0 1x 280MB/秒

這足以容納一個 SATA SSD 或兩個硬盤。

注意到的缺陷

1. 未讀過 智能參數 對於 NVME SSD,只有有關製造商、序列號等的一般信息。 可能是由於主板(mp)太舊。 在我的非人實驗中,我使用了我能找到的最古老的 mp,帶有 nForce4 芯片組。

2. TRIM應該可以工作,但是需要檢查。

結論

還有其他選擇:購買帶有 PCI-E 4x 或 8x 插槽的 SAS 控制器(有 16x 或 32x 嗎?)。 然而,如果便宜的話,它們支持SAS 600,但支持SATA 300,而昂貴的會比上面提出的方法更貴、更慢。

為了與 M$ Windows 一起使用,您可以安裝額外的軟件 - 帶有 NVME SSD 內置驅動程序的引導加載程序。

看這裡:
www.win-raid.com/t871f50-指南-如何獲取完整的 NVMe-support-for-all-Systems-with-an-AMI-UEFI-BIOS.html
www.win-raid.com/t3286f50-Guide-NVMe-boot-for-systems-with-legacy-BIOS-and-older-UEFI-DUET-REFIND.html
forum.overclockers.ua/viewtopic.php?t=185732
pcportal.org/forum/51-9843-1
mrlithium.blogspot.com/2015/12/how-to-boot-nvme-ssd-from-legacy-bios.html

我請讀者自己評估是否需要NVME SSD的這種應用,或者最好購買具有現有M.2 PCI-E連接器並支持從NVME啟動的新主板(+處理器+內存) EFI 中的 SSD。

來源: www.habr.com

添加評論