detecção de falha de linux

Processo de inicialização do sistema operacional Linux

Visão geral do processo de inicialização
Insira a descrição da imagem aqui

1. Autoteste de inicialização

Depois que o servidor é ligado, a CPU, memória, placa gráfica, teclado e outros dispositivos serão testados inicialmente de acordo com as configurações no BIOS da placa-mãe. Após o teste ser bem sucedido, o controle do sistema será transferido de acordo com a sequência de inicialização predefinida , e na maioria das vezes será transferido para o disco rígido local. Em uma palavra, ele detecta o primeiro dispositivo capaz de inicializar o sistema, como um disco rígido ou unidade óptica.

2. Inicialização MBR

Execute o programa de boot GRUB colocado no setor MBA.

3. Menu GRUB

Centos7 usa o carregador de inicialização
GRUB 2. O programa de inicialização GRUB lê o arquivo de configuração GRUB /boot/grub2/grub.cfg para obter as configurações do kernel e do sistema de arquivos espelho e localizações de caminho.

4. Carregue o kernel Linux

Carregue o kernel e os arquivos de imagem na memória.
No sistema Centos7, o arquivo kernel padrão está localizado em "/boot/vmlinuz-3.10.0-514.e17.x86_64".

5. O processo init é inicializado

Carregue o driver de hardware, o kernel carrega o processo init na memória para ser executado.

Processo de inicialização do sistema

processo de inicialização

O programa / sbin / init
é carregado e executado pelo kernel Linux. O processo init é o primeiro processo no sistema e é o processo pai de todos os processos.
O número PID (tag do processo) do processo init é sempre 1

Systemd

Systemd é uma espécie de software init do sistema operacional Linux.
Centos7 usa um novo método de inicialização Systemd, substituindo o SysVinit tradicional
. O primeiro processo init em execução em Centos7 é / lib / systemd / systemd

O SysVinit tradicional iniciava serviços executando scripts Shell em série, resultando em ineficiência. A velocidade de inicialização mais lenta do
systemd pode iniciar mais processos de serviço em paralelo e tem a capacidade de iniciar serviços sob demanda. Sim, iniciar menos processos, melhorando assim a velocidade de inicialização do sistema.

Tipo de unidade Systemd

Tipo de unidade nome da extensão Descrição
Serviço .serviço Descreva um serviço do sistema
Soquete .socket Descreva um soquete para comunicação entre processos
Alvo .alvo Descreva um conjunto de unidades do systemd

Soquete: (IP: número da porta)

Alvo Systemd correspondente ao nível de execução

Nível de execução Alvo Systemd 的 Descrição
0 alvo Estado de desligamento, usar este nível desligará o host
1 rescue.target Modo de usuário único, pode fazer login no sistema sem verificação de senha, usado principalmente para manutenção do sistema
2 multi-user.target Nível de execução definido pelo usuário / específico do domínio. O padrão é equivalente a 3
3 multi-user.target Modo multiusuário completo com interface de caracteres, a maioria dos hosts de servidor são executados neste nível
4 multi-user.target Nível de execução definido pelo usuário / específico do domínio. O padrão é equivalente a 3
5 graphical.target O modo multiusuário da interface gráfica fornece um ambiente operacional de desktop gráfico
6 reboot.target Reinicie, o host será reiniciado ao usar este nível

Reparar falha do setor MBR

causa do problema

· Destruição causada por vírus, cavalos de Tróia, etc.
· Operação incorreta da partição, erros de leitura e gravação de disco

Fenômeno de falha

· O programa de inicialização não foi encontrado e a inicialização foi interrompida
.

Soluções

· Os arquivos de backup devem ser feitos com antecedência
· Use o CD de instalação para inicializar em modo de emergência
· Recupere dos arquivos de backup

MBR está localizado no primeiro setor físico do primeiro disco rígido (/ dev / sda), um total de 512 bytes

1. Faça backup dos dados do setor MBR para outros discos (/ dev / sdb1)

mkdir /backup
mount /dev/sdb1 /backup
dd of=/dev/sda of=/backup/mbr.bak bs=512 count=1

Insira a descrição da imagem aqui

2. Simule a destruição do setor de inicialização do MBR

dd if=/dev/zero of=/dev/sda bs=512 count=1

Insira a descrição da imagem aqui

3. Neste momento, se reiniciarmos, o sistema não detectará a inicialização do MBR, ele permitirá que você reinstale o sistema ou entre no modo de emergência, aqui entramos no modo de emergência para reparar, restaurar os dados do setor MBR do arquivo de backup ,
primeiro carregue o espelho do CD, reinicie o sistema operacional,

Quando a interface do assistente de instalação aparecer, selecione a opção "Solução de problemas",
Insira a descrição da imagem aqui

Em seguida, selecione a opção "Rescue a CentOS Linux system" para entrar no modo de emergência
Insira a descrição da imagem aqui

Selecione "1", selecione Continuar e pressione Enter para continuar
Insira a descrição da imagem aqui

Após pressionar Enter novamente, você entrará no ambiente Bash Shell com o prompt "sh-4.2 #"

sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir   #挂载带有备份文件的分区
sh-4.2#dd if=/backupdir/mbr.bak of=/dev/sda    #恢复备份数据
sh-4.2#exit     #执行exit命令退出临时shell环境,系统将会自动重启

Insira a descrição da imagem aqui

Corrigir falha de inicialização do GRUB

causa do problema

  • O programa de inicialização GRUB no MBR está corrompido
  • Arquivo /boot/grub2/grub.cfg ausente, o erro de configuração de inicialização
    Sintoma
  • A inicialização do sistema trava, exibindo o prompt "grub>"

Soluções

  • Podemos tentar inserir manualmente o comando de inicialização, mas geralmente o comando de inicialização é muito longo e precisa ser inserido por você mesmo, o que está sujeito a erros.
  • Entre no modo de emergência, reescreva ou restaure grub.conf do backup
  • Reconstrua o programa grub no setor MBR

Corrigir falha de inicialização do GRUB

O pacote no diretório / boot / grub / é usado para a imagem de fundo e estilo do menu de
inicialização / boot / grub2 / grub.cfg # arquivo de configuração GRUB

Método 1: insira manualmente o comando de inicialização (desajeitado e incômodo, não recomendado)
grub> insmod xfs #
carregue o módulo especificado no kernel grub> linux16 /vmlinuz-3.10.0-693.el7.x86_64 root = UUID = 8fd74986-ae66 -4ffd -b7d8-a19f2eca7b6f ro rhgb quietLANG = zh_CN.UTF-8


#Informações como o nome e localização do kernel grub> initrd16 /initramfs-3.10.0-693.el7.x86_64.img # Arquivo de sistema do espelho
grub> boot #boot boot
porque este método requer entrada manual de comandos muito longos e não pode ser complementado automaticamente Full, portanto, não recomendo este método aqui.

Método 2: entre no modo de emergência e restaure o programa de inicialização GRUB.
MBR está localizado no primeiro setor físico do primeiro disco rígido (/ dev / sda), um total de 512 bytes, os primeiros 466 bytes são o registro mestre de inicialização, e a tabela de partição é armazenada em Bytes 477-510 no setor MBR

mkdir / bak
mount / dev / sdb1 / bak
dd if=/dev/sda of=/ bak/ grub.bak bs=466 count=1

#Simula a destruição do programa de inicialização GRUB no MRB, mas não destrói a tabela de partição

dd if=/dev/zero of=/dev/ sda bs=466 count=1

# A interface de inicialização entra no modo de emergência e restaura o programa de inicialização GRUB do arquivo de backup

sh-4.2 # mkdir / backupdir
sh-4.2 # mount / dev / sdb1 / backupdir
sh-4.2 # dd if = / backupdir / grub.bak of = / dev / sda
sh-4.2 # exit

Método 3: a interface de inicialização entra no modo de emergência e reconstrói o arquivo de configuração do menu GRUB
rm -rf /boot/grub2/grub.cfg

# Entre no modo de emergência, carregue a imagem do CD, mude para o ambiente raiz do sistema

sh-4.2#chroot /mnt/sysimage

Insira a descrição da imagem aqui

#Reinstale o programa de inicialização GRUB no setor MRB do primeiro disco rígido (/ dev / sda)

bash-4.2# grub2-install  /dev/sda

Insira a descrição da imagem aqui

#Reponha o arquivo de configuração da lista do GRUB

bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg

Insira a descrição da imagem aqui

#Sair do ambiente chroot e reiniciar

bash-4.2#  exit
sh-4.2#  reboot

Insira a descrição da imagem aqui

Esqueci a senha do usuário root

No ambiente de trabalho diário, às vezes esquecemos a senha do root, neste momento, podemos entrar no modo de emergência, carregar a imagem e depois redefinir a senha.

#进入急救模式,加载系统镜像,切换到系统根环境
sh-4.2#chroot / mnt/ sysimage
#重设root用户密码
bash-4.2#passwd root

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_51614581/article/details/110175509
Recomendado
Clasificación