Utilizarea NVME SSD ca unitate de sistem pe computere cu BIOS mai vechi și sistem de operare Linux

Utilizarea NVME SSD ca unitate de sistem pe computere cu BIOS mai vechi și sistem de operare Linux

Dacă este configurat corect, puteți porni de pe un SSD NVME chiar și pe sisteme mai vechi. Se presupune că sistemul de operare (OS) poate funcționa cu SSD NVME. Mă gândesc să pornesc sistemul de operare, deoarece cu driverele disponibile în sistemul de operare, SSD-ul NVME este vizibil în sistemul de operare după pornire și poate fi folosit. Nu este necesar software (software) suplimentar pentru Linux. Pentru sistemul de operare din familia BSD și alte Unix, metoda este cel mai probabil potrivită.

Pentru a porni de pe orice unitate, bootloader-ul (BOP), BIOS sau EFI (UEFI) trebuie să conțină drivere pentru acest dispozitiv. Unitățile SSD NVME sunt dispozitive destul de noi în comparație cu BIOS și nu există astfel de drivere în firmware-ul plăcilor de bază mai vechi. În EFI fără suport SSD NVME, puteți adăuga codul corespunzător și apoi devine posibil să lucrați complet cu acest dispozitiv - puteți instala sistemul de operare și îl puteți porni. Pentru sistemele vechi cu așa-numitele. „BIOS moștenit” care pornește sistemul de operare este puțin probabil să facă acest lucru. Cu toate acestea, acest lucru poate fi ocolit.

Cum se face

Am folosit openSUSE Leap 15.1. Pentru alte Linux, pașii vor fi aproximativ aceiași.

1. Să pregătim computerul pentru a instala sistemul de operare.
Aveți nevoie de un PC sau un server cu un slot PCI-E 4x sau mai lung, indiferent de versiune, PCI-E 1.0 este suficient. Desigur, cu cât versiunea PCI-E este mai nouă, cu atât viteza va fi mai mare. Ei bine, de fapt, SSD NVME cu adaptor M.2 - PCI-E 4x.
De asemenea, aveți nevoie de un fel de unitate cu o capacitate de 300 MB sau mai mult, care este vizibilă din BIOS și din care puteți încărca sistemul de operare. Poate fi un HDD cu conexiune IDE, SATA, SCSI. S.A.S. Sau unitate flash USB sau card de memorie. Nu se potrivește pe o dischetă. Un CD-ROM nu va funcționa și va trebui rescris. DVD-RAM - habar nu. Vom numi acest lucru în mod condiționat o „unitate BIOS moștenită”.

2. Încărcăm Linux pentru instalare (de pe un disc optic sau o unitate flash bootabilă etc.).

3. Când partiționați un disc, distribuiți sistemul de operare între unitățile disponibile:
3.1. Să creăm o partiție pentru bootloader-ul GRUB la începutul „BIOS-ului unității moștenite” cu o dimensiune de 8 MB. Observ că aici este folosită caracteristica openSUSE - GRUB pe o partiție separată. Pentru openSUSE, sistemul de fișiere implicit (FS) este BTRFS. Dacă plasați GRUB pe o partiție cu un sistem de fișiere BTRFS, atunci sistemul nu va porni. Prin urmare, se utilizează o secțiune separată. Puteți plasa GRUB în altă parte, atâta timp cât pornește.
3.2. După partiția cu GRUB, vom crea o partiție cu o parte din folderul de sistem („rădăcină”), și anume cu „/boot/”, cu dimensiunea de 300 MB.
3.3. Restul bunătății - restul folderului de sistem, partiția de swap, partiția de utilizator „/home/” (dacă decideți să creați una) pot fi plasate pe SSD-ul NVME.

După instalare, sistemul încarcă GRUB, care încarcă fișiere din /boot/, după care SSD-ul NVME devine disponibil, apoi sistemul pornește de pe SSD-ul NVME.
În practică, am primit o accelerare semnificativă.

Cerințe de capacitate pentru un „BIOS de unitate moștenit”: 8 MB pentru o partiție GRUB este implicită și oriunde de la 200 MB pentru /boot/. 300 MB am luat cu o marja. Când actualizați nucleul (și când instalați altele noi), Linux va completa partiția /boot/ cu fișiere noi.

Estimarea vitezei și a costurilor

Costul NVME SSD 128 GB - de la aproximativ 2000 de ruble.
Costul unui adaptor M.2 - PCI-E 4x - de la aproximativ 500 de ruble.
Adaptoarele M.2 la PCI-E 16x pentru patru unități SSD NVME sunt de asemenea la vânzare, la prețuri undeva de la 3000 r. - dacă cineva are nevoie.

Viteze limită:
PCI-E 3.0 4x aproximativ 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
Unitățile cu PCI-E 3.0 4x ating în practică viteze de aproximativ 3500 MB/s.
Se poate presupune că viteza realizabilă va fi după cum urmează:
PCI-E 3.0 4x aproximativ 3500 MB/s
PCI-E 2.0 4x aproximativ 1800 MB/s
PCI-E 1.0 4x aproximativ 900 MB/s

Care este mai rapid decât SATA 600MB/s. Viteza realizabilă pentru SATA 600 MB/s este de aproximativ 550 MB/s.
În același timp, pe plăcile de bază mai vechi, viteza SATA a controlerului de la bord poate să nu fie de 600 MB/s, ci de 300 MB/s sau 150 MB/s. Aici controler de bord = controler SATA încorporat în podul de sud al chipset-ului.

Remarc că NCQ va funcționa pentru SSD-urile NVME, în timp ce controlerele de bord mai vechi ar putea să nu aibă acest lucru.

Am făcut calculele pentru PCI-E 4x, totuși, unele unități au o magistrală PCI-E 2x. Acest lucru este suficient pentru PCI-E 3.0, dar pentru standardele PCI-E mai vechi - 2.0 și 1.0 - este mai bine să nu luați astfel de SSD-uri NVME. De asemenea, o unitate cu un buffer sub forma unui cip de memorie va fi mai rapidă decât fără el.

Pentru cei care doresc să renunțe complet la controlerul SATA de la bord, vă sfătuiesc să utilizați controlerul Asmedia ASM 106x (1061 etc.), care oferă două porturi SATA 600 (interne sau externe). Functioneaza destul de bine (dupa o actualizare de firmware), in modul AHCI suporta NCQ. Conectat prin magistrala PCI-E 2.0 1x.

Viteza sa maximă:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
Viteza realizabilă va fi:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s

Acest lucru este suficient pentru un SSD SATA sau două hard disk-uri.

Deficiențe observate

1. Nu citit Parametrii SMART cu NVME SSD, există doar informații generale despre producător, număr de serie etc. Poate din cauza plăcii de bază prea vechi (mp). Pentru experimentele mele inumane, am folosit cel mai vechi mp pe care l-am putut găsi, cu un chipset nForce4.

2. TRIM ar trebui să funcționeze, dar trebuie verificat.

Concluzie

Există și alte opțiuni: cumpărați un controler SAS cu slot PCI-E 4x sau 8x (există 16x sau 32x?). Totuși, dacă sunt ieftine, suportă SAS 600, dar SATA 300, iar cele scumpe vor fi mai scumpe și mai lente decât metoda propusă mai sus.

Pentru utilizare cu M $ Windows, puteți instala software suplimentar - un bootloader cu drivere încorporate pentru NVME SSD.

Vezi aici:
www.win-raid.com/t871f50-Guide-How-to-get-full-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

Invit cititorul sa evalueze singur daca are nevoie de o astfel de aplicatie de NVME SSD, sau ar fi mai bine sa cumpere o placa de baza noua (+ procesor + memorie) cu conector M.2 PCI-E existent si suport pentru bootare de pe NVME SSD în EFI.

Sursa: www.habr.com

Adauga un comentariu