Como corretamente desligar o ubuntu no modo de usuário único?

4

Eu tenho procurado muito, apenas para descobrir que muitas pessoas se depararam com esse problema. Adicionando rw init = / bin / bash ao final da linha vmlinuz, eu posso entrar no modo de usuário único do UBUNTU 10.04 LTS mas, quando eu digito shutdown ou reboot, ele apenas disse que não pode fazer isso. Então eu corro "/ sbin / init 0" e ele disse que não pode conectar a meia de iniciante.

Meu palpite é, porque nós substituímos / sbin / init por / bin / bash e não há init (nem arremetida), portanto, o desligamento não pode ser feito.

Eu notei que um cara disse ao entrar sair e eu deveria ir para a próxima fase da inicialização normal. Eu tentei isso, e o sistema ubuntu no meu VMWare ficou preso, e se comportou estranho, pelo menos no sentido da luz CAPLOCK que ficava piscando .. (ocupação da CPU também)

Qualquer intervenção é apreciada, obrigado antecipadamente ~

==== ATUALIZADO ===== Eu tentei single em vez de init = / usr / bash, mas foi direto para o modo multi-usuário.

    
por allan ruin 27.12.2011 / 15:55

1 resposta

3

Quando você não tem init ou outros processos ao lado do seu shell, não há quase nada para desligar. Na verdade, a única coisa importante é o sistema de arquivos - sincronize-o, desmonte todos os sistemas de arquivos em disco ou remonte como somente leitura (se não puder ser desmontado, por exemplo, o rootfs):

sync
umount /home
mount -o remount,ro /

Depois disso, você também pode puxar o plugue.

Outra coisa que você pode tentar ( mas não tenho ) é iniciar o init original. Certifique-se de que nenhum processo além do shell pid1 esteja sendo executado e, em seguida, mude para o diretório raiz e exec init :

cd /
sync
exec /sbin/init

exec substitui o processo atual pelo que foi dado, então começou desta forma / sbin / init irá pegar o especial pid 1 do seu shell.

No entanto, se o pid 1 sair, o kernel entrará em pânico imediatamente - então certifique-se de ter pelo menos sync dos sistemas de arquivos antes de fazer isso.

Quando o kernel entra em pane, ele imprime uma mensagem, começa a piscar os LEDs do teclado e pára todo o resto - ele pára até mesmo o loop que normalmente diz para a CPU permanecer inativa; isso provavelmente é o que causa a loucura do Caps Lock e o alto uso da CPU pela sua máquina virtual.

Seu "algum cara" estava certo - no modo de usuário único real , digitar exit normalmente alterna para multiusuário ou pelo menos reinicialização limpa. No entanto, init=/bin/bash não não inicia este modo; ele não inicia nada, além do kernel e do shell bash . Para alcançar o modo de usuário único real , você precisaria adicionar single à linha de comando do kernel. (Às vezes, 1 ou s funciona, mas nem todas as distribuições usam runlevels.) No Ubuntu, isso costumava ser chamado de "modo de recuperação".

    
por 28.12.2011 / 01:00