O `rm -rf / --no-preserve-root` pode atrapalhar a BIOS?

35

Para ver as velocidades aproximadas de tarballing de um sistema inteiro e, em seguida, restaurá-lo quando estiver em uso, clonei parcialmente um de nossos sistemas primários em uma estação de trabalho que, embora não seja parte integrante dos sistemas da empresa, seria bom tem funcionamento. Cronometrei a criação do tarball de todo o sistema e o inspecionei para garantir que parecesse bom.

Eu então corri rm -rf / --no-preserve-root. Eu nunca tive a oportunidade de fazer isso antes, então foi muito divertido. No início.

Quando reiniciei a caixa, nada apareceu. Não é um logotipo "Dell", não há opções para o BIOS, nada.

Liguei a unidade a uma caixa diferente e descobri para meu desgosto que havia uma partição UEFI. Presumo que meu Comando da Morte tenha efetivamente manejado essa partição.

Liguei uma unidade diferente e funcional à estação de trabalho agora extinta, mas a estação de trabalho ainda não faz nada.

Alguém viu algo assim, ou tem sugestões sobre o que procurar? Como a execução desse rmcomando conseguiu atrapalhar tanto a caixa inteira?

ATUALIZAÇÃO: devolvemos a caixa à Dell. Não conseguimos diagnosticar com precisão se era uma coincidência ou a situação descrita por dronus . No entanto, aceitarei a resposta de dronus, pois descreve uma possível razão pela qual isso aconteceria. Além disso, alertará outras pessoas a não fazerem a mesma coisa no futuro. Se alguém encontrar algum registro da Dell usando o UEFI com bugs, isso seria útil.

MirroredFate
fonte
10
A partição do sistema UEFI foi montada no momento em que você executou esse comando? Caso contrário, não deve ser afetado. É então você ainda deve poder inicializar no firmware. O melhor palpite é que ele foi montado, que você excluiu um carregador de inicialização e que o firmware ainda está configurado para carregar somente a partir dele. Ainda assim, você deve conseguir entrar no firmware.
Hennes
@ Henes Sim, tenho certeza de que foi montado.
MirroredFate
Qual modelo Dell?
Mark Plotnick
@MarkPlotnick XPS8700
MirroredFate
Tente redefinir as configurações do CMOS. É feito movendo um jumper; você não precisa remover a bateria. Página 84 em downloads.dell.com/Manuals/all-products/esuprt_desktop/… . Também é possível tentar pressionar F2 assim que terminar o POST para tentar acessar a tela de configuração.
MarkPlotnick

Respostas:

47

Uma possibilidade rara pode ser que você tenha acionado alguns dos infames bugs UEFI, que já mataram algumas séries de notebooks Samsung e Lenovo.

Funciona assim: as especificações UEFI propõem uma memória não volátil (nvram ou eeprom) que pode ser acessada pelo sistema operacional para armazenar configurações ou informações de depuração. O Linux realmente usa esse recurso em caso de pânico no kernel: se o sistema de arquivos raiz não é mais confiável (por exemplo, após uma exceção no código do kernel), ele é alternado para somente leitura. Agora, o recurso UEFI pode ser usado e as informações de depuração são gravadas na memória não volátil. Até agora, isso parece uma boa ideia: os dados podem ser recuperados mais tarde e usados ​​para explorar os motivos da falha.

No entanto, com algumas linhas de firmware UEFI com erros, algumas rotinas de gerenciamento da memória de mensagens não voláteis são interrompidas. Dependendo das mensagens, esses firmwares travam na inicialização da memória da mensagem, geralmente bem cedo na inicialização. Eles podem nem chegar à inicialização do VGA; nesse caso, a máquina parece totalmente emparedada. Nos casos mencionados acima, não havia solução de software e as placas principais tiveram que ser substituídas.

A execução rm -rf / --no-preserve-rootpode desencadear outro erro do kernel ao percorrer e excluir sistemas de arquivos do kernel como /sys, /devou /proc, que pode finalmente levar a um pânico no kernel, finalmente desencadeando o erro de memória de mensagens não voláteis mencionado acima.

dronus
fonte
5
Bem, isso é deprimente. Mas é uma explicação funcional, pelo menos.
MirroredFate
4
Para um pouco mais sobre isso, consulte, por exemplo, Lidando com peculiaridades de memória não volátil da UEFI e o bug anterior do laptop Samsung não é específico do Linux , por Matthew Garrett.
um CVn
@ MichaelKjörling Uau. Isso vai contra tudo o que eu suspeitaria.
MirroredFate
2
Você pode substituir a palavra "BIOS" por uma palavra apropriada como "firmware", a menos que você realmente queira dizer o IBM PC BIOS? Isso normalmente não é algo exigente, mas, neste caso, você realmente precisa deixar claro porque usa as palavras UEFI e BIOS na mesma frase (mesmo uma ao lado da outra), o que é meio confuso.
Mehrdad 22/05
1
Substituído. Para a maioria das pessoas, algo que quase ainda parece BIOS e se sente como BIOS será BIOS para sempre ...
dronus
27

Não, não é possível destruir o BIOS (herdado ou UEFI) dessa maneira com esse comando.

Mesmo que você tenha conseguido destruir a partição UEFI, os arquivos principais do BIOS não serão afetados, pois residem na memória não volátil (principalmente com base em flash) conectada à placa-mãe.

A partição UEFI hospeda componentes de software adicionais (por exemplo: depurador, driver, ecc), mas a máquina deve inicializar no BIOS mesmo sem uma partição UEFI válida.

shodanshok
fonte
Este foi o meu entendimento. Você conhece algum motivo para ver o comportamento que descrevi?
MirroredFate
1
Só posso imaginar que a estação de trabalho apresentava falhas de hardware e que a carga (relativamente) alta imposta por seu untar / delete o derrubava. Tem que tentar recolocar CPU e memória? Você tentou limpar o CMOS?
Shodanshok
1
A memória sim. O que foi estranho, porque remover a memória nem resultou no computador indicando que havia algo errado. Ainda não tentei recolocar a CPI. Tentei limpar o CMOS, mas provavelmente deveria deixar a bateria fora por mais tempo.
MirroredFate
Embora seja verdade, é extremamente raro destruir realmente o hardware apenas por software. Uma exceção notável foi na era dos CRTs, em que tempos mal programados poderiam destruir os eletrônicos da CRT. No entanto, não é o caso aqui: o pior seria uma corrupção do BIOS / UEFI, que não é a destruição de hardware no verdadeiro sentido. Além disso, o OP tentou outro disco idêntico (com a partição UEFI no lugar) e nada mudou. Provavelmente, o hardware do WS estava com defeito , e a carga imposta pelo comando emitido acabou com ele.
Shodanshok 23/05
10

Enquanto divertido, rm -rf / só pode causar estragos em sua própria pequena prisão - e essa é a (s) partição (ões) fornecida (s). Ele não pode atrapalhar o MBR do disco, nem destruir magicamente o seu computador.

Outra coisa está errada no seu caso.

Janne Pikkarainen
fonte
Verdade. Provavelmente, porém, o disco GPT para sistemas UEFI (sem MBR, mas com partição GPT. E uma partição de sistema UEFI que geralmente é FAT32).
Hennes
1
Eu diria que executar "rm -rf / --no-preserve-root" é divertido apenas em teoria. Na prática, fecha logo que uma biblioteca vital é removida.
Aseq 20/05
1
@aseq Na verdade, na maioria dos casos, o programa e as bibliotecas são armazenados em cache na memória, observe que, com o linux, você pode excluir um programa binário enquanto estiver em execução e ele continuará sendo executado até a conclusão. Isso pode realmente chegar muito longe.
Vality
Sim, eu sei, mas em algum momento ele vomitará. :-)
aseq
8

As outras respostas parecem concordar que a limpeza do BIOS provavelmente não é seu problema, então aqui está outro pensamento:

Meu computador, quando colocado no modo UEFI, pula a tela do BIOS completamente. Nenhum logotipo do fabricante, nada. Ele apenas tenta inicializar e diz que não há mídia (ou botas) inicializável.

Se eu me lembro da tecla para entrar na configuração, posso pressioná-la à medida que o computador é ativado e ainda posso acessar as configurações do BIOS.

Se você conhece a chave de configuração do BIOS, pode tentar pressioná-la para entrar na configuração ou confiar que ela está realmente funcionando e restaurar seu tar no disco e tentar inicializar. Pode ser mais rápido usar alguma outra mídia inicializável UEFI e tentar inicializá-la se for um tar enorme (o Memtest86 deve suportar a inicialização UEFI).

Sompom
fonte
Embora, como você provavelmente não esteja recebendo um erro "sem mídia inicializável", a resposta da dronus pode ser sua solução nesse caso. Espero que não!
Sompom 19/05