Verwendung einer NVME-SSD als Systemlaufwerk auf Computern mit altem BIOS und Linux-Betriebssystem

Verwendung einer NVME-SSD als Systemlaufwerk auf Computern mit altem BIOS und Linux-Betriebssystem

Bei richtiger Konfiguration können Sie auch auf älteren Systemen von einer NVME-SSD booten. Es wird davon ausgegangen, dass das Betriebssystem (OS) mit NVME SSD arbeiten kann. Ich denke darüber nach, das Betriebssystem zu booten, da mit den im Betriebssystem verfügbaren Treibern die NVME-SSD nach dem Booten im Betriebssystem sichtbar ist und verwendet werden kann. Zusätzliche Software (Software) für Linux ist nicht erforderlich. Für Betriebssysteme der BSD-Familie und andere Unixe ist die Methode höchstwahrscheinlich auch geeignet.

Um von einem beliebigen Laufwerk zu booten, müssen der Bootloader (BOP), das BIOS oder EFI (UEFI) Treiber für dieses Gerät enthalten. NVME-SSD-Laufwerke sind im Vergleich zum BIOS recht neue Geräte, und in der Firmware älterer Motherboards gibt es keine derartigen Treiber. In EFI ohne NVME-SSD-Unterstützung können Sie den entsprechenden Code hinzufügen und dann ist es möglich, mit diesem Gerät vollständig zu arbeiten – Sie können das Betriebssystem installieren und starten. Für Altanlagen mit sog. Es ist unwahrscheinlich, dass das Booten des Betriebssystems mit einem „Legacy-BIOS“ dazu führt. Dies kann jedoch umgangen werden.

Как делать

Ich habe openSUSE Leap 15.1 verwendet. Bei anderen Linux-Geräten sind die Schritte ungefähr gleich.

1. Bereiten wir den Computer für die Installation des Betriebssystems vor.
Sie benötigen einen PC oder Server mit einem freien PCI-E 4x oder längeren Steckplatz, egal welche Version, PCI-E 1.0 reicht aus. Natürlich ist die Geschwindigkeit umso höher, je neuer die PCI-E-Version ist. Nun ja, eigentlich NVME SSD mit M.2-Adapter – PCI-E 4x.
Sie benötigen außerdem ein Laufwerk mit einer Kapazität von 300 MB oder mehr, das im BIOS sichtbar ist und von dem Sie das Betriebssystem laden können. Es kann sich um eine Festplatte mit IDE-, SATA- oder SCSI-Anschluss handeln. S.A.S. Oder USB-Stick oder Speicherkarte. Es passt nicht auf eine Diskette. Eine CD-ROM funktioniert nicht und muss neu geschrieben werden. DVD-RAM - keine Ahnung. Wir werden dieses Ding bedingt als „Legacy-BIOS-Laufwerk“ bezeichnen.

2. Wir laden Linux zur Installation (von einer optischen Festplatte oder einem bootfähigen Flash-Laufwerk usw.).

3. Verteilen Sie beim Partitionieren einer Festplatte das Betriebssystem auf die verfügbaren Laufwerke:
3.1. Erstellen wir am Anfang des „Legacy Drive BIOS“ eine Partition für den GRUB-Bootloader mit einer Größe von 8 MB. Ich stelle fest, dass hier die openSUSE-Funktion verwendet wird – GRUB auf einer separaten Partition. Für openSUSE ist das Standarddateisystem (FS) BTRFS. Wenn Sie GRUB auf einer Partition mit einem BTRFS-Dateisystem platzieren, startet das System nicht. Daher wird ein separater Abschnitt verwendet. Sie können GRUB woanders platzieren, solange es bootet.
3.2. Nach der Partitionierung mit GRUB erstellen wir eine Partition mit einem Teil des Systemordners („root“), und zwar mit „/boot/“, 300 MB groß.
3.3. Der Rest der Güte – der Rest des Systemordners, die Swap-Partition, die „/home/“-Benutzerpartition (falls Sie sich entscheiden, eine zu erstellen) können auf der NVME-SSD abgelegt werden.

Nach der Installation lädt das System GRUB, das Dateien von /boot/ lädt, woraufhin die NVME-SSD verfügbar wird, dann startet das System von der NVME-SSD.
In der Praxis habe ich eine deutliche Beschleunigung erzielt.

Kapazitätsanforderungen für ein „Legacy-Laufwerk-BIOS“: 8 MB für eine GRUB-Partition sind die Standardeinstellung und irgendwo zwischen 200 MB für /boot/. 300 MB habe ich mit einer Marge genommen. Beim Aktualisieren des Kernels (und bei der Installation neuer Kernel) füllt Linux die /boot/-Partition mit neuen Dateien auf.

Geschwindigkeit und Kosten abschätzen

Die Kosten für eine NVME-SSD mit 128 GB betragen etwa 2000 Rubel.
Die Kosten für einen M.2-Adapter – PCI-E 4x – betragen etwa 500 Rubel.
M.2-zu-PCI-E-16x-Adapter für vier NVME-SSD-Laufwerke sind ebenfalls im Angebot und kosten etwa 3000 Rubel. - falls jemand es braucht.

Geschwindigkeitsbegrenzungen:
PCI-E 3.0 4x ca. 3900 MB/s
PCI-E 2.0 4x 2000 MB/s
PCI-E 1.0 4x 1000 MB/s
Laufwerke mit PCI-E 3.0 4x erreichen in der Praxis Geschwindigkeiten von etwa 3500 MB/s.
Es kann davon ausgegangen werden, dass die erreichbare Geschwindigkeit wie folgt sein wird:
PCI-E 3.0 4x ca. 3500 MB/s
PCI-E 2.0 4x ca. 1800 MB/s
PCI-E 1.0 4x ca. 900 MB/s

Das ist schneller als SATA 600 MB/s. Die erreichbare Geschwindigkeit für SATA 600 MB/s beträgt etwa 550 MB/s.
Gleichzeitig beträgt auf älteren Mainboards die SATA-Geschwindigkeit des On-Board-Controllers möglicherweise nicht 600 MB/s, sondern 300 MB/s oder 150 MB/s. Hier Onboard-Controller = SATA-Controller eingebaut in die Southbridge des Chipsatzes.

Ich stelle fest, dass NCQ für NVME-SSDs funktioniert, während ältere On-Board-Controller dies möglicherweise nicht haben.

Ich habe die Berechnungen für PCI-E 4x durchgeführt, einige Laufwerke verfügen jedoch über einen PCI-E 2x-Bus. Für PCI-E 3.0 reicht das aus, für ältere PCI-E-Standards – 2.0 und 1.0 – sollte man aber besser auf solche NVME-SSDs verzichten. Außerdem ist ein Laufwerk mit einem Puffer in Form eines Speicherchips schneller als ohne.

Wer komplett auf den On-Board-SATA-Controller verzichten möchte, dem empfehle ich den Einsatz des Asmedia ASM 106x-Controllers (1061 etc.), der zwei SATA 600-Ports (intern oder extern) bereitstellt. Es funktioniert ganz gut (nach einem Firmware-Update), im AHCI-Modus unterstützt es NCQ. Verbunden über PCI-E 2.0 1x Bus.

Seine Höchstgeschwindigkeit:
PCI-E 2.0 1x 500 MB/s
PCI-E 1.0 1x 250 MB/s
Die erreichbare Geschwindigkeit beträgt:
PCI-E 2.0 1x 460 MB/s
PCI-E 1.0 1x 280 MB/s

Das reicht für eine SATA-SSD oder zwei Festplatten.

Bemerkte Mängel

1. Nicht gelesen SMART-Parameter Bei NVME SSD gibt es nur allgemeine Informationen zum Hersteller, zur Seriennummer usw. Möglicherweise liegt es an einem zu alten Motherboard (MP). Für meine unmenschlichen Experimente habe ich den ältesten MP verwendet, den ich finden konnte, mit einem nForce4-Chipsatz.

2. TRIM sollte funktionieren, muss aber überprüft werden.

Abschluss

Es gibt noch andere Möglichkeiten: Kaufen Sie einen SAS-Controller mit einem PCI-E 4x- oder 8x-Steckplatz (gibt es 16x oder 32x?). Wenn sie jedoch billig sind, unterstützen sie SAS 600, aber SATA 300, und teure Modelle sind teurer und langsamer als die oben vorgeschlagene Methode.

Für die Verwendung mit M$ Windows können Sie zusätzliche Software installieren – einen Bootloader mit integrierten Treibern für NVME SSD.

Siehe hier:
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

Ich lade den Leser ein, selbst zu beurteilen, ob er eine solche NVME-SSD-Anwendung benötigt oder ob es besser wäre, ein neues Motherboard (+ Prozessor + Speicher) mit einem vorhandenen M.2-PCI-E-Anschluss und Unterstützung für das Booten von NVME zu kaufen SSD in EFI.

Source: habr.com

Kommentar hinzufügen