Usando o NVME SSD como uma unidade do sistema em computadores com BIOS antigo e SO Linux

imagem

Se configurado adequadamente, você pode inicializar a partir do NVME SSD, mesmo em sistemas mais antigos. Supõe-se que o sistema operacional (SO) possa trabalhar com o NVME SSD. Considero o carregamento do sistema operacional, pois com os drivers NVME disponíveis no sistema operacional, o SSD fica visível no sistema operacional após o carregamento e pode ser usado. Software adicional (software) para Linux não é necessário. Para sistemas operacionais da família BSD e outros Unixes, o método provavelmente também é adequado.

Para inicializar a partir de uma unidade, é necessário que o programa de inicialização (BIOS), BIOS ou EFI (UEFI) contenha os drivers para este dispositivo. Os SSDs NVME são dispositivos relativamente novos em comparação com o BIOS, e não existem drivers no firmware do firmware de placas-mãe antigas. Na EFI, sem o suporte NVME SSD, você pode adicionar o código apropriado e, em seguida, torna-se possível trabalhar totalmente com este dispositivo - você pode instalar o sistema operacional e carregá-lo. Para sistemas mais antigos com os chamados É improvável que o "BIOS herdado" possa ser feito carregando o sistema operacional. No entanto, isso pode ser contornado.

Como fazer


Eu usei o openSUSE Leap 15.1. Para outro Linux, as ações serão aproximadamente as mesmas.

1. Prepare o computador para instalar o sistema operacional.
Você precisa de um PC ou servidor com um conector PCI-E 4x gratuito ou mais, independentemente da versão, o PCI-E 1.0 é suficiente. Obviamente, quanto mais nova a versão PCI-E, maior a velocidade. Bem, na verdade, NVME SSD com um adaptador M.2 - PCI-E 4x.
Você também precisa de algum tipo de unidade com capacidade de 300 MB ou mais, visível no BIOS e a partir da qual você pode carregar o sistema operacional. Pode ser um disco rígido com conexão via IDE, SATA, SCSI. SAS. Ou uma unidade flash USB ou um cartão de memória. Não caberá em um disquete. O CD-ROM não funcionará, é necessário reescrever. DVD-RAM - não faço ideia. Vamos chamar isso de "unidade BIOS herdada".

2. Faça o download do Linux para instalação (de um disco óptico ou unidade flash inicializável etc.).

3. Ao marcar o disco, distribuiremos o SO para as unidades disponíveis:
3.1 Crie uma partição para o carregador de inicialização GRUB no início da "unidade herdada do BIOS" de tamanho 8 MB. Observo que aqui usamos o recurso openSUSE - GRUB em uma seção separada. Para o openSUSE, o sistema de arquivos BTRFS (FS) é usado por padrão. Se o GRUB for colocado em uma partição com o BTRFS FS, o sistema não inicializará. Portanto, uma seção separada é usada. Você pode colocar o GRUB em outro local se apenas ele estiver carregado.
3.2 Após a partição com o GRUB, crie uma partição com uma parte da pasta do sistema ("root"), ou seja, com "/ boot /", com 300 MB de tamanho.
3.3 O restante da mercadoria - o restante da pasta do sistema, a partição de troca, a partição de usuário “/ home /” (se você decidiu criar uma) pode ser colocada no NVME SSD.

Após a instalação, o sistema carrega o GRUB, que baixa arquivos de / boot /, após o qual o NVME SSD se torna disponível e, em seguida, o sistema inicializa a partir do NVME SSD.
Na prática, recebi uma aceleração significativa.

Requisitos de capacidade para a "unidade herdada do BIOS": 8 MB para a partição GRUB é o padrão e algo em torno de 200 MB para / boot /. Tirei 300 MB com uma margem. Ao atualizar o kernel (e ao instalar novos), o Linux reabastece a seção / boot / com novos arquivos e, ao remover mais kernels desnecessários, libera espaço. O espaço restante na "unidade herdada do BIOS" fora dessas duas seções pode ser usado a seu critério.

Estimativa de velocidade e custo


O custo do NVME SSD 128 GB - de cerca de 2000 p.
O custo do adaptador M.2 - PCI-E 4x - de cerca de 500 p.
Também estão à venda adaptadores M.2 - PCI-E 16x para quatro unidades SSD NVME, a um preço de 3000 r. - se alguém precisar.

Limites de velocidade:
PCI-E 3.0 4x a cerca de 3900 MB / s
PCI-E 2.0 4x 2000 MB / s
PCI-E 1.0 4x 1000 MB / s
Na prática, as unidades com PCI-E 3.0 4x atingem velocidades de cerca de 3500 MB / s.
Pode-se supor que a velocidade alcançável será a seguinte:
PCI-E 3.0 4x a cerca de 3.500 MB / s
PCI-E 2.0 4x a cerca de 1800 MB / s
PCI-E 1.0 4x a cerca de 900 MB / s

O que é mais rápido que o SATA 600 MB / s. A velocidade alcançável para o SATA 600 MB / s é de cerca de 550 MB / s.
Ao mesmo tempo, em placas-mãe mais antigas, a velocidade SATA do controlador interno pode não ser de 600 MB / s, mas de 300 MB / s ou 150 MB / s. Aqui, o controlador on-board = SATA integrado à ponte sul do chipset.

Observo que o NCQ funcionará para o NVME SSD, mas isso pode não ser o caso de controladores on-board mais antigos.

Fiz cálculos para PCI-E 4x, no entanto, algumas unidades possuem um barramento PCI-E 2x. Isso é suficiente para o PCI-E 3.0, mas para os padrões PCI-E mais antigos - 2.0 e 1.0 - é melhor não usar esses SSDs NVME. Além disso, uma unidade com um buffer na forma de um chip de memória será mais rápida do que sem ela.

Para aqueles que desejam abandonar completamente o controlador SATA on-board, recomendo que você use o controlador Asmedia ASM 106x (1061 e outros), que fornece duas portas SATA 600 (internas ou externas). Funciona muito bem (após atualizar o firmware), no modo AHCI suporta NCQ. É conectado através do barramento PCI-E 2.0 1x.

Sua velocidade máxima:
PCI-E 2.0 1x 500 MB / s
PCI-E 1.0 1x 250 MB / s
A velocidade alcançável será assim:
PCI-E 2.0 1x 460 MB / s
PCI-E 1.0 1x 280 MB / s

Isso é suficiente para um SSD SATA ou dois discos rígidos.

Deficiências


1. Os parâmetros SMART não são lidos com o NVME SSD, existem apenas dados gerais sobre o fabricante, número de série, etc. Talvez devido a uma placa-mãe muito antiga (mp). Para minhas experiências desumanas , usei o mp mais antigo que encontrei com o chipset nForce4.

2. O TRIM deve funcionar, mas deve ser verificado.

Conclusão


Existem outras opções: compre um controlador SAS com um conector PCI-E 4x ou 8x (existem 16x ou 32x?). No entanto, se forem baratos, suportam o SAS 600, mas o SATA é de apenas 300 e os caros serão mais caros e mais lentos que o método proposto acima.

Para uso com o M $ Windows, você pode instalar software adicional - um gerenciador de inicialização com drivers internos para o NVME SSD.

Veja 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
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

Eu sugiro que o leitor avalie por si mesmo se ele precisa dessa aplicação do NVME SSD ou se seria melhor comprar uma nova placa-mãe (+ processador + memória) com um conector M.2 PCI-E existente e suporte para o download do NVME SSD para EFI.

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


All Articles