Recuperando arquivos .mod movidos usando grubrescue

33

Eu fiz uma coisa estúpida ... Esqueci que o Ubuntu 10.04 (Lucid Lynx) mudou para o GRUB 2 que coloca uma tonelada de arquivos * .mod (módulos do kernel) em /boot/grub . Eu pensei que eles eram arquivos de trilha sonora colocados erroneamente, e eu os movi. Escusado será dizer que a próxima reinicialização foi traumática. Eu fui presenteado com algo que eu não tinha nenhuma lembrança de ver ... um 'resgate grub >' prompt.

Com a ajuda de Corrigindo o erro do GRUB: "error: unknown filesystem" no entanto, consegui recuperar ...

  • Descobri que o resgate do GRUB não tem 'cd', 'cp' ou quaisquer outros comandos do sistema de arquivos, exceto sua própria variação de 'ls'.
  • Primeiro, tive que encontrar a partição com o diretório /boot contendo o arquivo vmlinuz e outros arquivos de imagem de inicialização ... (aproximação da memória de tentativas malsucedidas, bem como linhas em branco para clareza) 2014-07-10 por docsalvage)

    grub rescue>  ls  
    (hd0,4) (hd0,3) (hd0,2) (hd0,1)  
    
    grub rescue>  ls (hd0,4)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,3)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,2)/boot
    ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic 
    
  • Encontrei um diretório /boot contendo o vmlinuz file vmlinuz-2.6.32-33-generic na partição (hd0,2) .

  • Então eu inicializei manualmente a partir do 'grub rescue >' pronto. Os seguintes comandos serão ...

    • Defina o root para usar o diretório /boot na partição (hd0,2) .
    • Carregar módulo do kernel linux .
    • Configure esse módulo para usar a imagem do kernel vmlinuz-2.6.32-33-generic .
    • Defina initrd (inicialize o disco de RAM) para usar a imagem initrd.img-2.6.32-33-generic .
    • Inicialize o Linux.
  • grub rescue>  set root=(hd0,2)/boot  
    grub rescue>  insmod linux  
    grub rescue>  linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2
    grub rescue>  initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic  
    grub rescue>  boot  
    
  • Isso inicializa e trava no prompt do BusyBox, que possui alguns comandos rudimentares do sistema de arquivos.

  • Então eu movi os arquivos * .mod de volta para o diretório /boot/grub ...

    busybox>  cd /boot  
    busybox>  mv mod/* grub
    busybox>  reboot
    
  • A reinicialização foi bem-sucedida, mas foi muito trabalho.

Existe uma maneira mais fácil?

    
por DocSalvager 08.10.2012 / 16:57

5 respostas

5

Não. Eu acho que você praticamente encontrou a maneira mais fácil de se recuperar do estado do seu sistema usando grub rescue ; é um sistema muito minimalista que oferece capacidade suficiente para inicializar o sistema.

BTW, acredito que você tenha encontrado os arquivos .mod e executado insmod linux ou o comando linux teria falhado.

A única outra maneira, como mencionado, seria inicializar um Live CD e reinstalar o grub2 após o chroot'ing no sistema 'quebrado'.

    
por StarNamer 08.10.2012 / 19:11
7

Aqui estão algumas instruções gerais e básicas para ajudar com erros de inicialização, como GRUB loading stage 1.5 error 15 (por exemplo, após a instalação do Windows em diferentes unidades de disco):

  1. Inicialize com um LiveDVD (por exemplo, o disco do Ubuntu Desktop).

  2. Abra um terminal e reescreva a configuração do grub usando estes comandos:

    • sudo mount /dev/sdXY /mnt
    • sudo grub-install --root-directory=/mnt /dev/sdX

Onde /dev/sdX é o disco onde o Ubuntu está instalado, e /dev/sdXY é a partição no disco onde o Ubuntu está instalado. Em outras palavras, /dev/sdXY contém /boot e assim por diante.

Use fdisk -l para verificar o local de instalação do Ubuntu.

    
por lamas 03.12.2012 / 09:25
4
  1. Inicialize no Live CD

  2. Abra o Terminal (CTRL + ALT + T)

  3. Digite os seguintes comandos:

sudo fdisk -l

E encontre sua partição Ubuntu (deve ser / dev / sda1 se for a primeira partição)

sudo mount /dev/sda1 /mnt

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

sudo mount --bind /dev /mnt/dev

sudo chroot /mnt

Agora reinstale o Grub2

sudo apt-get install --reinstall grub2
    
por nastys 08.10.2012 / 17:02
4

Eu tive o mesmo problema quando atualizei meu sistema.

Sugiro os seguintes passos simples:

  1. Inicialize seu sistema com o Live CD do Ubuntu ou USB ao vivo.
  2. Abra o terminal e execute o comando sudo add-apt-repositório ppa: yannubuntu / boot-repair & amp; & amp; sudo apt-get update
  3. Em seguida, instale o reparo de inicialização executando o comando sudo apt-get install -y reparo de inicialização & amp; & amp; boot-repair

  4. Inicie o reparo de inicialização após a instalação. Por exemplo, no menu, use System->Administration->Boot-Repair (Ubuntu 10.04 apenas) e siga as instruções.

    Pode levar de 15 a 20 minutos para descobrir o problema e corrigi-lo.

Para obter mais ajuda, acesse o link link

    
por Harsh 17.12.2012 / 18:59
0

Você pode inicializar o live CD, montar seu disco rígido, abrir o nautilus como root e copiar esses arquivos para / boot.

    
por nastys 08.10.2012 / 19:41