Strona 1 z 1

[+] Problem z GRUB'em Debian 7.7 + windows 7

: 24 grudnia 2014, 00:21
autor: gustaff88
Witam!

Mam nastepujacy problem z GRUB'em. Po instalacji Debiana w menu grub sa tylko dwa wpisy: Debian i Debian w trybie rescue.
Przed Debianem byly zainstalowane windowsy: 7 na tym samym dysku co Debian i 8.1 na drugim dysku (tymczasowo-do usuniecia).W
Windows 8.1 moge uruchomic poprzez bootmenu z biosa i nawet nie potrzebuje go w grub bo i tak wyleci.

Problem jest z Windowsem7 : os-prober nie daje zadnego wyniku, update-grub nie pomaga.
wersja gruba: GNU GRUB version 1.99-27+deb7u2
fdisk w skrocie:

Kod: Zaznacz cały

gutek@debian:~$ fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      194559       96256    b  W95 FAT32     # partycja rozruchowa efi
/dev/sda2          194560    19726335     9765888   83  Linux       #   / 
/dev/sda3        19726336   113281023    46777344   83  Linux   # /home
/dev/sda4       113281024   246161407    66440192    7  HPFS/NTFS/exFAT # windows 7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048      206847      102400    7  HPFS/NTFS/exFAT  # 100mb zastrzezone przez system
/dev/sdb2          206848   315125759   157459456    7  HPFS/NTFS/exFAT # win 8.1
/dev/sdb3       315125760  1785139199   735006720    7  HPFS/NTFS/exFAT # dane
/dev/sdb4      1785139200  1953521663    84191232    f  W95 Ext'd (LBA) #dane
Jesli recznie dodam wpis do grub.cfg to po wykonaniu update-grub i tak generowany jest nowy plik bez mojego wpisu.

W /etc/grub.d dodalem skrypt 09_Win7 :

Kod: Zaznacz cały

menuentry "Windows 7" {        
    set root=(hd0,3)            
    drivemap -s (hd0) (hd1)     #co tu ma byc wpisane ?
    chainloader +1
}
EOF
Po wykonaniu update-grub nie dostaje komunikatu o dadaniu windowsa.
Co mozna tu zrobic?

: 24 grudnia 2014, 00:24
autor: marcin1982
Podaj wynik skryptu bootinfoscript:
http://sourceforge.net/projects/bootinfoscript/ .

: 24 grudnia 2014, 00:44
autor: gustaff88

Kod: Zaznacz cały


Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Windows is installed in the MBR of /dev/sda.
 => Windows is installed in the MBR of /dev/sdb.

sda1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  -
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sda2: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Mounting failed:   mount: /dev/sda2 already mounted or sda2 busy

sda3: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        

sda4: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sdb1: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /bootmgr /BOOTMGR /boot/bcd /BOOT/bcd /Boot/bcd 
                       /boot/BCD /BOOT/BCD /Boot/BCD

sdb2: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /Windows/System32/winload.exe

sdb3: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sdb4: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  -
    Boot sector info: 

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 126.0 GB, 126035288064 bytes
255 heads, 63 sectors/track, 15322 cylinders, total 246162672 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1    *          2,048       194,559       192,512   b W95 FAT32
/dev/sda2             194,560    19,726,335    19,531,776  83 Linux
/dev/sda3          19,726,336   113,281,023    93,554,688  83 Linux
/dev/sda4         113,281,024   246,161,407   132,880,384   7 NTFS / exFAT / HPFS


Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1    *          2,048       206,847       204,800   7 NTFS / exFAT / HPFS
/dev/sdb2             206,848   315,125,759   314,918,912   7 NTFS / exFAT / HPFS
/dev/sdb3         315,125,760 1,785,139,199 1,470,013,440   7 NTFS / exFAT / HPFS
/dev/sdb4       1,785,139,200 1,953,521,663   168,382,464   f W95 Extended (LBA)
Empty Partition.


GUID Partition Table detected, but does not seem to be used.

Partition    Start Sector    End Sector  # of Sectors System
/dev/sdb121 2,722,601,258,087,877,862618,198,206,827,513,307-2,104,403,051,260,364,554 -
/dev/sdb122 2,135,213,366,899,266,8193,851,494,598,312,928,6451,716,281,231,413,661,827 -
/dev/sdb123 1,215,025,467,647,330,5961,363,884,706,706,676,883148,859,239,059,346,288 -
/dev/sdb124 1,020,025,539,521,048,6131,539,506,889,849,965,294519,481,350,328,916,682 -

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda1        00CD-AE36                              vfat       
/dev/sda2        1f16f869-e806-475c-b22e-f525ec1d09d0   ext4       
/dev/sda3        55ce1771-65a6-4e74-88a4-93ed62dacbbb   ext4       
/dev/sda4        68D4B7EDD4B7BB9E                       ntfs       Windows 7
/dev/sdb1        B81A884D1A880B18                       ntfs       Zastrzeżone przez system
/dev/sdb2        6076958576955D1A                       ntfs       Windows 8
/dev/sdb3        4E36863836862157                       ntfs       Media

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/disk/by-uuid/1f16f869-e806-475c-b22e-f525ec1d09d0 /                        ext4       (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
/dev/sda1        /boot/efi                vfat       (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro)
/dev/sda3        /home                    ext4       (rw,relatime,user_xattr,barrier=1,data=ordered)


======================== Unknown MBRs/Boot Sectors/etc: ========================

Unknown GPT Partiton Type
d441a0f5030003005fd3d8dc5c2e22da
Unknown GPT Partiton Type
8118bf4eb3b47b22c75f4c135569d4eb
Unknown GPT Partiton Type
34e5c707dc1070e2bc8e5ac39297150d
Unknown GPT Partiton Type
46965dbaf22fedbda40de05790d2570b

========= Devices which don't seem to have a corresponding hard drive: =========

sdc sdd sde sdf 



: 24 grudnia 2014, 09:10
autor: marcin1982
Użyj takiego wpisu dla Windows 7:

Kod: Zaznacz cały


menuentry “Windows 7″ { set root=(hd0,3) chainloader +1 }
Czy skrypt /etc/grub.d/09_Win7 ma prawa do uruchamiania?

Kod: Zaznacz cały

su -c 'chmod a+x /etc/grub.d/09_Win7
Co wyświetla polecenie? (nie wiem czy nie trzeba zainstalować):

Kod: Zaznacz cały

efibootmgr

: 24 grudnia 2014, 10:45
autor: gustaff88
Nie bylo ustawionych praw :) Teraz update-grub odczytuje skrypt, ale wywala blad:

Kod: Zaznacz cały

root@debian:/etc/grub.d# update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
/etc/grub.d/09_Win7: 4: /etc/grub.d/09_Win7: menuentry: not found
root@debian:/etc/grub.d# 
Tak wyglada skrypt 09_Win7:

Kod: Zaznacz cały

#! /bin/sh 
set -e
menuentry “Windows 7″ { 
set root=(hd0,3) 
chainloader +1 
}
EOF

efibootmgr pokazuje:

Kod: Zaznacz cały

root@debian:/etc/grub.d# efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0003
Boot0000* debian
Boot0001* Hard Drive 
Boot0002* CD/DVD Drive 
Boot0003* Removable Drive 
 
Boot0000* debian wystepuje w boot menu biosa i gruchamia gruba - na moje tu jest ok.
I jeszcze pytanko, to jest grub czy grub2 ? Wyglada na grub2 ale gdzies pisalai ze w bootmenu powinno byc napisane grub2, a jest samo grub.

: 24 grudnia 2014, 11:07
autor: marcin1982
Rozjechało się ... tak ustaw => tylko to ma być:

Kod: Zaznacz cały

menuentry “Windows 7″ {
set root=(hd0,3)
chainloader +1
}
Podaj wynik polecenia:

Kod: Zaznacz cały

su -c 'os-prober'

: 24 grudnia 2014, 12:24
autor: gustaff88

Kod: Zaznacz cały

su -c 'os-prober'
Nic nie pokazuje.
Zmodyfikowalem skrypt na wyzej podana tresc i przy update-grub pokazuje:

Kod: Zaznacz cały

/etc/grub.d/09_Win7: 1: /etc/grub.d/09_Win7: menuentry: not found
/etc/grub.d/09_Win7: 2: /etc/grub.d/09_Win7: Syntax error: "(" unexpected
Ale zmienilem skrypt 40_custom dopisalem windowsa 7. Taka tresc:

Kod: Zaznacz cały

  GNU nano 2.2.6                                          Plik: 40_custom                                                                                              

#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry "Windows 7" {
set root=(hd0,3)
chainloader +1  
}
 
menuentry "Windows 7" {
set root=(hd0,4)
chainloader +1
}

 
Jak to jest z ta numeracja. W tej wersji gruba ktora mam sda4 to (hd0,4) czy (hd0,3)? Dlategi dwa wpisy :)
Robie update-grub, wszystko ok, dodalo sie do menu grub'a, ale oba Windowsy7 daja blad:

Kod: Zaznacz cały

error: invalid EFI filepath
press any key to continue...
Zawarotsc partycji sda1 (partycja rozruchowa EFI, fdisk pokazuje ja jako W95 FAT32)

Kod: Zaznacz cały

root@debian:/mnt# tree -a
.
├── EFI
│   └── debian
│       └── grubx64.efi
└── $RECYCLE.BIN
    └── desktop.ini

3 directories, 2 files

: 24 grudnia 2014, 12:36
autor: marcin1982
No to teraz trzeba tylko wykombinować jak dodać tak samo, tylko w trybie UEFI. Przejrzyj coś takiego.

: 06 stycznia 2015, 23:17
autor: gustaff88
Zaczalem kombinowac z UEFI i zepsulem GRUB'a.
Wystartowalem z instalacyjnej CD debiana w trybie rescue i zainstalowalem na nowo gruba na /dev/sda (mbr pierwszego dysku twardego?). Wykryl odrazu Windows 7 i Windows 8. Musialem ustawic bootowanie w biosie wlasnie z pierwszego dysku.
Windows 7 nie dziala:

Kod: Zaznacz cały

menadzer rozruchu systemu windows
stan 0xc000000e
Niedzialajacy grub gdzies zostal czy sie nadpisal? Jak zostal to jak go usunac?

Lece na karpia.
Dzieki i Wesolych Swiat!

Dodane:
Miałem pisać, że problem rozwiązany, ale wypadło mi to z głowy z powodu braku czasu.

Ostatecznie zrobiłem tak: płytką instalacyjną windowsa wywaliłem wszelkie (podobno) bootloadery przy pomocy fixboot'ów i fixmbr'ów. Windowsy ruszyły. Zainstalowałem ponownie gruba w mbr dysku ssd pomijając wszelkie uefi i działa jak należy. W biosie/uefi ustawiłem bootowanie na dysk ssd.

Jedyne co, to na liście z urządzeniami do wyboru bootowania (w bios/uefi) zostało mi "urządzenie" pt. debian jako pozostałość po moich kombinacjach z uefi. Płyta główna GA-Z77-DS3H.

PS. Drogi Adminie, proszę o ewentualne zamknięcie tematu, czy rozdzieleniu go na dwa, scalenie moich postów, które napisałem jeden pod drugim w celu podniesienia tematu, a zarazem poinformowania o jego częściowym zakończeniu... lub postąpienie według uznania. Dzięki!