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 amb 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.

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ó del GRUB 2

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.

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. 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).

$ sudo mount /dev/sda5 /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 tenim instal·lat el GRUB 2! Ara ja podem reiniciar la màquina i comprovar si el sistema arrenca.

Si hem instal·lat algun altre sistema operatiu de nou i volem actualitzar-lo, caldrà rebotar la màquina i executar:

$ sudo update-grub2

Reiniciem de nou per comprovar que el GRUB 2 ha detectat el nou sistema operatiu.


Restauració del GRUB 1

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