|
[+] przywrócenie GRUB-a - oddzielna partycja /boot
Makemake - 10-05-2010 21:15
Jak zwykle po reinstalacji Windowsa straciłem GRUB-a. Zawsze bez problemu przywracałem go według instrukcji jaką znalazłem na tym forum. Jednak ostatnio gdy instalowałem Debiana utworzyłem osobną partycję /boot, i teraz nie potrafię przywrócić GRUB-a. Nie wiem co robię źle. Tak wygląda mój dysk: Device Boot Start End Blocks Id System /dev/sda1 * 1 5222 41945683+ 7 HPFS/NTFS /dev/sda2 5223 24803 157284382+ f W95 Ext'd (LBA) /dev/sda3 24804 51314 212949607+ 7 HPFS/NTFS /dev/sda4 51315 77825 212949607+ 7 HPFS/NTFS /dev/sda5 5223 5234 96358+ 83 Linux // partycja /boot /dev/sda6 5235 12529 58597056 83 Linux // partycja /home /dev/sda7 12530 14961 19535008+ 83 Linux // partycja / /dev/sda8 24742 24803 497983+ 82 Linux swap / Solaris
Uruchamiam system z LiveCD (próbowałem z Ubuntu 8.10 i Knoppixa 5.3) i z konta root wpisuję po kolei polecenia:
mkdir /mnt/root mount -t ext3 /dev/sda7 /mnt/root mount -t ext3 /dev/sda5 /mnt/root/boot mount -t proc none /mnt/root/proc mount -o bind /dev /mnt/root/dev chroot /mnt/root /bin/bash grub
Pojawia się znak zachęty
grub>
Wpisuję:
find /boot/grub/stage1
Wyświetla się komunikat:
Error 15: File not found
Gdy wpisuję polecenie:
find /boot/grub/stage1
poza ,,grub>'', plik stage1 jest odnajdowany bez problemu. Linuksa używam dopiero od kilku miesięcy, dlatego jestem słabo zorientowany w tym temacie. Co robię źle?
Katiusha - 11-05-2010 07:02
Wygląda że wszystko robisz dobrze. Ja jeszcze montuje do tego partycje /home i /usr które mam osobno i tak samo przywracam gruba.
Pokaż co masz w katalogu z grubem.
ls -al /boot/grub
Po instalacji Windowsa jak mi sie nie chce bawić w przywracanie gruba z poziomu Linuksa korzystam z Super Grub Disk'a i przywracam gruba z poziomu Windowsa klikając na wersje SGD .exe.
Spróbuj, to proste (Auto for Windows):
http://www.supergrubdisk.org/index.php
Niżej masz instrukcje w PDF do SGD. Obrazki trochę mało wyraźne, bo musiałam to mocno skompresować aby zmieścić się w niecałych 100 KB. :/
Makemake - 11-05-2010 13:02
Na pewnej angielskiej stronie znalazłem coś takiego:
Zgodnie z tym, wpisałem:
grub> find /grub/stage1 (hd0,4)
grub> root (hd0,4) Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+17 p (hd0,4)/grub/stage2 /grub/menu .lst"... succeeded Done.
grub> quit
Do tego momentu wydaje się, że wszystko jest w porządku. Resetuję komputer i rzeczywiście GRUB jest przywrócony. Jednak niestety Debian nie chce się załadować. Ładuje się do pewnego momentu i przestaje. Tak wygląda mój plik menu.lst: default 0
timeout 5
color cyan/blue white/blue
title Debian GNU/Linux, kernel 2.6.26-2-686 root (hd0,4) kernel /vmlinuz-2.6.26-2-686 root=/dev/sda8 ro quiet initrd /initrd.img-2.6.26-2-686
title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode) root (hd0,4) kernel /vmlinuz-2.6.26-2-686 root=/dev/sda8 ro single initrd /initrd.img-2.6.26-2-686
title Other operating systems: root
title Microsoft Windows XP Professional root (hd0,0) savedefault makeactive chainloader +1
Czy jest możliwe żeby samoistnie pozmieniały się w nim jakieś wpisy? Windows startuje bez problemu. Co oznacza wpis: kernel /vmlinuz-2.6.26-2-686 root=/dev/sda8 ro quiet
Wiem że jest to ścieżka do pliku z jądrem systemu operacyjnego, ale sda8 to przecież partycja SWAP. Co jest nie tak?
Katiusha - 11-05-2010 16:13
A nie powinno to wyglądać tak:
kernel /vmlinuz-2.6.26-2-686 root=/dev/sda7 ro quiet
bo teraz tam masz /root?
ewentualnie tak jeśli chodzi mu w root=/.... o partycje z grubem i stage
kernel /vmlinuz-2.6.26-2-686 root=/dev/sda5 ro quiet
A na sda8 masz przecież partycje wymiany.
Spróbuj tak wpisać zamiast sda8 najpierw sda7, a jak nie zadziała to sda5 i powinno być dobrze. ;)
Makemake - 11-05-2010 16:48
Dziwna sprawa. Zmieniałem już wcześniej na sda5 i sda7 i Debian nie startował. Po Twoim wpisie spróbowałem jeszcze raz. Zmiana na sda5 nic nie dała. Natomiast po zmianie na sda7, przy ładowaniu systemu rozpoczął się jakiś proces naprawczy (nie wiem jaki), po czym komputer się przeładował i system wystartował poprawnie. Teraz jest już wszystko poprawnie. Jak to możliwe że w ,,menu.lst'' sda7 zmieniło się samo na sda8. Nie wiem o co w tym wszystkim chodzi?
Dziękuję za pomoc Katiusha.
Dodane: Próbowałem zrozumieć o co w tym wszystkim może chodzić i stwierdzam, że wpisy w ,,menu.lst'' nie zmieniły się, tylko były takie od początku. Świadczy o tym zawartość pliku ,,fstab'':
# <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/sda8 / ext3 errors=remount-ro 0 1 /dev/sda5 /boot ext3 defaults 0 2 /dev/sda6 /home ext3 defaults 0 2 /dev/sda7 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
To nazwy partycji w jakiś dziwny sposób zamieniły się miejscami. Device Boot Start End Blocks Id System /dev/sda1 * 1 5222 41945683+ 7 HPFS/NTFS /dev/sda2 5223 24803 157284382+ f W95 Ext'd (LBA) /dev/sda3 24804 51314 212949607+ 7 HPFS/NTFS /dev/sda4 51315 77825 212949607+ 7 HPFS/NTFS /dev/sda5 5223 5234 96358+ 83 Linux // partycja /boot /dev/sda6 5235 12529 58597056 83 Linux // partycja /home /dev/sda7 12530 14961 19535008+ 83 Linux // partycja / /dev/sda8 24742 24803 497983+ 82 Linux swap / Solaris
Przed tym jak Windows skasował mi GRUB-a, partycja z plikiem wymiany SWAP musiała być oznaczona jako sda7, a partycja z katalogiem głównym Linuksa - sda8. Nie wiem tylko jak to możliwe, że system startuje z błędnymi wpisami w fstab.
fnmirk - 11-05-2010 22:24
Jak usuwasz i tworzysz nowe partycje to zawsze przepisz tablicę partycji i wykonaj korektę w plikach konfiguracyjnych. Unikniesz takich niespodzianek. Windows przepisał tablicę partycji i uporządkował partycje w kolejności jakiej występują na dysku.
ryba84 - 12-05-2010 00:19
... Nie wiem tylko jak to możliwe, że system startuje z błędnymi wpisami w fstab.
Bo podajesz w grubie właściwy parametr root, a tam znajdują się skrypty startowe.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|