sexta-feira, 25 de agosto de 2017

Como recuperar inicialização do Linux quando ela se corrompe

 
        Boa noite a todos! Após muito tempo sem postar, venho com uma nova postagem. Esta é da área de tecnologia da informação e trata de falhas que ocorrem em inicialização de sistemas operacionais. Nesta postagem tratarei do Linux, pois foi aonde tive problemas com sua inicialização recentemente. Devo também tratar das falhas de inicialização do Windows quando esse também deixa de inicializar. No caso do Linux tratarei dos casos que envolvem a distribuição Debian e seus derivados, que são as que uso.
         Adquiri recentemente um laptop Samsung e decidi fazer a migração do hd antigo para o hd da máquina nova. Para esse procedimento iria usar o Norton Ghost, mas como esse é pago e limitado, decidi usar o Clonezilla que fez a clonagem das minhas duas partições da máquina antiga para nova.  Após isso, eu fiquei com um espaço não alocado no hd novo, uma vez que o hd antigo tinha 150GB e o novo 320GB. Usei uma ferramenta de criação de partições e criei uma partição NTFS no espaço até então vazio. Foi aí que todos os problemas começaram. O grub não carregava por nada nesse mundo. Depois de muito pesquisar encontrei a solução que descrevo agora

      A primeira tela de erro que vai aparecer é essa:
 
         GRUB_RESCUE>_

   1) Use um DVD ou Pendrive da distribuição derivada do Debian que está instalada na sua máquina ( se sua máquina tiver com um sistema de 32bits use o cd de 32bits, nunca o contrário, pois nada funcionará).

      2) digite sudo su para realizar comandos de super usuário no live cd.

       3) Abra o terminal e digite este comando

       sudo fdisk -l
    
      Neste comando será exibido todas as partições e sistemas operacionais instalados no seu HD. Procure o que tem o Linux instalado.

      4) Digite o comando para montagem da unidade do Linux onde se vai recuperar a inicialização

           sudo mount /dev/sdaX /mnt  
  
         Por exemplo, no caso da minha máquina a unidade onde o Linux estava instalada era sda6

       5) Em seguida, monto as unidades de sistema da unidade onde será feito o reparo do boot:
  
        sudo mount --bind /dev /mnt/dev 
    
     sudo mount --bind /sys /mnt/sys
  
     sudo mount --bind /proc /mnt/proc

   6) Com todas as unidades de sistemas da partição montadas entraremos na mesma como super usuário:

      sudo chroot /mnt/

   7) Agora a parte mais importante, o comando de reparo da partição falhada. Vale lembrar que este vai reparar o arquivo associado ao HD, no caso SDA, por exemplo em conjunto com os arquivos do Grub na pasta Boot do Linux:

            grub-install /dev/sda
    
   Como foi dito acima, esse comando vai reparar os arquivos de inicialização do Boot e na pasta boot do Sistema operacional. 

    8)  Para efetivar o reparo realizado, digite este comando:

         sudo update-grub

    Este comando salvará todo reparo feito com o comando anterior.
    
    Após isso, dê exit  em seguida dê um sudo reboot e seu sistema estára com sua inicialização reparada.

     Muitos usuários que usam Linux (grande maioria) tende a usar em dual boot com o Windows. Quando ocorre essas falhas no Grub (carregador de boot), após a recuperação da inicialização do Linux, a opção para entrar no Windows desaparece. Para corrigir isso, siga este comandos:

        1) Entre na sua instalação Linux normalmente. Após isso abra o terminal ou Bash.

        2) Vá a pasta /boot/grub/ e procure o arquivo grub.cfg

        3) Digite sudo fdisk -l para ver qual partição o Windows está instalado

        4 )Digite sudo gedit grub.cfg e abra este arquivo para fazer a inclusão da entrada do Windows na lista de sistemas ativos no Grub. Quando o Grub é inicializado, ele lê esse arquivo para vêr quais sistemas existem no HD onde ele está instalado e os exibe para o usuário escolher o sistema operacional que quer usar.

        5) Coloque este comando após os trechos de comando da inilicialização do Linux:

             menuentry “Windows 7″ {
         set root=(hd0,1)
         chainloader +1
        }
       O comando em parenteses após a palavra root se refere a posição do HD no sistemas (0) e após a vírgula, a localização onde está partição onde está instalado o Windows(1): hd Posição na placa mãe, localização da partição na mesma -> HD(0,1).

         6) Após isso salve este arquivo e feche o gedit ou o editor que foi usado para editar este arquivo. Digite sudo update-grub para salvar e carregar as modificações feitas no arquivo grub.cfg, de um sudo reboot ou reinicializa pelo ambiente gráfico da sua preferencia e confira se a entrada do Windows aparece na lista do Grub. Se Deu tudo certo, parabens!