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

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

Si está configurado correctamente, puede arrancar desde un SSD NVME incluso en sistemas más antiguos. Se supone que el sistema operativo (SO) puede funcionar con SSD NVME. Estoy considerando iniciar el sistema operativo, porque con los controladores disponibles en el sistema operativo, el SSD NVME es visible en el sistema operativo después de iniciar y se puede usar. No se requiere software adicional (software) para Linux. Para sistemas operativos de la familia BSD y otros Unixes, lo más probable es que el método también sea adecuado.

Para arrancar desde cualquier unidad, el cargador de arranque (BOP), BIOS o EFI (UEFI) debe contener controladores para este dispositivo. Las unidades SSD NVME son dispositivos bastante nuevos en comparación con BIOS, y no existen tales controladores en el firmware de las placas base más antiguas. En EFI sin compatibilidad con SSD NVME, puede agregar el código apropiado y luego será posible trabajar completamente con este dispositivo; puede instalar el sistema operativo y arrancarlo. Para sistemas antiguos con los llamados. Es poco probable que el "BIOS heredado" arranque el sistema operativo haga esto. Sin embargo, esto se puede omitir.

Как делать

Usé openSUSE Leap 15.1. Para otros Linux, los pasos serán más o menos los mismos.

1. Preparemos la computadora para instalar el sistema operativo.
Necesita una PC o servidor con una ranura PCI-E 4x o más larga, sin importar la versión, PCI-E 1.0 es suficiente. Por supuesto, cuanto más nueva sea la versión PCI-E, más rápida será la velocidad. Bueno, en realidad, SSD NVME con 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 la cual pueda cargar el sistema operativo. Puede ser un HDD con conexión IDE, SATA, SCSI. S.A.S. O unidad flash USB o tarjeta de memoria. No cabrá en un disquete. Un CD-ROM no funcionará y deberá volver a escribirse. DVD-RAM - ni idea. Llamaremos condicionalmente a esto una "unidad de BIOS heredada".

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

3. Al particionar un disco, distribuya el sistema operativo entre las unidades disponibles:
3.1. Vamos a crear una partición para el cargador de arranque GRUB al comienzo del "BIOS de la unidad heredada" con un tamaño de 8 MB. Observo que aquí se usa la función openSUSE: GRUB en una partición separada. Para openSUSE, el sistema de archivos predeterminado (FS) es BTRFS. Si coloca GRUB en una partición con un sistema de archivos BTRFS, el sistema no se iniciará. Por lo tanto, se utiliza una sección separada. Puede colocar GRUB en otro lugar, siempre que arranque.
3.2. Después de la partición con GRUB, crearemos una partición con parte de la carpeta del sistema ("raíz"), es decir, con "/boot/", de 300 MB de tamaño.
3.3. El resto de las bondades: el resto de la carpeta del sistema, la partición de intercambio, la partición de usuario "/home/" (si decide crear una) se puede colocar en el SSD NVME.

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

Requisitos de capacidad para un "BIOS de unidad heredada": 8 MB para una partición GRUB es el valor predeterminado, y entre 200 MB para /boot/. 300 MB tomé con un margen. Al actualizar el kernel (y al instalar otros nuevos), Linux repondrá la partición /boot/ con archivos nuevos.

Estimación de velocidad y costo

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

Velocidades límite:
PCI-E 3.0 4x sobre 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 alrededor de 3500 MB / s.
Se puede suponer que la velocidad alcanzable será la siguiente:
PCI-E 3.0 4x sobre 3500 MB/s
PCI-E 2.0 4x sobre 1800 MB/s
PCI-E 1.0 4x sobre 900 MB/s

Que es más rápido que SATA 600 MB/s. La velocidad alcanzable para SATA 600 MB/s es de aproximadamente 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/s o 150 MB/s. Aquí controlador integrado = controlador SATA integrado en el puente sur del conjunto de chips.

Observo que NCQ funcionará para SSD NVME, mientras que los controladores integrados más antiguos pueden no tener esto.

Hice los 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 usar SSD NVME de este tipo. Además, una unidad con un búfer en forma de chip de memoria será más rápida que sin él.

Para aquellos que quieran abandonar por completo el controlador SATA integrado, les aconsejo que utilicen el controlador Asmedia ASM 106x (1061, etc.), que proporciona dos puertos SATA 600 (internos o externos). Funciona bastante bien (después de una actualización de firmware), en modo AHCI es compatible con NCQ. 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á:
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.

Desventajas notadas

1. No leído Parámetros INTELIGENTES con SSD NVME, solo hay información general sobre el fabricante, número de serie, etc. Quizás debido a una placa base demasiado antigua (mp). Para mis experimentos inhumanos, utilicé el mp más antiguo que pude encontrar, con un chipset nForce4.

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

Conclusión

Hay otras opciones: comprar un controlador SAS con una ranura PCI-E 4x u 8x (¿hay 16x o 32x?). Sin embargo, si son baratos, admiten SAS 600, pero SATA 300, y los costosos serán más costosos 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 integrados para SSD NVME.

Ver aqui
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
foro.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

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

Fuente: habr.com

Añadir un comentario