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 ;]


16 ResponsesLeave a comment ?
Zamiast fdiska proponowałbym sfdiska. Można go użyć także do odtworzenia partycji pod warunkiem, że gdzieś w bezpiecznym miejscu mamy wyrzut z sfdisk -l =o)
Tak, sfdisk to taki skryptowalny fdisk, przy czym ten 1szy liczy od 1 a ten drugi od 0 więc same wyniki będą odrobinę inne.
ja zawsze się chrootuje i instaluje gruba z ratowanego systemu (oczywiście odpowiednio “bitowa” wersja), nigdy się na tym nie zawiodłem.
Normalnie ja też ale nie miałem nigdzie pod reką 64 bitowego linuksa i przez to że nie chciało mi się czekać na ściągnięcie straciłem jeszcze więcej czasu na naprawianie. Cierpliwość popłaca :)
A na mnie patrzą jak na debila jak mówię że informatycy z natury są leniwymi ludźmi :P
Tylko ci dobrzy ;p. Taki zwykły informatyk bedzie marnowal godzinę tygodniowo na coś co ten sprytniejszy zautomatyzuje klepiąc jakiegoś appa w parę godzin ;]
O ile będzie mu się chciało klepać :P
Dobra – wjechałeś mi na ambicje – idę do serverowni (jedyne miejse gdzie nikt mi nie będzie przeszkadzał) usprawnić parę żeczy które miałem zrobić już wieki temu :P
Ja wychodze z założenia że lepiej zautomatyzowac coś raz i mieć spokój na długi czas ( + więcej czasu na inne, ciekawsze rzeczy) niż powtarzać jakieś nudne czynności
Mnie się nie chciało bawić w konfigurację backupów i robiłem je do dzisiaj ręcznie. Teraz wszystko leci z automatu a jak się skończy kaseta to dostaję maila (nie pytaj czy robię kilka backupów na jednej kasecie i dlaczego – not my idea :/)
ja miałem trochę inną przygodę. ze strony terminala wyglądało to tak:
mount /dev/sda2 /mnt/sda2
mv /mnt/sda2/* /tmp/backup/
umound /dev/sda2
fdisk /dev/sda
#zmiana położenia wszystkich partycji o kilka bloków (nieważne ile, nie dużo )
mount /dev/sda2 /mnt/sda2
mv /tmp/backup/* /mnt/sda2/
umount /dev/sda2
shutdown -r now
#end
Wynik był tego taki że nie miałem dostępu do partycji … a fdisk krzyczał żeby zrestartować go. Nauczka dla mnie taka:
1. lepiej kopiować niż przenosić (!!)
2. czytać ostrzeżenia ( przecież “ostrzeżenia są dla mięczaków, tak samo jak backup’y” )
3. uważać na fdisk’a + robić backup’y przed zabawą
Dysk trafił do “speca” od odzyskiwania który trzymał do jakieś 1 miesiąc i nic nie zrobił. Sam się dobrałem, poszukałem żmudnie początków partycji ( hexedit + kalkulator ), ustawiłem fdiskiem ponownie partycje tak jak mi się zdawało że były i fsck sam znalazł co trzeba. Chyba są błędy ale mało. Tym razem mi się upiekło.
gpart nie pomógł czy po prostu wtedy nie znałeś tego toola ?
A backupy zawsze warto mieć gdzieś zdalnie, ja mam wszystkie ważniejsze rzeczy w gitowych repach (wyeksportowane na zewnętrzny serwer) + backup fotek i innych dupereli na innym kompie
Nie nie znałem tego. Testdisc znałem, ale nie pomógł.
No cóż … nigdy za wiele backup’ów:
następna historia z ( mojego ) życia wzięta:
padły mi 2 dyski ( bad sectory, 320 GB i 160 GB ), oczywiście byłem przygotowany, więc wszystko na 3-ci dysk specjalny do backup’ów i dyski do serwisu Segate’a. Ale żeby nie było tak fajnie w czasie gdy tamte się naprawiały, ten 3-ci Seagate Barracuda 7200.11 500GB ( sławienny ) padł razem z backupami z 3 kompów … niestety tym razem nie udało mi się odzyskać danych. Nie wiem co było tego powodem. Choć jest opisany sposób odzyskiwania to jednak nie mogłem się podpiąć pod port serwisowy ( TTL’a ).
A propos na blogu Łukasza Bromirskiego jest opisane jak mu ostatnio 2 dyski padły w RAID 5. Dużo nie napisał, ale warto wiedzieć że takie rzeczy się zdarzają.
Nieraz się zastanawiam ile należy pracy włożyć w zapobieganie i zabezpieczanie aby mieć w miarę duże poczucie bezpieczeństwa.
Pozdrawiam
Kamil
Znowu, RAID to nie backup, ale rzeczywiście niefortunnie. Sam słyszałem o innej historii, w jakiejś firmie robiony był spory zakup sprzętu no i po jakimś roku czy pół w ciągu 2 tygodni padło jakieś 20 dysków, okazało się że wszystkie były z tej samej serii, wadliwej ;].
Ważne dane = minimum 3 kopie ;].
myślę że na temat procedur kopii bezpieczeństwa powstało dużo publikacji a jeszcze więcej jest pomysłów ( np. przechowywanie w wielu odległych fizycznie miejscach ), ale ważne żeby dane były możliwe do odzyskania w jak najszybszym czasie. Słyszałem coś w stylu że “dobrzy specjaliści robią backup’y a najlepsi odzyskują z backup’ów”. Życzę czytelnikom aby ich backupy były zawsze aktualne i do tego nigdy nie było powodu z nich korzystać.
Wirtualki się fajnie backupuje, właściwie jedna komenda + ew. konfiguracja sieci i maszyna przywrócona, dobra metoda do testowania nowej wersji aplikacji przed deployem, restore from backup, wrzucenie wersji devowskiej aplikacji i środowisko w 99% identyczne z produkcją.
A z recovery to tak jest, ustawianie backupu kończy się często na “ok, odpala się co noc i zapisuje jakieś dane”, a recovery nikt nie sprawdzi. Chociaż czasami to jest przez to że management sępi na jedną czy dwie maszyny do testów ;]