Uso de SSD NVME como unidad de sistema en computadoras con BIOS antiguo y sistema operativo Linux

imagen

Si se configura correctamente, puede arrancar desde la SSD NVME incluso en sistemas más antiguos. Se supone que el sistema operativo (SO) puede funcionar con SSD NVME. Considero la carga del sistema operativo, ya que con los controladores NVME disponibles en el sistema operativo, el SSD es visible en el sistema operativo después de la carga y puede usarse. No se requiere software (software) adicional para Linux. Para los sistemas operativos de la familia BSD y otros Unix, el método probablemente también sea adecuado.

Para iniciar desde una unidad, es necesario que el programa de inicio (BIOS), BIOS o EFI (UEFI) contenga los controladores para este dispositivo. Las SSD NVME son dispositivos bastante nuevos en comparación con el BIOS, y no existen tales controladores en el firmware de las placas base antiguas. En EFI, sin el soporte de SSD NVME, puede agregar el código apropiado y luego es posible trabajar completamente con este dispositivo; puede instalar el sistema operativo y cargarlo. Para sistemas más antiguos con los llamados Es poco probable que el "BIOS heredado" se pueda hacer cargando el sistema operativo. Sin embargo, esto se puede evitar.

Como hacer


Usé openSUSE Leap 15.1. Para otros Linux, las acciones serán aproximadamente las mismas.

1. Prepare la computadora para instalar el sistema operativo.
Necesita una PC o servidor con un conector PCI-E 4x gratuito o más largo, sin importar qué versión, PCI-E 1.0 es suficiente. Por supuesto, cuanto más nueva sea la versión PCI-E, mayor será la velocidad. Bueno, en realidad, NVME SSD con un adaptador M.2 - PCI-E 4x.
También necesita algún tipo de unidad con una capacidad de 300 MB o más, que sea visible desde el BIOS y desde donde pueda cargar el sistema operativo. Puede ser un disco duro con conexión a través de IDE, SATA, SCSI. SAS. O una unidad flash USB, o una tarjeta de memoria. No cabe en un disquete. El CD-ROM no funcionará, es necesario reescribirlo. DVD-RAM, ni idea. Llamemos a esto "unidad BIOS heredada".

2. Descargue Linux para la instalación (desde un disco óptico o una unidad flash de arranque, etc.).

3. Al marcar el disco, distribuiremos el sistema operativo a las unidades disponibles:
3.1. Cree una partición para el cargador de arranque GRUB al comienzo de la "unidad de BIOS heredada" de tamaño 8 MB. Noto que aquí usamos la función openSUSE - GRUB en una sección separada. Para openSUSE, el sistema de archivos BTRFS (FS) se usa de manera predeterminada. Si GRUB se coloca en una partición con BTRFS FS, el sistema no se iniciará. Por lo tanto, se utiliza una sección separada. Puede colocar GRUB en otro lugar si solo está cargado.
3.2. Después de la partición con GRUB, cree una partición con una parte de la carpeta del sistema ("raíz"), es decir, con "/ boot /", 300 MB de tamaño.
3.3. El resto restante: el resto de la carpeta del sistema, la partición de intercambio, la partición de usuario "/ home /" (si decidió crear una) se puede colocar en la SSD NVME.

Después de la instalación, el sistema carga GRUB, que descarga archivos desde / boot /, después de lo cual el SSD NVME está disponible, luego el sistema se inicia desde el SSD NVME.
En la práctica, recibí una aceleración significativa.

Requisitos de capacidad para "unidad de BIOS heredada": 8 MB para la partición GRUB es el valor predeterminado, y alrededor de 200 MB para / boot /. Tomé 300 MB con un margen. Al actualizar el kernel (y al instalar nuevos), Linux repondrá la sección / boot / con nuevos archivos, mientras elimina más núcleos innecesarios, liberará espacio. El espacio restante en la "unidad BIOS heredada" fuera de estas dos secciones se puede usar a su discreción.

Estimación de velocidad y costo.


El costo de NVME SSD 128 GB - desde aproximadamente 2000 p.
El costo del adaptador M.2 - PCI-E 4x - de aproximadamente 500 p.
Los adaptadores M.2 también están a la venta: PCI-E 16x para cuatro unidades SSD NVME, a un precio de 3000 r. - Si alguien lo necesita.

Límites de velocidad:
PCI-E 3.0 4x a aproximadamente 3900 MB / s
PCI-E 2.0 4x 2000 MB / s
PCI-E 1.0 4x 1000 MB / s
Las unidades con PCI-E 3.0 4x en la práctica alcanzan velocidades de aproximadamente 3500 MB / s.
Se puede suponer que la velocidad alcanzable será la siguiente:
PCI-E 3.0 4x a aproximadamente 3,500 MB / s
PCI-E 2.0 4x a aproximadamente 1800 MB / s
PCI-E 1.0 4x a aproximadamente 900 MB / s

Que es más rápido que SATA 600 MB / s. La velocidad alcanzable para SATA 600 MB / s es de alrededor de 550 MB / s.
Al mismo tiempo, en las placas base más antiguas, la velocidad SATA del controlador integrado puede no ser de 600 MB / s, sino de 300 MB / so 150 MB / s. Aquí, el controlador integrado = controlador SATA integrado en el puente sur del conjunto de chips.

Observo que NCQ funcionará para la SSD NVME, pero este puede no ser el caso con los controladores integrados más antiguos.

Hice cálculos para PCI-E 4x, sin embargo, algunas unidades tienen un bus PCI-E 2x. Esto es suficiente para PCI-E 3.0, pero para los estándares PCI-E más antiguos, 2.0 y 1.0, es mejor no tomar tales SSD NVME. Además, una unidad con un búfer en forma de chip de memoria será más rápida que sin ella.

Para aquellos que desean abandonar por completo el controlador SATA integrado, les aconsejo que utilicen el controlador Asmedia ASM 106x (1061 y otros), que proporciona dos puertos SATA 600 (internos o externos). Funciona muy bien (después de actualizar el firmware), en modo AHCI es compatible con NCQ. Está conectado a través del bus PCI-E 2.0 1x.

Su velocidad máxima:
PCI-E 2.0 1x 500 MB / s
PCI-E 1.0 1x 250 MB / s
La velocidad alcanzable será así:
PCI-E 2.0 1x 460 MB / s
PCI-E 1.0 1x 280 MB / s

Esto es suficiente para un SSD SATA o dos discos duros.

Deficiencias


1. Los parámetros SMART no se leen con NVME SSD, solo hay datos generales sobre el fabricante, el número de serie, etc. Quizás debido a una placa base demasiado vieja (mp). Para mis experimentos inhumanos , utilicé el mp más antiguo que pude encontrar con el chipset nForce4.

2. TRIM debería funcionar, pero debería verificarse.

Conclusión


Hay otras opciones: comprar un controlador SAS con un conector PCI-E 4x u 8x (¿hay 16x o 32x?). Sin embargo, si son baratos, admiten SAS 600, pero SATA es solo 300, y los costosos serán más caros y más lentos que el método propuesto anteriormente.

Para usar con M $ Windows, puede instalar software adicional: un gestor de arranque con controladores incorporados para SSD NVME.

Mira aquí:
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

Sugiero al lector que evalúe por sí mismo si necesita dicha aplicación de SSD NVME, o si sería mejor comprar una nueva placa base (+ procesador + memoria) con un conector PCI-E M.2 existente y soporte para la descarga de SSD NVME a EFI.

Source: https://habr.com/ru/post/472068/


All Articles