O que acontecerá se um PC inicializar com vários discos, todos com partições inicializáveis?

1

Percebi que se a instância no AWS EC2 tiver vários discos, todos com partição inicializável, a instância inicializará aleatoriamente a partir do disco, sem que seja na ordem do ID do volume do EBS ou do nome do dispositivo do disco. Eu queria saber se há alguma regularidade nessa situação. O que acontecerá se um PC inicializar com vários discos, todos com partições inicializáveis? O PC escolheria os discos para inicializar seguindo qualquer tipo de regra?

Jepsenwan
fonte

Respostas:

3

Acho que o artigo do AWS EC2 User Guide Minha instância está inicializando a partir do volume errado é uma resposta profunda à sua pergunta. A ênfase é minha.

Em algumas situações, você pode achar que um volume diferente do volume anexado /dev/xvdaou /dev/sdase tornou o volume raiz da sua instância. Isso pode acontecer quando você anexou o volume raiz de outra instância ou um volume criado a partir da captura instantânea de um volume raiz a uma instância com um volume raiz existente.

Isso ocorre devido ao funcionamento do ramdisk inicial no Linux. Ele escolherá o volume definido como /em /etc/fstab, e em algumas distribuições, incluindo Amazon Linux, isso é determinado pelo rótulo anexado à partição de volume .

E a correção em resumo:

Use o e2labelcomando para alterar o rótulo do volume para algo diferente de /.

[ec2-user ~]$ sudo e2label /dev/xvdf1 old/
Esa Jokinen
fonte
Eu acho que o OP está perguntando sobre o comportamento de um PC. Ótima resposta embora.
Executar CMD
Obrigado. Isso ocorre porque o BIOS no ambiente de computação em nuvem não pôde ser operado para selecionar um volume para inicializar. Mas suponho que o BIOS virtualizado possa ter escolhido um volume por padrão, não é?
Jepsenwan 9/06
11
Não se trata exatamente de qual volume o BIOS está escolhendo, @Jepsenwan. É sobre qual volume o carregador de inicialização no primeiro volume está escolhendo conforme o processo de inicialização prossegue. Você teria exatamente o mesmo problema em um PC comum, mesmo que o BIOS estivesse inicializando o "primeiro" disco rígido, mas você tivesse volumes com os mesmos rótulos ... isso se torna mais provável em um ambiente em nuvem devido à relativa simplicidade de volumes de clonagem e recolocação e o fato de que os volumes de inicialização de todas as máquinas tendem a ter uma ancestralidade comum.
Michael - sqlbot
AFAIK, você não pode acessar as configurações do BIOS na AWS. Acho que é por isso que não há opções de ordem de inicialização e a AWS permite que a init.rdprimeira instância lide com isso, conforme descrito no artigo. Portanto, alterar o rótulo é a solução para o seu problema.
Esa Jokinen
Obrigado. e desculpe, eu apenas removi a pergunta anterior ... Como Michael descreveu, mesmo que o disco de inicialização seja escolhido na configuração do BIOS. O carregador de inicialização no primeiro volume escolherá o primeiro driver rígido com o rótulo. Você poderia descobrir se isso acontece no estágio 1? Por exemplo, se eu usar a partição MBR, o carregador de inicialização no estágio 1 procurará um driver rígido em vez de um driver do sistema de arquivos no estágio 1.5 ou um VBR em outras partições no mesmo disco no estágio 2?
Jepsenwan 9/17