Czyli jak naprawić system gdy się go spsuje i dlaczego lepiej uważać co się robi z DD ;]. Po reinstalacji windowsa (nightmare… NIGHTMARE) chciałem przywrócić GRUBa. Niby nic trudnego, zabootuj z płyty,  chroot, jedna komenda i tyle, tylko miałem jeden mały problem, nie miałem żadnego 64 linuksa na USB/płycie.W przypływie “geniuszu” postanowiłem zainstalować “normalny” MBR i spróbować bootować się bezpośrednio z partycji. I tu się zaczęły problemy ;]

Jedyna bootowalna rzecz którą miałem był pendrive z Debem i386 (instalowałem netbooka z niego) ale nie miał on install-mbr więc wpadłem na “genialny” pomysł, zgram MBR na netbooku, a potem przywrócę go przez

dd if=mbr of=/dev/sda. Ci co częściej bawili się bootloaderami pewnie zauważyli już problem ;].

W pierwszym sektorze dysku, oprócz MBR, znajduje się tablica partycji więc tym krokiem wyczyściłem ją sobie. W tym momencie przerwij czytanie, zrób

fdisk -l /dev/sda
Urządzenie Rozruch   Początek      Koniec   Bloków   ID  System
/dev/sda1   *           1        4864    39070048    7  HPFS/NTFS
/dev/sda2            4865        7357    20025022+  83  Linux
/dev/sda3            7358       12220    39062047+   f  W95 Ext'd (LBA)
/dev/sda4           12221       14593    19061120   83  Linux
/dev/sda5            7358       11004    29294496    7  HPFS/NTFS
/dev/sda6           11005       12220     9767488+  83  Linux

i wydrukuj lub zapisz w jakimś bezpiecznym miejscu ;].

How to fix it ?

Potrzebny jest LiveCD/USB z MBRem i gpart (nie gparted, chociaż to też użyteczny soft), polecam liveUSB/CD GParted (na którym jest zarówno gpart jak i gparted + trochę innych narzędzi pomocnych w takich wypadkach.)

Bootujemy LiveCD/USB, odpalamy konsolę i

# gpart /dev/sda
Begin scan...
Possible partition(Windows NT/W2K FS), size(7169mb), offset(0mb)
Possible partition(Windows NT/W2K FS), size(25647mb), offset(7169mb)
Possible partition(Linux ext2), size(188mb), offset(32820mb)
Possible extended partition at offset(33008mb)
....

jeżeli partycje wygladaja ok dodajemy opcję -W /dev/sda, jeżeli nie zalecam poczytanie mana ;] jest tam m.in tryb interaktywny ( -i)

Przy czym z doświadczenia mogę powiedzieć że program nie jet super dokładny, np. mojej partycji root brakowało jednego sektora na końcu i XFS nie chciał jej zamontować

Gdy jesteśmy już zadowoleni z partycji, install-mbr /dev/sda i potem w gparted (lub fdisk, lub cfdisk) ustawiamy partycję bootującą, reboot i przy odrobinie szczęścia powinno działać. Przy czym domyślnie GRUB instaluje się do MBR więc jeżeli instalacja była w stylu “klikam dalej póki nie pokaże mi się GDM” to rescue i tak was czeka ;] (Instalator Debiana ma przyzwoity tryb rescue, jest nawet opcja “przywróć GRUB” w menu). A najlepiej po prostu nie mieszać DD i MBRa ;]. Posiadanie pod ręką płyty netinst (polecam wersję multiarch, jest tam zarówno instalator na i386 jak i x86_64 http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/multi-arch/iso-cd/ ) też jest bardzo przydatne ;].

A ja mam nauczkę na przyszłość, nie kombinować tylko używać odpowiednich narzędzi, zamówiłem sobie 3 pendrive, pierwszy na gparted (lub jakieś hackish LiveCD), drugi na debian installer ,trzeci na jakieś live Ubuntu ;]