Eu perdi meu MBR e agora não consigo inicializar

2

Outro dia eu estava fazendo meus backups e estava procurando mais espaço para armazenar meus vídeos. Então eu formatei um dos meus discos rígidos (eu tenho 4 sem contar o externo que eu estava fazendo backup), mas este disco rígido acabou por ser o errado. Ele tinha minha instalação do Win7 e meu MBR.

Eu percebi, não é grande coisa, eu vou usar meu disco super grub para inicializar corretamente, só que não. Por razões desconhecidas, mesmo quando eu apontei para a partição correta / boot, não foi possível inicializar. Ele também listou minhas partições de array raid 1 como "desconhecido".

Aqui está minha configuração: SDA: 250 GB no total - 250 GB em uma partição NTFS com o Win7 instalado (este é o que eu formatado)
SDB: total de 850 GB - 4 GB de swap - 846 GB forma uma matriz de raids
SDC: total de 850 GB - 4 GB / boot - 846 GB forma segunda parte do conjunto de raids
SDD: 200 GB no total - 200 GB de partição NTFS com WinXP instalado (este é o que eu quis formatar)

O array Raid é um LVM separado em um / e um / home. Nenhum deles é criptografado. Não me lembro da distribuição exata.

O que posso fazer para recuperar minha instalação do Ubuntu e restaurar o GRUB para o MBR?

Meu /boot/grub/grub.cfg

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(main-root)'
search --no-floppy --fs-uuid --set 12dbe5ea-5a53-4928-bf91-23697c1bcba0
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd3,1)'
search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
set locale_dir=($root)/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-25-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux   /vmlinuz-2.6.32-25-generic root=/dev/mapper/main-root ro   quiet splash
    initrd  /initrd.img-2.6.32-25-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-25-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    echo    'Loading Linux 2.6.32-25-generic ...'
    linux   /vmlinuz-2.6.32-25-generic root=/dev/mapper/main-root ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-2.6.32-25-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux   /vmlinuz-2.6.32-24-generic root=/dev/mapper/main-root ro   quiet splash
    initrd  /initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    echo    'Loading Linux 2.6.32-24-generic ...'
    linux   /vmlinuz-2.6.32-24-generic root=/dev/mapper/main-root ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux   /vmlinuz-2.6.32-23-generic root=/dev/mapper/main-root ro   quiet splash
    initrd  /initrd.img-2.6.32-23-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-23-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    echo    'Loading Linux 2.6.32-23-generic ...'
    linux   /vmlinuz-2.6.32-23-generic root=/dev/mapper/main-root ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-2.6.32-23-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux   /vmlinuz-2.6.32-22-generic root=/dev/mapper/main-root ro   quiet splash
    initrd  /initrd.img-2.6.32-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    echo    'Loading Linux 2.6.32-22-generic ...'
    linux   /vmlinuz-2.6.32-22-generic root=/dev/mapper/main-root ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-2.6.32-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.31-14-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux   /vmlinuz-2.6.31-14-generic root=/dev/mapper/main-root ro   quiet splash
    initrd  /initrd.img-2.6.31-14-generic
}
menuentry 'Ubuntu, with Linux 2.6.31-14-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    echo    'Loading Linux 2.6.31-14-generic ...'
    linux   /vmlinuz-2.6.31-14-generic root=/dev/mapper/main-root ro single 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd3,1)'
    search --no-floppy --fs-uuid --set f1284e5e-f162-4964-b904-f05f47f6325d
    linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows XP Ultimate (on /dev/sdb1)" {
    insmod ntfs
    set root='(hd1,1)'
    search --no-floppy --fs-uuid --set 1a440692440670b5
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry "Windows 7 (loader) (on /dev/sdc1)" {
    insmod ntfs
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 5816f15316f1331c
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
    
por Malfist 08.10.2010 / 15:19

1 resposta

4

Se você quer dizer isso então (IIRC) ele não pode consertar o GRUB2, que é o que o Ubuntu usa como bootloader. Ele corrige apenas o grub legado (ou grub 1) que costumava ser o bootloader até o Ubuntu 9.04, também conhecido como Jaunty.

A solução é reinstalar o grub no MBR, conforme explicado em este post

Mas se você quiser colocar o win 7 de volta, você pode querer fazer após instalá-lo em sda. Temporariamente, no entanto, você pode tentar ver se você recupera a configuração do seu RAID etc, tudo bem (de qualquer maneira, a instalação do Windows irá sobrescrevê-lo).

A reinstalação do grub a partir da mídia ao vivo pode não detectar a instalação do Windows. Nesse caso, execute sudo update-grub após inicializar no Ubuntu para atualizar o menu grub com a opção Windows.

grub-install programa o mbr para carregar os arquivos de inicialização da configuração do grub instalada na partição de inicialização. Isso pode ser executado a partir de mídia ao vivo: o destino para programação mbr e o local da partição de inicialização devem ser especificados manualmente.

update-grub reconfigura o grub para (re) detectar as opções de inicialização (sistemas operacionais, versões do kernel e outras alternativas) e atualizar sua configuração com isso. Como isso é automático e configura o grub localizado em / boot no momento da execução, isso deve estar dentro de uma instalação persistente (não em mídia ao vivo) para tornar as alterações permanentes.

    
por koushik 08.10.2010 / 16:19