GRUB2 odmawia podniesienia Win7 x64


(Anonimito) #1

Witam :smiley:

Jestem na etapie “ulinuksawiania” komputerów, na których pracuję, perypetie ze sprzętem firmowym opisałem swego czasu na blogu, teraz przyszedł czas na PC domowy i mam zgrzyt z GRUB-em.

Sytuacja wygląda tak:

  • mam już zainstalowany Win7 x64

  • hardware GIGABYTE P55-USB3 + Intel Core i5-760 + 4GB RAM + nVIDIA GeForce GTX 560 Ti

  • BIOS nie UEFI (chodzą słuchy, że UEFI + x64 = kłopociki)

Podział partycji (jeden dysk 1TB)

  • główna systemowa NTFS pod Win7 (100 GB)

  • logiczna 1 NTFS (100 GB)

  • logiczna 2 NTFS (100 GB)

  • logiczna 3 NTFS (531 GB)

  • podstawowa ext4 / (49 GB)

  • podstawowa ext4 /home (49 GB)

  • podstawowa swap (2 GB)

Postawiłem (po przygodach - klasycznie u mnie problem z instalatorem) Kubuntu 12.10 x64 Beta 2, GRUB poszedł na /dev/sda/ Po instalacji GRUB włącza się, wykrywa Windows i Kubuntu, Kubuntu się uruchamia, Windows 7 nie.

Windows 7 po próbie uruchomienia zgłasza:

A disk read error occurred (i prosi o Ctrl+Alt+Del)

Partycje są sprawdzone pod kątem błędów i są czyste, pamięć sprawdzona też, sprawna, aktualizacja GRUB’a nie pomaga, boot-repair też nie, partycja z Windows była ustawiona jako boot (gparted).

Po uruchomieniu wiersza poleceń z DVD Windows i użyciu bootrec /fixmbr - Windows natychmiast wraca do życia, GRUB znika (/fixboot, /scanos i /rebuildbcd nie pomagają, /fixmbr zrobiłem na samym końcu). Reinstalacja GRUB’a spod Live CD - ponownie Kubuntu wstaje, Windows nie. Gdy Windows się nie podnosi i zgłasza “A disk read error occurred”, to mimo wszystko partycje Widnowsowe chodzą, wraz z systemową. Po uruchomieniu Kubuntu normalnie mogę korzystać z plików w Dolphinie i wszystko śmiga jak burza.

Log z Boot Info Script: http://pastebin.com/GuDMqsvq

Podejrzewam, że z uwagi na brak doświadczenia robię gdzieś jakiś banalny błąd, jakieś podpowiedzi?


(tdream) #2

A dlaczego zdecydowałeś się na wersję beta?Jest niestabilna i różnych niespodzianek można się niestety spodziewać :-D.Zrobiłeś defragmentację dysku przed podziałem na partycje linuksowe?


(saturno) #3

Wydaje mi się że masz cztery partycje podstawowe plus jedną rozszerzoną.

Pokaż rzut partycji z GParted.


(Anonimito) #4

@tdream: defragmentacja zrobiona, nawet musiałem, bo zmieniałem rozmiar partycji, żeby wygenerować miejsce pod Linuksa. Beta: na 12.04 mam za dużo problemów z nouveau, z 12.10 jestem w stanie z nich łatwiej wybrnąć (choć i tak skończyło się na sudo apt-get install nvidia-current)

@saturno: zrzut ekranu? http://i46.tinypic.com/28hgca1.png

Bardzo możliwe, że to jest dobry trop, bo dzieje się coś dziwnego - gparted pokazuje dodatkowe partycje ext4/swap jako logiczne podpięte do dev/sda2 wraz z ntfs. Tak samo pokazuje to EaseUs Partition Manager, ale już windowsowskie zarządzanie dyskami twierdzi, że są właśnie cztery podstawowe (ntfs system + ext4 x 2 i swap) i jedna rozszerzona z logicznymi ntfs. Jakby nie traktuje dodatkowych partycji jako logicznych, a chyba tak powinno?

Czyżby coś się źle popartycjonowało (dłubałem z poziomu instalatora Kubuntu, wcześniej tylko zmieniłem rozmiar partycji Multimedia o 100 GB w dół spod windy)? To może być to? Jest to odkręcalne bez kasowania partycji z linuksem?

Dzięki za naprowadzenie :smiley:


(roobal) #5

To pokaż jeszcze zrzut windowsowego zarządcy dyskami.


(Anonimito) #6

@roobal: http://i46.tinypic.com/2wq61y8.jpg

Dysk 1 (H:) to pendrive, nie mogłem wypiąć do zrzutu, bo akurat jest w użyciu :oops:

C jest pokazany jako podstawowa, D/E/F jako partycja rozszerzona z trzema dyskami logicznymi, linuksowe - jako kolejne trzy podstawowe, co kłóci się i z EaseUs Partition Managerem, gdzie mam wyraźnie logical (mogę wstawić też zrzut) i z gparted chyba na moje oko też.


(saturno) #7

Źle to mało powiedziane.

Pytanie tylko kiedy to się stało i który program pokazuje prawidłowo?

Odnośnie odkręcania, to nie mam pojęcia jak się za to zabrać, bo kombinowanie przy tablicy partycji może się skończyć utratą danych więc jeśli masz jakieś ważne dane to radzę je skopiować na wszelki wypadek. I nie chodzi mi tylko o partycje Linuksa, ale o wszystkie! Wiem, to z własnego doświadczenia, bo sam osobiście przeżyłem kiedyś chwile grozy kiedy Windowsowskim narzędziem usuwałem jedną partycję logiczną, a zniknęły od razu trzy (ciśnienie mi skoczyło pewnie nieźle)! Na szczęście udało się je odzyskać.

Ps.: Widzę, że orientujesz się w typach partycji więc proponuje żebyś jeszcze raz bardzo dokładnie i po kolei opisał poszczególne etapy pracy z partycjami (włączając w to: kolejność, przybliżone rozmiary i typy partycji, używane programy oraz co chciałeś osiągnąć, a co wychodziło).


(Anonimito) #8

Oryginalny podział HDD był zrobiony pod winzgrozą, chyba przy instalacji jeszcze Visty (chociaż nie pamiętam, bo było to w zasadzie zaraz po premierze Visty, lata świetlne temu, ale raczej tak, przy przesiadce na Win7 już nic nie ruszałem)

  • podstawowa NTFS 100 GB na system

  • rozszerzona z 3x logiczne: 100 GB NTFS + 100 GB NTFS + reszta, jakieś 630 GB NTFS

Wyszedł pomysł z Linuksem, w związku z czym ostatni dysk logiczny musiał być zmniejszony (na reszcie za ciasno). Najpierw zatrudniłem O&O Defrag, przeleciałem tylko ostatni logiczny, następnie zmniejszyłem wolumin przez windowsowskie zarządzanie dyskami, wszystko bez zgrzytów.

Wyszło:

  • podstawowa NTFS 100 GB na system

  • rozszerzona z 3x logiczne: 100 GB NTFS + 100 GB NTFS + jakieś 530 GB NTFS + reszta (ok. 100 GB) nieprzydzielona

Tu na razie wszystko było OK - w windowsowskim maganerze wyświetlało się jak trzeba, pliki były na swoim miejscu (i są nadal).

Reboot, start z CD Kubuntu 12.10, nomodeset, bo grafika się nie podniosła. Doleciałem do tworzenia partycji, wybrałem tryb ręczny i stworzyłem sobie trzy partycje na obszarze niezagospodarowanym

  • ok. 49 GB dla “/” ext4

  • ok. 49 GB dla “/home” ext4

  • ok. 2 GB dla swapa

System zainstalował się, wstał i śmigał (nie licząc zgrzytów z nouveau). Dyski były widoczne, także Windowsowskie z kompletem plików nań :wink: Odpalam Win7 i wiadomo co wyszło, dopiero /fixmbr pomógł, licząc, że wszystko cudownie samo się naprawi przywróciłem GRUB’a przez live cd, opierając się na http://ubuntuguide.net/how-to-restore-g … pvistawin7 ale wróciłem do punktu wyjścia, więc znowu /fixmbr i na razie Win7 działa z kompletem nienaruszonych danych.

Po akcji z /fixmbr zainstalowałem EaseUs Partition Manager i tam jest opcja analizy błędów HDD. Podejrzewając pad sprzętowy (shit happens) odpaliłem ją. Robi to trzystopniowo, najpierw jakiś test po katalogach, później odpala chkdsk, a na koniec test powierzchni - wszystko OK, przy czym uruchamiałem tylko dla partycji windowsowskich. Dodatkowo przed /fixmbr z płyty Win7 odpaliłem test pamięci - bez błędów.

Dziwne wydaje mi się także oznaczenie HDD w gparted - jest sda2, a po nim nagle sda5. sda3 i sda4 brak. Ale mimo tego wyliczone jest wszystko, po prostu dziura w numeracji, ale nie wydaje mi się to normalne - czemu akurat 3 i 4? No najwyżej jeśli to jakaś rezerwacja dla partycji podstawowych - nie znam się. Zwracam na to uwagę na wszelki wypadek.

No nic… załatwię dysk USB i zrzucę awaryjnie najważniejsze dane (tak - dotychczas nie miałem backupu - ludzie dzielą się na tych, co robią backupy i na tych, co je będą robić :stuck_out_tongue: ja jestem na razie w grupie 2 :stuck_out_tongue: ), następnie chyba spróbuję skasować partycje linuksowe, ale nie spod windowsowego managera i jak się nie posypie wszystko - stworzę nowe, ale nie spod instalatora Kubuntu, tylko może po gparted live cd?

Ale jakby ktoś miał jakieś fajne koncepcje, to proszę śmiało :wink: Lubię eksperymentować :wink:


(marcin82) #9

Podaj wynik skryptu boot_info_script :

http://sourceforge.net/projects/bootinfoscript/ .

Normalnie nie powinno być problemów - musiałeś coś namieszać przy instalacji.


(Anonimito) #10

Już jest w pierwszym poście :wink: http://pastebin.com/GuDMqsvq


(Damgora) #11

Małe spostrzeżenie:

w configu gruba we wpisie windowsa: set root=‘ldm/4706bfa0-0f35-11e2-8bff-6cf049e169ad/Volume1’

http://en.wikipedia.org/wiki/Logical_Disk_Manager

http://en.wikipedia.org/wiki/Logical_Di … ion_tables

Może wyniki poleceń list partition i list volume w Diskpart coś wyjaśnią?


(Anonimito) #12

Dzięki za link, czyli wygląda na to, że jednak jest OK, tylko wpadłem na błąd w zarządzaniu dyskami, gparted i easeus nie kłamią, diskpart - potwierdza. Wygląda to tak:

list disk

(1 i 2 - pendrive’y, znowu w użyciu, nie mogę się ich teraz pozbyć z widoku - sorry :oops: )

Nr dysku Stan Rozmiar Wolne Dyn GPT

  -------- ------------- ------- ------- --- ---

  Dysk 0 Online 931 GB 1024 KB

  Dysk 1 Online 59 GB 0 B

  Dysk 2 Online 7569 MB 0 B

  Dysk 3 Brak nośnika 0 B 0 B

list partition(5-7 linux, logiczne, jest git)

Partycja ### Typ Rozmiar Przesunięcie

  ------------- ---------------- ------- ------------

  Partycja 1 Podstawowy 99 GB 31 KB

  Partycja 0 Rozszerzony 831 GB 99 GB

  Partycja 2 Logiczny 100 GB 99 GB

  Partycja 3 Logiczny 99 GB 199 GB

  Partycja 4 Logiczny 531 GB 299 GB

  Partycja 5 Logiczny 49 GB 831 GB

  Partycja 6 Logiczny 49 GB 880 GB

  Partycja 7 Logiczny 1954 MB 929 GB

list volume(H - pendrive 1, I - pendrive 2, G - DVD, J - nie wiem co to w ogóle, może jakaś resztka z pendrive’a 2 - to odtwarzacz MP3)

Wolumin ### Lit Etykieta Fs Typ Rozmiar Stan Info

  ----------- --- ----------- ----- ---------- ------- --------- --------

  Wolumin 0 G DVD-ROM 0 B Brak nośn

  Wolumin 1 C System NTFS Partycja 99 GB Zdrowy System

  Wolumin 2 D Programy NTFS Partycja 100 GB Zdrowy

  Wolumin 3 E TV Sat NTFS Partycja 99 GB Zdrowy

  Wolumin 4 F Multimedia NTFS Partycja 531 GB Zdrowy

  Wolumin 5 H NTFS Wymienny 59 GB Zdrowy

  Wolumin 6 I FAT32 Wymienny 7568 MB Zdrowy

  Wolumin 7 J Wymienny 0 B Brak nośn

set root nie powinno być czasem w formacie set root=(hd0,1) zamiast tej kombinacji?

EDIT: Coś mam: https://bbs.archlinux.org/viewtopic.php?id=149772 - grub2 nie lubi ldm? Ale przecież partycja z systemem jest podstawowa. Jakbym tam wkleił w configa w miejscu tego ldm… brutalnie set root=(hd0,1)?


(Damgora) #13

Tutaj chyba podobny problem.

Być może po przeskalowaniu partycji w windowsie, na dysku zostają jakieś metadane, przez które os-prober wykrywa partycję windowsa jako wolumin ldm.


(roobal) #14

Tutaj możesz się z tym zapoznać :arrow: linuksowe-oznaczenia-dyskow-partycji-t344649.html, wtedy będziesz się już znał :wink:


(Damgora) #15

Mam fedorkę z podobną konfiguracją bootowania (grub 1.99, windows7 na pierwszej partycji pierwszego dysku) i u mnie linijkom:

insmod ldm

set root='ldm/4706bfa0-0f35-11e2-8bff-6cf049e169ad/Volume1'

if [x$feature_platform_search_hint = xy]; then

          search --no-floppy --fs-uuid --set=root --hint-bios=hd0 --hint-efi=hd0 --hint-baremetal=ahci0 --hint='ldm/4706bfa0-0f35-11e2-8bff-6cf049e169ad/Volume1' 9A589F57589F30CD

        else

          search --no-floppy --fs-uuid --set=root 9A589F57589F30CD

        fi

odpowiadają:

insmod part_msdos

set root='(hd0,msdos1)'

search --no-floppy --fs-uuid --set=root 9A589F57589F30CD

Zamiast edytować plik z konfiguracją możesz najpierw przy ekranie wyboru systemu zaznaczyć windows, wcisnąć ‘e’ i poeksperymentować ze zmianami.


(Niedzw) #16

Nie wiem po co ta litania w poście powyżej, ja widze w info scripcie pare problemów

"Uwaga: partycja rozszerzona nie zaczyna się na granicy cylindra.

DOS i Linux inaczej zinterpretują jej zawartość.

Reinstall the GRUB of sda8 into the MBR of sda

Wykryto Embedding-error-in-sda. Możesz spróbować ponownie po aktywacji opcji [Osobna /boot partycja:]"

albo tak jak radzi skrypt:

“Pliki startowe (boot) [system w użyciu - Ubuntu quantal (development branch)] są daleko od początku dysku. Twój BIOS może mieć problemy z ich znalezieniem. Możesz spróbować ponownie po utworzeniu /boot partycji (EXT4, >200MB, początku dysku). Możesz to osiągnąć używając na przykład: gParted. Następnie zaznacz tę partycję poprzez [Osobna /boot partycja:] opcję z [boot Repair]. (https://help.ubuntu.com/community/BootPartition)”

Ja bym ci proponował wyczyszczenie MBR programem “dd” od disc destroyer :wink: dlatego to jest niebezpieczna operacja dla danych

“dd if=/dev/zero of=/dev/sda bs=446 count=1”

i zainstalował jeszcze raz Gruba w MBR jednocześnie dając Linuxa bliżej początku dysku bo twój Bios jest jakiś lewy;) albo Gruba do sda8 a w MBR LILo


(saturno) #17

Pewnie chodzi o to, że to co wstawiasz nie jest “czystym” logiem z oryginalnego boot_info_script, tylko z jakiejś przeróbki:

Skąd w tytule logu masz: “Boot-Repair extra info”, a w samym logu informacje o nieudanej próbie naprawy GRUB-a?

Proponuje żebyś uruchomił jakieś Live-CD i na nim uruchomił oryginalny (świeżo ściągnięty) skrypt.

Skoro “tylko” Windowsowskie zarządzanie dyskami wyświetla błędnie partycje ten kierunek szukania problemu można uznać za niebyły.

arthulus wszystko, to co poruszyłeś jest mało istotne, bo opierasz się na części logu który dotyczy: Boot-Repair.

To, że jakieś narzędzie próbowało naprawiać GRUB instalując go na partycji systemowej (sda8) wcale nie znaczy, że jest on tam zainstalowany, ani że tak powinno być.

Tak samo sprawa z partycją: /boot. Po co proponujesz utworzenie takiej partycji jak to nie ma najmniejszego sensu skoro GRUB się uruchamia i Kubuntu również, a problem jest przecież z uruchomieniem Windowsa który znajduje się na początku dysku. Więc jaki lewy bios?

Anonimito proponuje żebyś sprawdził czy GRUB uruchomiony z Live-CD również powoduje problemy (Super Grub2 Disk).

Nie dysponuję płytą z Super Grub2 Disk więc opiszę na podstawie Parted Magi c w którym zawarty jest Super Grub2:

  • Uruchamiasz komputer z płyty

  • Wybierasz: Extras Menu

  • Wybierasz: Super Grub2 Disk

  • Wybierasz: Detect any Operating System

  • Z menu GRUB-a które się pojawi wybierasz: Windows


(Anonimito) #18

Przepraszam za kilka dni ciszy, ale miałem inne sprawy na głowie i musiałem odłożyć kombinowanie :wink:

roobal , dzięki - czyli tu także wszystko jest OK i moje podejrzenie z numerowaniem od 5 było prawidłowe :wink: Dzięki :wink:

cayman3_11 , dzięki za te linijki - po prostu wyedytowałem na siłę grub.cfg i śmiga wszystko - i Windows i Kubuntu :smiley:

saturno , Super Grub2 Disk odpaliłem i to mnie ostatecznie naprowadziło, gdyż po wykryciu wszystkiego Windows został podpisany jako hd0,msdos1 (i oczywiście się uruchomił). Czyli Super Grub2 Disk radzi sobie prawidłowo z wykryciem sytuacji na HDD u mnie, GRUB2 z Kubuntu - nie.

Dla mnie w zasadzie jasne jest już, że mam tu do czynienia u siebie z sytuacją w której systemowy GRUB2 z niewiadomego powodu wykrywa dysk jako ldm zamiast part_msdos. Edycja grub.cfg załatwiła sprawę, ale co będzie jeśli zejdzie jakaś aktualizacja gruba lub coś wymusi mi update-grub i grub.cfg znowu się posypie? Macie pomysł na stałe rozwiązanie (poza zaoraniem wszystkiego, partycjonowaniem i formatowaniem na nowo)? Może jakaś edycja os_prober, odpowiadającego za detekcję winzgrozy, z /etc/grub.d/ wchodzi w grę?

Próbowałem całkiem czyścić GRUB i pobierać na nowo (apt-get install grub-pc), startując z Live CD i przechodząc na ChRoot, zgodnie z opisem tu: https://help.ubuntu.com/community/Grub2/Installing ale i tak po wszystkim na koniec update-grub i w grub.cfg zobaczyłem insmod ldm :confused:

Póki co mam wyedytowany grub.cfg i problem jest rozwiązany, ale szukam trwałego wyjścia na wypadek update-grub.

Dziękuję za Waszą dotychczasową pomoc, dzięki Wam wszystko mi śmiga i obyło się bez ofiar, formatowania i innych kombinacji :wink:

EDIT: No cóż… wystarczyło, że mi Kubuntu pobrał aktualizacje… Najwyraźniej przy ich instalacji wywołał update-grub i edytowałem raz jeszcze :wink: Stałe rozwiązanie by się przydało…


(Damgora) #19

https://bugs.launchpad.net/ubuntu/+sour … ug/1061255


(Anonimito) #20

Strzał w dziesiątkę! =D> Mam dokładnie to samo, muszę się podpiąć do tego buga, później spróbuję tam skrobnąć wraz z wymaganymi danymi o które pytał Phillip Susi.

Dzięki :smiley: