Por que não sou capaz de insmod ou executar comandos GRUB de um DVD de extensão Debian?

1

Eu só posso executar o salvamento, instalação, instalação gráfica e assim por diante com os parâmetros de inicialização. Eu não sou capaz de insmod ls ou echo e não posso alterar / editar o initrd para algum outro arquivo.

O que é sobre este ISO / DVD1 que o torna tão desagradavelmente especial? Eu queria carregar um initrd.gz diferente - um que está no USB. Meu entendimento é que desde que um CDROM está sendo usado, insmod pata será carregado por padrão e, portanto, o disco rígido está inacessível de qualquer maneira, exceto através dos drivers do kernel?

Mas não estamos carregando o kernel primeiro via linux /install.amd/vmlinuz < - assim teremos um kernel funcional - no entanto, os módulos vêm de initrd.gz Portanto, há algumas razões para desabilitar a linha de comando do GRUB edição no DVD-GRUB, talvez?

No entanto eu montei o DVD e dei uma olhada em / boot e ele tem montes de módulos em boot / grub / x86_64-efi / echo.mod ls.mod etc nenhum dos quais posso insmod ??? Por que não? (este problema tem algo a ver com a EFI? Estou tentando inicializar de um sistema que não possui EFI)

    
por putty 20.10.2018 / 14:46

1 resposta

1

Desde que você disse que seu sistema não tem EFI, seu sistema está inicializando em estilo BIOS antigo. E o que você está lidando é uma limitação típica do BIOS.

E o gerenciador de inicialização usado ao inicializar usando o estilo antigo do BIOS a partir de um DVD não é o GRUB, mas o ISOLINUX, uma variante do Syslinux que se destina especificamente para a inicialização de CDs, DVDs e outras mídias que usam o sistema de arquivos ISO9660.

Você está tentando aplicar comandos destinados ao GRUB para o ISOLINUX, e isso definitivamente não funcionará.

Outra questão é que o gerenciador de inicialização normalmente não usa seus próprios drivers, mas depende do suporte ao firmware. No seu caso, isso significa suporte ao BIOS, e há um acréscimo adicional: a fim de maximizar a compatibilidade com versões anteriores do BIOS até o IBM PC / AT original (lançado em 1986), o suporte e a unidade de CD / DVD O suporte a armazenamento USB no BIOS são módulos adicionais que geralmente só entram em ação quando você escolhe especificamente inicializar a partir deles nas configurações do BIOS.

Portanto, se você escolher inicializar a partir do DVD, o BIOS fornecerá suporte para acessar o DVD, mas não para acessar um dispositivo de armazenamento USB; e vice-versa, se você escolher inicializar a partir de um dispositivo de armazenamento USB. Se você inicializar a partir de um disco rígido normal, o suporte para suporte a armazenamento de DVD e USB normalmente será desativado até que o sistema operacional carregue drivers para eles.

(Em sistemas mais recentes, vi algumas exceções: alguns sistemas têm uma opção de BIOS para habilitar o "suporte de armazenamento USB legado", que permite que o suporte de armazenamento USB no nível do BIOS seja ativado o tempo todo. não é um recurso padrão.)

O diretório /boot/grub/x86_64-efi é usado apenas quando você está inicializando a partir do DVD em estilo EFI: nesse caso, o carregador de inicialização será o GRUB, e os comandos insmod que você descreveu podem estar disponíveis. Mas como o EFI, diferentemente do BIOS, geralmente fornece suporte completo para armazenamento USB e dispositivos de CD / DVD o tempo todo, você provavelmente não precisaria deles a menos que o firmware EFI do sistema estivesse com problemas. (O que infelizmente é mais comum do que com o BIOS, já que a EFI ainda não possui os 30 anos ou mais de histórico de desenvolvimento que o BIOS possui.)

O Debian 9 DVD 1 também parece ter sido preparado com isohybrid ou uma ferramenta similar, para que possa ser gravado em um dispositivo de armazenamento USB com uma simples ferramenta dd ou similar.

Quando tratado dessa forma, ele possui outra camada de particionamento híbrido: possui uma tabela de partições MBR que indica duas partições, uma cobrindo quase toda a imagem, com um sistema de arquivos ISO9660 e outra apresentada como uma partição MBR tipo 0xef contendo uma Partição de inicialização EFI. O Registro de Inicialização Principal parece ter algum código que tenta carregar isolinux.bin se você tentar inicializar a partir deste ISO-em-USB no estilo da BIOS.

Mas você também pode optar por tratá-lo como um HDD formatado em GPT: ele também tem uma tabela de partição GPT que descreve a mesma coisa.

    
por 20.10.2018 / 16:10