Restauració del MBR i gestor d'arranc

De Cacauet Wiki
Salta a la navegació Salta a la cerca

Quan instal·lem nous SOs o clonem màquines cal, sovint, arranjar el MBR (Master Boot Record). Podeu fer un cop d'ull a aquest article on explica datalladament com fer-ho.

Al MBR tenim informació de les particions del disc i també el programa que gestiona l'arranc del S.O.. Aquest programa s'anomena gestor d'arranc.

Bàsicament treballarem 3 tipus de gestors d'arranc:

  • Windows
  • GRUB 1 (Ubuntu fins la versió 9.04)
  • GRUB 2 (Ubuntu a partir de la versió 9.10)

Cadascun té mètodes diferents per solucionar-se.


Restauració del MBR de Windows

Quan s'instal·la Windows també s'instal·la el propi gestor d'arranc al MBR. Aquest només pot arrencar particions Windows, i ho fa anant a buscar la primera partició amb flag boot que troba, normalment la primera partició (/dev/sda1) però pot ser qualsevol altra.

Windows 7

Aquí teniu un tutorial, és senzill:

http://www.nisfe.com/windows-7/como-reparar-el-boot-y-el-mbr-del-arranque-de-windows-7/

Windows XP

Per restaurar el MBR de Windows necessitem un CD d'instal·lació de Windows o un diskette d'arranc de MSDOS que tingui la utilitat fixmbr':

  1. Engeguem el PC i insertem el CD de Windows.
  2. Quan aparegui "Presione cualquier tecla para arrancar desde CD ROM...", polsar una tecla.
    Si no arrenca el CD pot ser degut a que calgui ajustar la boot sequence de la BIOS i miri primer el CDROM enlloc del disc dur o altres dispositius.
  3. Un cop carregat l'instal·lador, triar l'opció [R]eparar enlloc d'instal·lar.
  4. L'instal·lador busca versions de Windows instal·lades al sistema. Normalment voldrem arrencar amb la primera de C:\WINDOWS, tot i que depenent de la configuració ens pot interessar una altra cosa.
  5. Un cop apareguem a la línia de comandes, hem de fer
C:\WINDOWS> fixmbr

Sol ser instantani. Si no ens ha donat cap error, ara ja podem rebotar la màquina i arrencarà el Windows normalment.


Restauració de GRUB amb boot-repair (the easy way)

Segons la documentació d'Ubuntu, ara tenim opcions més senzilles de reparar GRUB.

Amb l'eina BOOT-REPAIR la recuperació és més senzilla:

https://help.ubuntu.com/community/Boot-Repair

IMPORTANT: caldrà utilitzar un LiveCD. Assegureu-vos que té la mateixa arquitectura (32/64 bits) que l'Ubuntu que hi ha instal·lat al disc dur.


Restauració del GRUB 2 per línia de comandes

El GRUB 2 ha aparegut recentment a la distribució Ubuntu 9.10 i serà el nou estàndard de gestor d'arranc. Per restaurar-lo en cas de fallada del MBR, ens cal un Live CD. Pel nostre cas triarem un Live CD d'Ubuntu que és el SO que utilitzem a classe.

Pots també llegir els articles originals:

http://www.guia-ubuntu.org/index.php?title=Recuperar_GRUB#Grub_1
https://help.ubuntu.com/community/Grub2

Seguirem les següents passes:

  • Inserta el Live CD i arrenca amb ell la màquina.
    Si no arrenca el CD pot ser degut a que calgui ajustar la boot sequence de la BIOS i miri primer el CDROM enlloc del disc dur o altres dispositius.
  • Un cop arrencat, obrirem un terminal i seguirem les següents instruccions.

Primer de tot necessitem saber quines particions té el disc. Amb la comanda fdisk -l ("-l" = "list") sabrem què tenim entre mans.

$ sudo fdisk -l

Cal que ens fixem i deduïm quina és la partició on tenim el GRUB (on està l'Ubuntu). El GNU/Linux sol instal·lar-se en particions esteses, i l'arrel sol estar a /dev/sda5 (1a partició lògica de la partició estesa) però podria ser una altra.

Seguidament muntarem el disc dur sobre el sistema d'arxius del Live CD (basat en un ramdisk). Canvieu sdaX per la partició pertinent de l'Ubuntu.

$ sudo mount /dev/sdaX /mnt

Si tot ha anat bé, fent "ls /mnt" veurem els arxius del disc dur amb el què volem que arrenqui la màquina. Si tenim algun error cal que ens assegurem d'on tenim el disc dur del sistema i tornar-ho a intentar.

Per poder instal·lar el GRUB 2, cal que muntem sobre el disc dur els devices (a /dev) i el pont de comunicació amb el kernel (a /proc). Per fer això farem:

$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc

El paràmetre --bind fa com una redirecció cap al /dev autèntic, sense interpretar el tipus de sistema d'arxius.


Ara "enganyarem" la consola, resituant l'arrel del sistema a /mnt. Això provocarà que la consola vegi el sistema d'arxius /mnt com si fos l'arrel (/).

$ sudo chroot /mnt

I finalment, podem reinstal·lar el MBR del GRUB al /dev/sda (suposant que aquest és el disc dur amb el què volem que arrenqui el sistema). Vigila que el MBR s'instal·la en un disc (/dev/sda) i no en una partició (com podria ser /dev/sda1).

# grub-install /dev/sda

Si no ens dóna cap error, ja hauríem de tenir instal·lat el GRUB 2. Convé abans, però, actualitzar el menú d'arranc amb tots els sistemes operatius disponibles, si és que hem instal·lat algun de nou (si no, potser no cal fer aquest pas). Això es fa amb la següent ordre:

# update-grub2

Però executat des del LiveCD probablement ens donarà l'error "Cannot find list of partitions!". Si fos el cas, millor rebotar la màquina i, ja des de l'Ubuntu instal·lat al disc dur, actualitzar la llista de sistemes operatius:

$ sudo update-grub2

Reiniciem de nou per comprovar que el GRUB 2 ha detectat el nou sistema operatiu i s'executa correctament.


Restauració del GRUB 1

Podeu fer un cop d'ull a aquest article on explica datalladament com fer-ho.

Les Ubuntus fins la 9.04 utilitzen el GRUB 1. A partir de la 9.10 utilitzen el GRUB 2.


Linkat

La Linkat 3 també utilitza el GRUB 1. Podeu llegir aquí com restaurar-lo (en realitat és el mateix procediment que l'anterior però amb DVD de Linkat):

http://www.xtec.cat/at_usuari/guies/preventives/linkat/grub/index.htm