Strona 1 z 2

[+] Grub, ATA (Linux), SATA (Windows) - powoduje błąd

: 03 lutego 2009, 18:39
autor: A4070230
Witam.

Problem jest tego typu:
Mam 3 HDD; 2 na ATA, 1 na SATA.
1-szy na ATA - Debian, partycja aktywna z Grubem,
SATA - Windows XP Pro, partycja aktywna.
2-gi ATA - dane, oczywiście dysk bez aktywnych partycji.
Podczas instalacji Debiana został wykryty drugi system operacyjny (Windows XP),
więc "odpowiedni" wpis pojawił się automatycznie w pliku menu.lst Gruba.

Kod: Zaznacz cały

[...]
## ## End Default Options ##

title		Debian GNU/Linux, kernel 2.6.18-6-686
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.18-6-686 root=/dev/hda1 ro 
initrd		/boot/initrd.img-2.6.18-6-686
savedefault

title		Debian GNU/Linux, kernel 2.6.18-6-686 (single-user mode)
root		(hd0,0)
kernel		/boot/vmlinuz-2.6.18-6-686 root=/dev/hda1 ro single
initrd		/boot/initrd.img-2.6.18-6-686
savedefault

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Inne systemy operacyjne:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1

title		Windows NT/2000/XP
root		(hd2,0)
chainloader	+1
savedefault
Jednak wybierając start Windows podczas startu systemu występuje błąd,
wygląda to tak:

Kod: Zaznacz cały

root		(hd2,0)
Filesystem type unknown, partition type 0x7
chainloader	+1
savedefault

brak pliku NTLDR
Uprzedzając pytanie o wynik fdisk -l:

Kod: Zaznacz cały

debian:~# fdisk -l

Disk /dev/hda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          34      273073+  83  Linux
/dev/hda2              35        4865    38805007+   5  Extended
/dev/hda5              35         642     4883728+  83  Linux
/dev/hda6             643        1007     2931831   83  Linux
/dev/hda7            1008        1195     1510078+  82  Linux swap / Solaris
/dev/hda8            1196        1244      393561   83  Linux
/dev/hda9            1245        4865    29085651   83  Linux

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        4865    39078081    7  HPFS/NTFS
/dev/sda2            4866       19456   117202207+   f  W95 Ext'd (LBA)
/dev/sda5            4866       12161    58605088+   7  HPFS/NTFS
/dev/sda6           12162       19456    58597056    7  HPFS/NTFS

Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1         973     7815591    7  HPFS/NTFS
/dev/hdb2             974       19457   148472730    f  W95 Ext'd (LBA)
/dev/hdb5             974        6073    40965718+   7  HPFS/NTFS
/dev/hdb6            6074       19457   107506948+   7  HPFS/NTFS
O co tu chodzi? Dlaczego i skąd ten błąd?
Będę wdzięczny za wszelkie sugestie i rady.

: 03 lutego 2009, 22:31
autor: DadaD
Rozumiem, że Debian uruchamia sie bezproblemowo.
Wpis dla Windows ja takim uruchamiam swój system w menu.lst
## tak prawdopodobnie u Ciebie będzie dobrze
title Microsoft Windows XP Professional
rootnoverify (hd1,0)
chainloader +1
sam często walczę z tym, nie wiem czy błędem, ale na pewno prawidłowością. Instalator Debiana tak rozpoznaje. Związane to jest z tym, że losowo rozpoznawane są dyski, gdy są różnego typu tj PATA i SATA. Można się przyzwyczaić.
Czasem już mi się zdarzało, że po kilku dniach musiałem zmieniać wpisy
Inne distra prawidłowo rozpoznają np CentOS, Mint.

Pozdrowienia

: 04 lutego 2009, 09:37
autor: A4070230
Witam.

Tak, Debian uruchamia się normalnie, zarówno w trybie single, jak i normalnie.
Aby uruchomić Windows, muszę w biosie zmienić kolejność uruchamiania, co nie jest wygodne na dłuższą metę :-)
Dziękuję za zainteresowanie i radę, wypróbuję jak tylko wrócę do domu.

Pozdrawiam.

Edit:
Witam ponownie.

Niestety, zmiana wpisu nic nie dała.
Sprawdzałem w pliku device znajdującym się w folderze grub, (są tam dane o dyskach, tzn. id dysku, i nazwa, jaką nadał mu grub), okazało się, że mój SATA, na którym mam Windows, to wg gruba faktycznie hd2.
Dziwne, że grub nie jest w stanie uruchomić systemu z tego dysku.
Może on po prostu nie lubi partycji NTFS.

Z góry dziękuję wszystkim, którzy spróbują coś doradzić.

Pozdrawiam.

: 04 lutego 2009, 17:41
autor: SpeedVin
Miałem ten sam problem na pojedynczym dysku ATA i co się okazało (taki sam komunikat) widocznie coś zostało uszkodzone reinstalacja pomogła ;-)
@DadaD
Chodziło tutaj o reinstalacje systemu nie bootloadera komunikat pojawił się nawet nie w GRUBie, a w domyślnym windowsowym bootloaderze.

: 04 lutego 2009, 18:14
autor: DadaD
GRUB widzi tak najpierw dyski PATA a następnie SATA czyli
1. hda,
2. hdb
i następnie dopiero jako 3. sda
i gdyby było dalej 4. sdb
spróbuj podać mu w takim razie tak
title Microsoft Windows XP Professional
rootnoverify (hd2,0)
chainloader +1
(GRUB liczy od 0)

Stanowczo odradzam reinstalację! kłopot Z GRUB-em to nie katastrofa!

Pozdrowienia

Edytka:
Spróbuj ewentualnie poeksperymentować stosując przy uruchamianiu metodę
klawisz "e" edycja linii, pozycji
Tab podpowiedź GRUBA
klawisz "b" botowanie.

: 04 lutego 2009, 19:50
autor: A4070230
DadaD, dzięki wielkie za zainteresowanie.
Jednak to, co radzisz, jest już sprawdzone (zobacz pierwszy post), z dopiskiem ,,...noverify'' również - nie wspominałem o tym, bo różnica była tylko taka, że dla "root", grub informował:

Kod: Zaznacz cały

Filesystem type unknown, partition type 0x7
a dla "rootnoverify" tej informacji nie ma.
I w jednym i w drugim przypadku uruchamianie systemu zatrzymuje się tak, jak w pierwszym poście.
Klawisze "e", "e", "b" podczas ładowania również wykorzystywałem.
Próbowałem "root", rootnoverify, hd2,0, hd1,0 - efekt ten sam.
Dziwne, bo po zmianie kolejkowania dysków w biosie, Windows XP (jak dawniej, przed instalacją Debiana) startuje bez najmniejszych problemów.

: 04 lutego 2009, 21:46
autor: jaqbeu
Nie mam pewności, czy to pomoże, ale spróbuj ustawić dysk z Debianem na master, a Windowsa jako slave.
Ostatnio miałem podobny błąd i, ku mojemu zdziwieniu, to pomogło :) .

EDIT: Ustawić zworkami, nie w biosie. W biosie nie pomogło, dlatego się zdziwiłem, że zworki podziałały ;) .

: 04 lutego 2009, 23:04
autor: DadaD
@A4070230
Zorientowałem się, że robiłeś liczne zmiany w edycji programu rozruchowego tak jak pisałeś w #1 poście, ale czasem można zrobić literówkę, co mi się kilka razy w ostatnich dniach zdarzyło.

Teraz jeszcze nasuwają się takie spostrzeżenia:
Ostatnio dwukrotnie instalowałem Debian Lenny, przy układzie
sda1 Windows XP istniejący
hda1 CentOS istniejący
sda5 Debian instalowany
W BIOS-ie sda - master natomiast hda-slave
Instalator Debiana rozpoznał inne systemy tj Windows XP i CentOS i chciał instalować GRUB-a w (hd0) i jeżeli się na to godziłem nie mogłem uruchomić Debiana, natomiast gdy wskazałem jako miejsce do instalacji (hd1) wszystko działa prawidłowo.

Może powinieneś zainstalować GRUB-a tak jak ja zrobiłem, bo prawdopodobnie teraz jest u Ciebie w MBR dysku sda.
Mankament mojego rozwiązania:
Przy pierwszym uruchomieniu Windows skorzystałem z supergruba, aby ładował Windows XP.
Musiałem poprawić wpisy menu.lst dotyczące dysku i partycji, a jeżeli tego nie zrobiłem to i tak mogłem uruchomić ręcznie wybrany system operacyjny.
Teraz działa bezproblemowo.

W systemach, które nie używają uuid a są tam kontrolery sata oraz ide - udev losowo dodaje kolejność i z tego może wypływa problem.

A może jeszcze najpierw spróbuj odnowić sektor MBR poprzez uruchomienie Windows supergrubem lub płytą instalacyjną Windows XP?

Pozdrowienia.

: 05 lutego 2009, 10:31
autor: A4070230
@jaqbeu
Dysk z Windows ma aktywną partycję. To jest dysk SATA, czyli nie ma zworek konfiguracyjnych.
Dyski ATA, to dysk z Debianem, z aktywną partycją, ustawiony zworkami na master, drugi dysk ATA to dysk z danymi, ustawiony jako slave.

@DadaD
Grub siedzi raczej na MBR pierwszego dysku ATA, czyli tego z debianem. Bo menu pojawia się tylko wtedy, kiedy system startuje z tego HDD.
Kiedy w BIOSie przestawiam na start z dysku SATA (Windows), po prostu uruchamia się Windows, tak jak przed instalacją Debiana.

: 05 lutego 2009, 13:58
autor: DadaD
@DadaD
Grub siedzi raczej na MBR pierwszego dysku ATA, czyli tego z debianem. Bo menu pojawia się tylko wtedy, kiedy system startuje z tego HDD.
Kiedy w BIOSie przestawiam na start z dysku SATA (Windows), po prostu uruchamia się Windows, tak jak przed instalacją Debiana.
Jeżeli twierdzisz, że na dysku Debiana jest GRUB tzn. jest on na primary master czyli (hd0),
dysk z danymi primary slave (hd1),
Windows jest widziany przez GRUB-a jako secondary master (hd2)

/dev/hda1 -> Debian startuje GRUB widzi jako (hd0,0)

/dev/sda1 -> Windows nie startuje GRUB widzi jako (hd2,0) ale nie rozpoznaje rodzaju partycji, podobnie gdy zmieniłeś na (hd1,0)

Czyli GRUB nie widzi bootloadera Windows.

Być może, że wystarczy odnowić sektor MBR supergrub może to najpierw spróbuj.
Gdy nie pomoże to moja propozycja:
Użyj płyty instalacyjnej WinXP klawisz "R" i w konsoli odzyskiwania

Kod: Zaznacz cały

fixmbr
następnie

Kod: Zaznacz cały

fixboot
restart
i następnie ponowna instalacja GRUB-a w (hd0)? Ale może spróbuj w (hd1) - tak zrobiłem u siebie i działa - a może nawet w (hd2)? Zobacz co podpowie Tab.
Gdyby nie pomogło odpiąć dysk ATA z danymi i wtedy zainstalować GRUB-a, gdy są tylko 2 dyski.
Kiedyś miałem zainstalowane trzy dyski 2 x ATA + 1 SATA (podobnie jak u Ciebie)i wszystko działało minusem był hałas!
Wszystko ustawiałem"programowo" bez ingerencji w zworki, wyjmowanie dysków ...
Także kłopoty były tylko przy Debianie i jego GRUB-ie, metodą prób i błędów można je było rozwiązać, chociaż czasem trafiał mnie ,,zawał''.

Pozdrowienia