Skopiowanie systemu na drugi dysk - nie dziala GRUB

Pomoc dotycząca instalacji systemu
Akkon
Junior Member
Posty: 833
Rejestracja: 09 listopada 2007, 14:06

Post autor: Akkon »

siekier pisze:Teraz już nie mam czasu się tym bawić, spróbowałem z lilo i jest to samo, zawiesza się w momencie czytania MBR.
Nie ma się co poddawać ]Device Boot Start End Blocks Id System
/dev/hda1 1 182 1461883+ 83 Linux [/code]

Kod: Zaznacz cały

Device Boot      Start         End      Blocks   Id  System
/dev/hdb1   *           1         382     3068383+  83  Linux 
Należało skopiować nie cały MBR a tylko pierwsze 446 bajtów, gdzie był zainstalowany Grub.

Kod: Zaznacz cały

dd if=/dev/hda of=/gdzieś/tam/hda_mbr.img bs=446 count=1
Teraz zanim przystąpisz do reinstalacji Gruba, należałoby wyczyścić cały (uszkodzony?) MBR dysku B. Uwaga! Po tej operacji nic z tego dysku już Ci się nie uruchomi.

Kod: Zaznacz cały

dd if=/dev/zero of=/dev/hda bs=512 count=1
Następnie trzeba przywrócić dawną tablicę partycji. Teoretycznie jej parametry masz bo umieściłeś je na forum ;-). Wykorzystując fdisk lub sfdisk można te wartości ponownie ustawić.

Drugą metodą jest użycie programu gpart, który powinien sam znaleźć granice poszczególnych partycji (osobiście nie testowałem tego sposobu):

Kod: Zaznacz cały

gpart /dev/hdb
jeśli wypisane zestawienie nie budzi zastrzeżeń, to można zapisać nową tablicę partycji na dysku:

Kod: Zaznacz cały

gpart -W /dev/hdb /dev/hdb 
Jeśli wszystko się powiedzie można przystąpić do instalacji/przeniesienia Gruba do MBR. Jak nie, to nie ma rady - trzeba ponownie sformatować dysk B i zacząć zabawę od nowa.

Pozdrawiam
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Kod: Zaznacz cały

dd if=/dev/zero of=/dev/hda bs=512 count=1
Po takim wyzerowaniu testdisk też jest bardzo pomocny. Dostępny na wielu livecd. Polecam cały zestaw dobrych narzędzi: SystemRescueCD

TestDisk

Odzyskanie tablicy partycji z wykorzystaniem TestDiska to tylko chwila.
siekier
Posty: 12
Rejestracja: 07 lipca 2007, 21:07
Lokalizacja: Warszawa

Post autor: siekier »

Jako, że nie jestem do końca ufny, więc ten sposób przekopiowania MBR z jednego dysku na drugi sprawdziłem :) I przekopiowałem tylko pierwsze 446 kb, więc tablicy partycji nie uszkodziłem.
Samo formatowanie dysku, tworzenie partycji od nowa i kopiowanie systemu z jednego dysku na drugi nie jest zbyt kłopotliwe i czasochłonne.
Zamierzam dziś wieczorem sprawdzić czy jak zainstaluje jakąś dystrybucję od nowa z płyty na tym nowym dysku, to czy grub będzie działał. Jeśli nie to znaczy, że coś jest nie tak z dyskiem i już nic więcej się nie zrobi.
Akkon
Junior Member
Posty: 833
Rejestracja: 09 listopada 2007, 14:06

Post autor: Akkon »

siekier pisze:Zamierzam dziś wieczorem sprawdzić czy jak zainstaluje jakąś dystrybucję od nowa z płyty na tym nowym dysku, to czy grub będzie działał. Jeśli nie to znaczy, że coś jest nie tak z dyskiem i już nic więcej się nie zrobi.
Jeśli Grub dalej nie będzie chciał się instalować, to wykasuj cały MBR i spróbuj jeszcze raz. IMO powinno pomóc.
siekier
Posty: 12
Rejestracja: 07 lipca 2007, 21:07
Lokalizacja: Warszawa

Post autor: siekier »

Od mojego ostatniego postu trochę czasu minęło. Niestety moje obawy się potwierdziły - ten większy dysk jest zepsuty, nie bootuje z MBR.
W tej chwili mam cały czas 2 dyski, mały jako master służy tylko do bootowania, a system jest na większym (slave).
Niestety ten mały dysk zaczyna odmawiać posłuszeństwa i raz działa raz nie, trzeba powalić w obudowę :)
Zainstalowałem dziś w tym kompie stacje dyskietek, i tak się zastanawiam czy byłaby możliwość bootowania systemu z dyskietki. Konkretnie widzę to tak: zostawiam tylko 1 dysk (ten z uszkodzonym MBR), ustawiam go jako slave i system bootuje z dyskietki. Dyskietka cały czas siedzi w napędzie więc za każdym razem z niej będzie bootwać.
Czy da radę tak zrobić aby działało to automatycznie bez wciskania enter czy jakiś innych kombinacji? No i jak zrobić taką dyskietkę startową?
yakow
Posty: 52
Rejestracja: 13 czerwca 2008, 09:30

Post autor: yakow »

Chodzi Ci o np. automatycznie bootowanie GRUBa z dyskietki bez wyboru systemu? Trzeba timeout ustawić na 0 w ustawieniach GRUBa, a konkretnie w menu.lst i będzie automagicznie startować system, który będzie "najwyżej" na liście w menu.lst :mrgreen:

O robieniu dyskietek z GRUBem jest na Googlach sporo: link
siekier
Posty: 12
Rejestracja: 07 lipca 2007, 21:07
Lokalizacja: Warszawa

Post autor: siekier »

Udało mi się zrobić taką dyskietkę z grubem, ciekawe jest tylko to, że nie chce mi zbootować dysku gdy go ustawię na mastera - działa tylko jak jest slave. Próbowałem zmieniać oznaczenia dysku w menu.lst na dyskietce ale nie dało to rezultatu, bo się zawiesza na

Kod: Zaznacz cały

root (hd0,0)

Czy trzeba zmieniać coś poza wpisem w menu.lst na dyskietce? Jakieś inne pliki na dyskietce lub w systemie?

Jednak okazało się, że MBR jest w porządku. Pokombinowałem trochę z cd-romem i doszedłem do dość dziwnego wg mnie stanu, w każdym razie wszystko działa wreszcie dobrze. Dziwne jest to, że ten dysk bootuje się tylko gdy jest ustawiony jako slave. W tej chwili mam cd-rom jako master, dysk jako slave i bootuje się przy takim ustawieniu menu.lst:

Kod: Zaznacz cały

title		Debian GNU/Linux, kernel 2.6.25-2-486
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.25-2-486 root=/dev/hdb1 ro 
initrd		/boot/initrd.img-2.6.25-2-486
savedefault
Zwróćcie uwagę, że w linii root jest (hd0,0) a w linii kernel jest root=/dev/hdb1.

Aha przy problemach z grubem i polecam ten artykuł.
Akkon
Junior Member
Posty: 833
Rejestracja: 09 listopada 2007, 14:06

Post autor: Akkon »

siekier pisze:Jednak okazało się, że MBR jest w porządku.
Byłem tego od początku prawie pewny.
Pokombinowałem trochę z cd-romem i doszedłem do dość dziwnego wg mnie stanu, w każdym razie wszystko działa wreszcie dobrze
siekier, przyznać muszę, że trochę się już pogubiłem w tych Twoich kombinacjach ]Zwróćcie uwagę, że w linii root jest (hd0,0) a w linii kernel jest root=/dev/hdb1. [/quote]
To znaczy, że bootuje się z pierwszej partycji dysku pierwszego (hda), ale kernel (system) leży na hdb1
siekier
Posty: 12
Rejestracja: 07 lipca 2007, 21:07
Lokalizacja: Warszawa

Post autor: siekier »

W tej chwili dysk mam już tylko jeden, ale jest ustawiony na slave i Linux go widzi jako hdb, jak mater mam cd-rom. Tylko przy takim ustawieniu system się bootuje. W sumie jak działa to nie ma chyba co nic zmieniać, tylko zastanawia mnie ten wpis w menu.lst bo przecież mam tylko jeden dysk.
ODPOWIEDZ