|
[+] Dodanie Windows7 do menu gruba po jego przywróceniu
lexom - 24-05-2010 10:10
Witam. Miałem zainstalowanego Debiana, którego nie używałem kilka miesięcy. Chciałem do niego powrócić i postanowiłem przywrócić gruba. Zrobiłem to tak:
mkdir /mnt/root mount /dev/sda7 /mnt/root grub-install --no-floppy --recheck --root-directory=/mnt/root /dev/sda
Po tym zabiegu grub faktycznie jest zainstalowany. Debian uruchamia się, ale mam problem z uruchomieniem Windowsa. Gdy próbuję go wybrać z listy to mam błąd w postaci:
Error: no such device: e6987c5....... Failed to boot default entries. Press any key to continue.
Co zmienić aby Windows był także dostępny z menu gruba. Dodam, że wcześniej miałem zainstalowanego Windowsa XP, a teraz mam Windows7. Będę wdzięczny za pomoc.
xmaster - 24-05-2010 10:17
Poszukaj na forum o grubie i Windows 7 - było wałkowane wielokrotnie
mati75 - 24-05-2010 16:13
Zainstaluj pakiet os-prober i później
update-grub2
lexom - 26-05-2010 14:51
Wszystko zrobiłem tak jak opisałem w pierwszym poście. Z Windows7 poradziłem sobie w ten sposób, że zmieniłem wpis na poniższy:
menuentry "Windows 7" { set root=(hd0,1) chainloader +1 }
Po tym zabiegu niby wszystko działało prawidłowo. Czyli mogłem uruchomić bez problemów Windows7 i Debiana. Następnie dokonałem aktualizacji systemu, restart i zamiast gruba mam:
error: the symbol 'grub_puts_' not found
Czy dobrze zainstalowałem gruba?
Mati75, skorzystałem także z Twojej opcji. Grub został faktycznie zaktualizowany, ale podczas wyboru Windowsa7 mam tylko napis "GRUB" na czarnym tle.
Na chwilę obecną mój plik grub.cfg wygląda tak:
# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #
### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then load_env fi set default="0" if [ ${prev_saved_entry} ]; then set saved_entry=${prev_saved_entry} save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi
function savedefault { if [ -z ${boot_once} ]; then saved_entry=${chosen} save_env saved_entry fi } set timeout=5 ### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=cyan/blue set menu_color_highlight=white/blue ### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ### menuentry "Debian GNU/Linux, with Linux 2.6.30-2-686" --class debian --class gnu-linux --class gnu --class os { insmod ext2 set root='(hd0,7)' search --no-floppy --fs-uuid --set 82e8de77-2851-4e31-93f4-a8b627c07a9d echo Loading Linux 2.6.30-2-686 ... linux /boot/vmlinuz-2.6.30-2-686 root=UUID=82e8de77-2851-4e31-93f4-a8b627c07a9d ro quiet echo Loading initial ramdisk ... initrd /boot/initrd.img-2.6.30-2-686 } menuentry "Debian GNU/Linux, with Linux 2.6.30-2-686 (recovery mode)" --class debian --class gnu-linux --class gnu --class os { insmod ext2 set root='(hd0,7)' search --no-floppy --fs-uuid --set 82e8de77-2851-4e31-93f4-a8b627c07a9d echo Loading Linux 2.6.30-2-686 ... linux /boot/vmlinuz-2.6.30-2-686 root=UUID=82e8de77-2851-4e31-93f4-a8b627c07a9d ro single echo Loading initial ramdisk ... initrd /boot/initrd.img-2.6.30-2-686 } ### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/30_os-prober ### menuentry "Windows 7 (loader) (on /dev/sda1)" { insmod ntfs set root='(hd0,1)' search --no-floppy --fs-uuid --set c06a10006a0ff248 chainloader +1 } ### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_otheros ###
# This entry automatically added by the Debian installer for a non-linux OS # on /dev/sda1 menuentry "Microsoft Windows XP Professional" { set root=(hd0,1) search --no-floppy --fs-uuid --set e6987c5f987c3063 drivemap -s (hd0) $root chainloader +1 } ### END /etc/grub.d/30_otheros ###
### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ### fdisk -l
/dev/sda1 * 1 5549 44572311 7 HPFS/NTFS /dev/sda2 5550 14593 72645930 f W95 Ext'd (LBA) /dev/sda5 5550 12578 56460411 7 HPFS/NTFS /dev/sda6 12579 12680 819283+ 82 Linux swap / Solaris /dev/sda7 12681 14593 15366141 83 Linux
Dodane: Odświeżam temat. Ma ktoś jakiś pomysł jak uruchomić Windows7 z gruba? Za nic nie mogę sobie z tym poradzić.
fnmirk - 26-05-2010 15:24
W tym samym dziale: http://debian.linux.pl/threads/18831...highlight=grub
lexom - 26-05-2010 15:35
Nie bawiłem się w odinstalowywanie gruba. Ściągnąłem płytkę Windows 7 32-bit Repair Disc i w wierszu poleceń wpisałem:
Bootrec.exe /FixMbr
Następnie restart komputera i mam biały napis "GRUB" na czarnym tle. Automatyczne naprawianie twierdzi, że wszystko jest OK. Odpaliłem Debiana z Super Grub Disk.
Ma ktoś jakieś inne pomysły?
fnmirk - 26-05-2010 15:54
Wyczyść sektor startowy dysku twardego z poziomu jakiegoś livecd z Linuksem:
dd if=/dev/zero of=/dev/hdX bs=446 count=1
Za hdX wstaw własną nazwę dysku. I dopiero po tym instaluj gruba.
lexom - 26-05-2010 17:06
A czy da się zainstalować gruba bez dostępu do internetu (internet mam po wifi i LiveCD Ubuntu mi nie wykrywa sieci)?
fnmirk - 26-05-2010 18:28
Tak, można go zainstalować bez dostępu do internetu.
lexom - 26-05-2010 19:26
Czyli odpalam liveCD (Ubuntu - taką wersję mam), następnie:
dd if=/dev/zero of=/dev/hdX bs=446 count=1 grub-install /dev/sda update-grub
Czy tak mają wyglądać komendy w kolejności? Przepraszam, że 100 razy pytam o to samo ale nie chciałbym przez przypadek zrobić czegoś co usunie wszystkie partycje.
fnmirk - 26-05-2010 20:06
Wyczyścić musisz sektor startowy dysku (pierwsze polecenie). Następnie dobrze jest uruchomić ponownie system i dopiero przystąpić do instalacji, którą już robiłeś (opis w Twojej pierwszej wiadomości w tym temacie).
W tylu miejscach jest to opisane nieomal krok po kroku. http://pl.wikipedia.org/wiki/Master_boot_record http://debian.linux.pl/showthread.php?t=628
lexom - 26-05-2010 22:09
Przetestowałem dwie metody i żadna nie przyniosła efektu:
a) l Odpaliłem system z LiveCD (UBUNTU)l
l
dd if=/dev/zero of=/dev/sda bs=446 count=1
l
lRestart systemul
l
fdisk -l
l
l
mkdir /mnt/root
l
l
mount -t ext3 /dev/sda7 /mnt/root
l
l
mount -t proc none /mnt/root/proc
l
l
mount -o bind /dev /mnt/root/dev
l
l
grub-install --no-floppy --recheck --root-directory=/mnt/root /dev/sda
l
Grub się zainstalował ale ze starymi ustawieniami.
b) skorzystałem z opisu z innego postul
aptitude purge grub
l
l
rm -r /boot/grub
l
l
aptitude install grub-legacy
l
l
grub-install /dev/sda
l
l
update-grub
l
Grub się zainstalował (do wyboru był tylko Debian). Wystartowałem komputer z płyty i wydałem polecenie:
Bootrec.exe /FixMbr
Windows nie wystartował, pojawił się tylko biały napis na czarnym tle "GRUB"
Ma ktoś jeszcze jakieś pomysły?
W sieci znalazłem skrypt: Boot Info script Wyniki w pliku TXT
fnmirk - 27-05-2010 06:23
Masz zainstalowany program ,,os-prober''? Musisz naprawić Windowsa, skoro Debian się uruchamia po instalacji gruba. A opis jaki przedstawił Akkon też nie działa? Którą wersję gruba instalujesz?
xmaster - 27-05-2010 07:08
Grub się zainstalował (do wyboru był tylko Debian). Wystartowałem komputer z płyty i wydałem polecenie:
Bootrec.exe /FixMbr
Windows nie wystartował, pojawił się tylko biały napis na czarnym tle "GRUB"
Ma ktoś jeszcze jakieś pomysły?
Tak. Powiesz nam, po jakiego cukierka, po poprawnym zainstalowaniu gruba i uruchomieniu Debiana wrzuciłeś płytę z Windowsem i wykonałeś ,,fixmbr''? Bo tego nie rozumiem. Po tej operacji powinieneś edytować ustawienia gruba i dopisać Windowsa i to wszystko.
lexom - 27-05-2010 11:28
Tak. Powiesz nam po jaką cholerę po poprawnym zainstalowaniu Gruba i uruchomieniu Debiana wrzuciłeś płytę z Windowsem i wykonałeś fixmbr? Bo tego nie rozumiem. Po tej operacji powinieneś wy edytować ustawienia Gruba i dopisać Windowsa i to wszystko.
Nie do końca. Po zainstalowaniu "starego" gruba dodałem wpisy związane z Windowsem. Niestety system windows nie uruchamiał się z gruba więc postanowiłem wykonać fixmbr i sprawdzić czy się uruchomi Windows ... nie uruchomił się.
Masz zainstalowany program ,,os-prober''? Musisz naprawić Windowsa, skoro Debian się uruchamia po instalacji gruba. A opis jaki przedstawił Akkon też nie działa? Którą wersję gruba instalujesz?
Tak mam zainstalowanego os-prober. Ściągnąłem płytę, która służy do naprawianie windowsa 7, automatyczna naprawa wykazała, że nie ma żadnych błędów.
Akkon - 27-05-2010 17:02
Automatyczne naprawianie twierdzi, że wszystko jest OK
Bo automat nie naprawi Ci tego jeśli program rozruchowy Windowsa Visty znajduje się na innej partycji. A skąd masze pewność, że grub w systemie (nie w MBR) jest zainstalowany poprawnie? W wątku, do którego link, wkleił fnmirk wszystko dokładnie opisałem krok po korku. Najpierw przetestuj tą procedurę.
lexom - 27-05-2010 19:04
Zrobiłem wszystko tak:
aptitude purge grub
rm -r /boot/grub
aptitude install grub-legacy
grub-install /dev/sda
update-grub
Grub się zainstalował, miałem do wyboru Debiana. Wedytowałem plik:
/boot/grub/menu.lst
i dodałem do niego : title Microsoft Windows Seven root (hd0,x) chainloader +1
nie przyniosło to żadnego efektu windows się nie uruchamiał na żadnym wpisie. Następnie zmieniłem wpis na: title Microsoft Windows Seven root (hd0,6) makeactive chainloader +1
Ta opcja także nie przyniosła spodziewanego rezultatu. x - to liczba <0,6>
Akkon - 27-05-2010 20:07
Jeśli Twój Windows ma pliki rozruchowe na sda1 to wpis powinien wyglądać tak root (hd0,0)
Jeśli te plik są uszkodzone, to tą właśnie partycję należy potraktować FixMbr. Inna możliwość to: root (hd0,4)
Jeśli to nie pomoże, to pokombinuj z mapowaniem dysków w pliku menu.lst. Dalej, być może (tak było u mnie) u Ciebie też doszło do uszkodzenia plików odpowiadających za rozruch Windowsa. Wyzeruj sektor MBR, następnie spróbuj naprawić te pliki przy pomocy płyty ratunkowej Windows. Sprawdź czy Windows się uruchamia poprawnie. Jeśli tak ponownie zainstaluj gruba.
lexom - 27-05-2010 21:36
Sprawdź czy Windows się uruchamia poprawnie. Jeśli tak ponownie zainstaluj gruba.
No i własnie tutaj jest spory problem bo windows się nie uruchamia.
Zrobiłem tak:
dd if=/sev/zero of=/dev/sda bs=446 count=1
Zrestartowałem komputer, gruba nie było. Jedynie kursor migał. Uruchomiłem płytę instalacyjną windowsa 7 i wydałem polecenie:
bootrec.exe /fixmbr
Restart, pojawił się napis GRUB (windows się nie uruchomił).
Zainstalowałem gruba grub-install --no-floppy --recheck --root-directory=/mnt/root /dev/sda
Restart, nie mogłem wybrać systemu, pojawił się jedynie:
sh:grub>
Uruchomiłem system za pomocą płyty Super Grub Disk.
Fundamentalne pytanie: Jak uruchomić Windowsa ? :)
Akkon - 27-05-2010 22:01
Z tego co piszesz wynika, że nie naprawiłeś skutecznie programu rozruchowego Windowsa. Ja z uporem maniak będę powtarzał, mądry o swoje doświadczenia z Vistą, użyj fixmbr na partycji rozruchowej systemu (czyli sda1), a nie tam gdzie jest zainstalowany cały system. Ewentualnie pokombinuj wg tego opisu: http://projektuje.org/index.php/2009...o-sektora-mbr/
Więcej pomysłów już nie mam. Aha na forum Minta przeczytałem ostatnio, żeby nie przełączać się z Windowsa na Linuksa wybierając w tym pierwszym opcję restart komputera, bo to może później spowodować problemy z uruchomieniem systemów. Ponoć należy zawsze Windowsa wyłączyć i ponownie wyłączyć komputer. Cóż, może to jest powód naszych problemów? Z drugiej jednak strony Windows XP nigdy mi takich problemów nie stwarzał.
lexom - 27-05-2010 23:17
Udało się! Wystarczyło użyć:
bootrec /fixboot
Dziękuje wszystkim za poświęcony czas.
Akkon - 28-05-2010 13:34
A więc miałem nosa. Uszkodzony był nie tyle MBR, co pliki rozruchowe Windowsa. Cieszę się, że udało Ci się rozwiązać ten problem
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|