Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: GRUB2 nenajde Windows  (Přečteno 4134 krát)

Eda

  • Návštěvník
  • Příspěvků: 40
GRUB2 nenajde Windows
« kdy: 28 Prosince 2009, 14:25:03 »
Zdravím.

Nedávno jsem si nainstaloval Ubuntu 9.10. V té době jsem měl jeden disk, kde byl dualboot Win7 právě s tímto Ubuntu. Vše bylo ok, včetně GRUBu2 a možnosti dostat se bezchybně ke všem OS. Pak jsem ale přidal druhý disk, kam jsem nainstaloval starší XP. Přesně podle návodu na zdejší wiki jsem obnovil GRUB2, do souboru device.map přidal druhý disk... ale ejhle. V nabídce je nyní Ubuntu a "Windows 7 (loader)", který ale spustí bootování XP. Tzn. k Win7 se nelze žádným způsobem dostat. Nevíte někdo co s tím?

Nehodlám tady dlouze nadávat na GRUB2, podobně jak ve článcích, které člověku vyplivne Google na prvních místech při hledání klíčového slova "GBUB2". Chápu, že nějaký vývoj musí být. Ale něco na těch nářcích, co se válí všude po internetu bude. Chvíli jsem hledal a srozumitelných návodů na řešení problémů, natožpak třeba v češtině, opravdu moc není...

Rixx

  • Stálý člen
  • **
  • Příspěvků: 1163
Re: GRUB2 nenajde Windows
« Odpověď #1 kdy: 28 Prosince 2009, 14:27:49 »
Pekný úvod do Grub2 je aj tu na fóre. Poprípade nám sem skopírujte obsah /boot/grub/grub.conf.

Eda

  • Návštěvník
  • Příspěvků: 40
Re: GRUB2 nenajde Windows
« Odpověď #2 kdy: 28 Prosince 2009, 15:22:59 »
Přikládám obsah souboru /boot/grub/grub.cfg.
Kód: [Vybrat]
#
# 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 /boot/grub/grubenv ]; then
  have_grubenv=true
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  saved_entry=${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry=
  save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 443bc934-ec4a-4dd5-8736-9dbebb2d2558
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=1680x1050
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-16-generic-pae" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 443bc934-ec4a-4dd5-8736-9dbebb2d2558
linux /boot/vmlinuz-2.6.31-16-generic-pae root=UUID=443bc934-ec4a-4dd5-8736-9dbebb2d2558 ro   quiet splash
initrd /boot/initrd.img-2.6.31-16-generic-pae
}
menuentry "Ubuntu, Linux 2.6.31-16-generic-pae (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 443bc934-ec4a-4dd5-8736-9dbebb2d2558
linux /boot/vmlinuz-2.6.31-16-generic-pae root=UUID=443bc934-ec4a-4dd5-8736-9dbebb2d2558 ro single
initrd /boot/initrd.img-2.6.31-16-generic-pae
}
menuentry "Ubuntu, Linux 2.6.31-15-generic-pae" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 443bc934-ec4a-4dd5-8736-9dbebb2d2558
linux /boot/vmlinuz-2.6.31-15-generic-pae root=UUID=443bc934-ec4a-4dd5-8736-9dbebb2d2558 ro   quiet splash
initrd /boot/initrd.img-2.6.31-15-generic-pae
}
menuentry "Ubuntu, Linux 2.6.31-15-generic-pae (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 443bc934-ec4a-4dd5-8736-9dbebb2d2558
linux /boot/vmlinuz-2.6.31-15-generic-pae root=UUID=443bc934-ec4a-4dd5-8736-9dbebb2d2558 ro single
initrd /boot/initrd.img-2.6.31-15-generic-pae
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### 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 c6c8d63ec8d62d05
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### 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 ###

Rixx

  • Stálý člen
  • **
  • Příspěvků: 1163
Re: GRUB2 nenajde Windows
« Odpověď #3 kdy: 28 Prosince 2009, 15:28:02 »
No tak vy tam to z toho druhého disku (XP!) ani nemáte. Preto sa nezobrazuje. Avšak nechápem prečo nebootuje ten Win7.
Hodťe sem ešte výpis
Kód: [Vybrat]
fdisk -l.

Evžen Šubrt

  • Závislák
  • ***
  • Příspěvků: 2218
    • EuGenio's Lair
Re: GRUB2 nenajde Windows
« Odpověď #4 kdy: 28 Prosince 2009, 15:57:10 »
No, jestli jsi instaloval na ten druhý disk WIN-XP a měl současně připojený i ten disk s WIN7 a Ubuntu, tak ti instalátor WINXP přepsal zavaděč od WIN7. GRUB tedy správně našel zavaděč od XPček, nic víc ani najít nemohl. Jediný způsob nápravy, který mě napadá, je použít instalačku od WIN7, obnovit jejich zavaděč - buď ho šoupnout samostatně na druhý disk, nebo ho upravit tak, aby umožňoval výběr WINů (XP nebo 7) a nahradit s ním ten XPčkový.

Každopádně výpis fdisku (viz výše) se bude hodit.

P.S: Jinak GRUB2 pojmenovává windowsí položky tak nějak od oka (skoro by se dalo říct náhodně). Např. u mě položka Windows Vista (na počítači nejsou a nikdy nebyly) startovala WIN7 a položka Windows7 startuje XPčka.

EDIT: Nějčistší varianta (dle mého názoru) by byla: 1) odpojit disk s WINXP, 2) obnovit zavaděč WIN7, 3) obnovit GRUB, 4) odpojit disk s Ubuntu a WIN7, 5) připojit disk s XP, 6) obniovit zavaděč XP, 7) připojit oba disky a updatovat grub.
« Poslední změna: 28 Prosince 2009, 16:00:26 od EuGenio »
Athlon X2 6000+, MB ASUS M2R32-MVP, 6GB RAM, ATI Radeon HD7850 1GB, 1GB SSHD + 250GB HDD, Ubuntu 13.10 Saucy Salamander 64bit

mka

  • Závislák
  • ***
  • Příspěvků: 1907
  • Chybovat je moje.
    • Příložany Cé Zet
Re: GRUB2 nenajde Windows
« Odpověď #5 kdy: 28 Prosince 2009, 17:47:45 »
No, jestli jsi instaloval na ten druhý disk WIN-XP a měl současně připojený i ten disk s WIN7 a Ubuntu, tak ti instalátor WINXP přepsal zavaděč od WIN7...

Tak, tak.
Obávám se, že při instalaci dvojich widlí vedle sebe (bez linuxu) by to dopadlo obdobně (ale ruku do ohně za to nedám, widle nepoužívám). Takže bych doporučil ještě upravit v tom smyslu titulek, aby z něj bylo zřejmé, o co de. Třeba si to pak otevře někdo, kdo s tím má větší zkušenosti.
Ještě mě napadá jedna věc - pokus spistíš Live CD Ubuntu, najde to oboje widle nebo taky jenom jedny?

Eda

  • Návštěvník
  • Příspěvků: 40
Re: GRUB2 nenajde Windows
« Odpověď #6 kdy: 28 Prosince 2009, 18:31:08 »
Jj, bylo to přesně tak, jak píšete. Měl jsem připojené oba disky, když jsem instaloval ty XP. Asi budu muset zkusit ten EuGeniův způsob nápravy.

Pro ilustraci přikládám ještě ten fdisk. 120 GB disk je ten později připojený, starší s XP. Ten 640 GB tam byl už předtím (s těmi Win 7 a Ubuntu).
Kód: [Vybrat]
Disk /dev/sdb: 120,0 GB, 120 034 123 776 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 14 593
Jednotky = cylindry po 16065 * 512 = 8 225 280 bajtech
Identifikátor disku: 0xecbcecbc

Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sdb1            1276        7777    52227315    f  W95 Rozš. (LBA)
/dev/sdb2            7778       14592    54741487+   7  HPFS/NTFS
/dev/sdb5            1404        7777    51199123+   7  HPFS/NTFS

Disk /dev/sda: 640,1 GB, 640 135 028 736 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 77 825
Jednotky = cylindry po 16065 * 512 = 8 225 280 bajtech
Identifikátor disku: 0x72f1d9be

Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sda1   *           1          25      200781    7  HPFS/NTFS
/dev/sda2              26        6399    51199155    7  HPFS/NTFS
/dev/sda3            6400       32014   205752487+   b  W95 FAT32
/dev/sda4           32015       77825   367976857+   5  Rozšířený
/dev/sda5           32015       76346   356096758+  83  Linux
/dev/sda6           76347       77825    11880036   82  Linux swap/Solaris

RNA

  • Stálý člen
  • **
  • Příspěvků: 630
Re: GRUB2 nenajde Windows
« Odpověď #7 kdy: 28 Prosince 2009, 19:17:32 »
Jen bych podotkl, že troje Wokna vedle sebe nejsou problém, (mám 98 + 2x XP a vedle toho ještě FreeBSD) další wokenní instalace si to doplňují do boot.ini. Jenomže Wokna vcelku předvídatelně nepátrají po disku, jestli tam není nějaký GRUB, tudíž jen slepě přepíší zavaděč.

Evžen Šubrt

  • Závislák
  • ***
  • Příspěvků: 2218
    • EuGenio's Lair
Re: GRUB2 nenajde Windows
« Odpověď #8 kdy: 28 Prosince 2009, 19:22:37 »
Ještě bych podotknul k těm oknům - pokud jsou na disku XPčka a instalují se Sedmičky, tak se do bootloaderu sedmiček (vlastně je to Vista bootloader) automaticky přidá volba mezi WIN7 a WINXP. XPčka prostě ignorují vše, cokoli přemažou svým zavaděčem.
Athlon X2 6000+, MB ASUS M2R32-MVP, 6GB RAM, ATI Radeon HD7850 1GB, 1GB SSHD + 250GB HDD, Ubuntu 13.10 Saucy Salamander 64bit

 

Provoz zaštiťuje spolek OpenAlt.