Existe uma maneira de carregar a linha de comando do GRUB de dentro do Linux?

1

Título.

Isso é feito principalmente para fins educacionais, por isso não preciso continuar ligando e desligando meu computador novamente.

    
por extremeaxe5 29.09.2018 / 06:12

1 resposta

0

Suponho que sua pergunta é sobre como depurar o processo de inicialização, ou seja, testar se uma nova configuração do grub funcionaria como esperado, antes de reinicializar para real:

É possível com a virtualização.

No entanto, há muitos casos se você acabou de inicializar seu disco físico que está executando o sistema novamente em uma VM. Você precisa sincronizar as gravações pendentes no disco, liberar os caches e, em seguida, iniciar a VM com uma visualização somente leitura estrita das unidades ( talvez em uma camada copy-on-write ). Você também tem que desativar totalmente a rede - ou ele irá baixar seus e-mails e excluí-los do servidor dentro da VM, onde esses dados serão perdidos no desligamento.

E, mesmo assim, a VM pode simplesmente travar se usar um sistema de arquivos que já está em uso e sendo modificado pelo host. Você poderia contornar esse problema usando um snapshot adequado, mas normalmente não é possível apenas snapshot de uma unidade inteira e snapshot de um único LV não ajudará, já que a VM só verá a mesma estrutura de snapshot ao ser inicializada.

Portanto, é melhor que o host permaneça ocioso e não tenha atividade do sistema de arquivos enquanto a VM estiver em execução ou simplesmente pare a VM após a fase de inicialização crítica. Como a VM é somente de leitura, você pode apenas fechá-la / eliminá-la / sem necessidade de um desligamento adequado dentro da VM. Portanto, mesmo que a VM falhe, isso realmente não importa além de tornar a depuração difícil, é claro.

Desde que você esteja ciente das ramificações, isso se resume a um simples qemu, basicamente:

sync
echo 3 > /proc/sys/vm/drop_caches
qemu -net none -drive file=/dev/disk,readonly
# leave out readonly for a copy-on-write device:
qemu -net none -drive file=/dev/mapper/copy-on-write-disk

(o qemu precisa de mais opções para rodar corretamente, verifique qualquer guia do qemu para mais detalhes - por exemplo, se você estiver usando uma distro como o Gentoo que é estritamente otimizado para um tipo de CPU você também precisa de -cpu host - mas é mais ou menos a essência disso.)

    
por 29.09.2018 / 09:17

Tags