Posso usar um USB inicializável para inicializar o Ubuntu em um SSD PCIe?

3

A BIOS do meu computador não reconhece a unidade PCIe NVME SSD (suficiente abreviações?) como algo que eu posso inicializar. O BIOS é antigo (última atualização 2011) e possivelmente a placa PCIe não implementa o suporte de inicialização.

Quando o Ubuntu (em outra unidade SATA) estiver em execução, posso ver e acessar a unidade PCIe.

Como uma solução alternativa, eu queria saber se eu poderia criar um USB inicializável com o grub que é capaz de identificar e inicializar a partir do SSD PCIe? Isso é possível e como eu faria isso? (Eu não acho que eu preciso de boot UEFI, é uma máquina antiga.)

    
por artfulrobot 30.04.2018 / 00:11

1 resposta

1

Com o Linux, você pode fazer uma inicialização de etapa dupla se usar o initramfs ou algo semelhante.

O Linux pode inicializar a partir de praticamente qualquer coisa, como um stick USB lento, cartão de memória, etc., mas ele deve ser inicializado a partir de algo que a BIOS pode ver.

Disse que, existe uma maneira de inicializar o dual step para inicializar qualquer Linux, eu tentarei explicá-lo.

Linux e Grub2 podem inicializar a partir do USB, enquanto que a primeira coisa que é feita é carregar um kernel e um initramfs ou equivalente.

Para inicializar a partir de um dispositivo que não parece ser da BIOS, você coloca essa parte em uma unidade USB ou em uma partição de HDD interna ou SSD ou onde a BIOS possa inicializar a partir de.

Então, basicamente, você coloca o código de inicialização (MBR) + os estágios Grub + kernel + initramfs em um dispositivo que pode ser visto pelo BIOS ... também conhecido como / boot como uma partição. O resto você coloca no NVMe rápido ou onde quer que você queira, mas ele deve estar em um dispositivo que pode ser visto dentro desse passo de inicialização do initramfs (este é o mesmo truque de inicializar dentro do LVM e / ou LUKS, etc) .

Então existe o truque, colocar algum driver no initramfs (ou compilar um kernel, ou um módulo do kernel, etc) que irá ligar sua placa PCIe e o NVMe, a partir deles a unidade é vista e o processo de inicialização pode continue; o instalador do Linux fará isso automaticamente na maioria dos casos, portanto não entre em pânico.

Continuando:

  • Código de inicialização, Grub, Kernel e initramfs em um dispositivo inicializável visto pela BIOS (isso é basicamente uma partição / boot)
  • initramfs com driver para ativar o PCIe NVMe
  • sistema de arquivos raiz no PCIe NVMe

E voila, o Linux pode inicializar ... que é uma inicialização de passo duplo ... primeiro inicializar uma pequena parte de um dispositivo de inicialização da BIOS, depois de dentro da unidade RAM ele carrega o que precisa para ativar a placa PCIe e o NVMe (e muito mais), então ele continua inicializando com o root montado no NVMe.

Parece fácil, mas pode ser complicado, a parte do DEBUG initramfs PCIe e NVMe pode ser tão fácil quanto nada ou um headage real.

Eu posso sugerir a você, que tente um LiceCD, se ele vir o NVMe, então conecte um pendrive e, ao instalar, diga ao instalador para colocar / boot em uma partição USB e Grub também no USB MBR; em seguida, configure o BIOS para inicializar a partir do USB e a mágica é feita.

Ter / boot em um dispositivo lento não diminui muito a inicialização, já que são poucos megabytes.

Mas alguns PCs muito antigos (um dos meus antigos Pentium IV) tem um BIOS muito estranho que usa o USB 2.0 na velocidade do USB 1.x, então o menu Grub de inicialização é bastante rápido, mas carregando o kernel + initramfs pode levar de dois a cinco minutos.

Se você tiver qualquer pen USB 3.xe porta USB 3.x inicializável (nem todas as placas-mãe permitem inicializar a partir do USB 3.x), tente com isso, é muito mais rápido que o USB 2.xe muito mais mais rápido que as antigas velocidades USB 1.x legadas.

E, claro, se você tiver qualquer outro dispositivo de armazenamento (interno) visto pelo BIOS, como o HDD normal ou um SSD sata, use esse dispositivo em vez do USB, pois ele pode ser mais rápido na maioria dos casos.

Solução:

  • Use um dispositivo que é visto pelo BIOS como inicializável para a partição Grub + / boot ao instalar o Linux
  • E use o PCIe NVMe para o sistema de arquivos raiz
  • Configure o BIOS para inicializar a partir do dispositivo em que você colocou a partição Grub + / boot

Na maioria dos casos é simples assim, a maioria se no LiveCD o PCie NVMe é visto sem instalar nada, para testar se o LiveCD inicializa sem conexão à Internet (para garantir que nada seja baixado), veja se o NVMe é visto e então conecte-se à Internet, se quiser.

Espero que você entenda: Grub & / partição de inicialização em um dispositivo separado, um dispositivo que pode ser visto pelo BIOS como inicializável, que é a chave.

P.ª: Eu gosto de explicar porque a coisa funciona e porque eu sugiro coisas, não apenas através da solução sem explicar a idéia, etapas, etc. e fórum não me permitem postar comentários.

    
por Laura 18.10.2018 / 09:23