• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] GRUB2: WIXP bootet n.Install.von OpenSUSE12.2 nicht

johesud

Member
Hallo

Ich habe auf meinem alten Medion MD8000 Rechner die Festplatte geputzt und Windows XP Installiert und die Kiste zum Laufen gebracht.

Dann hab ich OpenSUSE 12.2 mit GRUB2 installiert.

Ich kann 12.2 wunderbar starten, aber WIXP kommt nicht mehr. Ich ernte nach der Auswahl von WIXP im Bootmenue nur einen schwarzen Bildschirm mit blinkendem Curser in der linken oberen Ecke.
Der Rechner tut nix mehr, reagiert auf Strg-Alt-Entf mit einem Neustart.

Wie kann ich rausfinden was da schief läuft ?


LG johesud
 

SUSEDJAlex

Advanced Hacker
wenn du das gemacht hast und die Windows-Partition ist da, dann geht es hiermit weiter:

Der beste bzw. einfachste Weg ist, den Grub-Bootloader mit Hilfe von Super Grub Disk zu lösen.

den Link ist hier: http://www.supergrubdisk.org/

LG SUSEDJAlex
 
OP
J

johesud

Member
Vielen Dank für die Tipps.

Erstmal die Ausgabe :

Code:
linux-2iv6:~ # fdisk -l

Disk /dev/sda: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders, total 78165360 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbba5bba5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    32917246    16458592    7  HPFS/NTFS/exFAT
/dev/sda2   *    32917504    78163967    22623232    f  W95 Ext'd (LBA)
/dev/sda5        32919552    36001791     1541120   82  Linux swap / Solaris
/dev/sda6        36003840    53399551     8697856   83  Linux
/dev/sda7        53401600    78139391    12368896   83  Linux
linux-2iv6:~ #

Die CD hab ich mir gerade runtergeladen.

TNX, bis später johesud
 
OP
J

johesud

Member
Grub2 scheint laut der CD richtig installiert zu sein.

Aber Windows läßt sich auch mit der RescueCD nicht booten.


LG johesud
 

josef-wien

Ultimate Guru
johesud schrieb:
Grub2 scheint laut der CD richtig installiert zu sein.
Das war von Haus aus klar, sonst hättest Du kein Boot-Menü erhalten. Die Konfiguration des Windows-Aufrufs in den Dateien, in denen das Boot-Menü definiert ist, ist falsch, aber bei GRUB2 muß Dir jemand anders helfen, eventuell nützt Dir http://wiki.ubuntuusers.de/grub_2.
 
OP
J

johesud

Member
@ josef-wien :

Hab den Artikel mal gelesen. Sehr informativ.

@ all

Ich glaube das mein GRUB2 alles richtig macht, aber ich denke daß Windows hin ist !

Wie kann ich das verifizieren. Bevor ich das WIXP neu aufsetze möchte ich sicher sein, daß ich mir die Arbeit nicht umsonst gemacht habe gefühlte 1000 Treiber einzuspielen, bis es funzt.

LG johesud
 
Von der Win-CD booten und mit fixboot und fixmbr arbeiten. Dies wird dir allerdings dein grub zerstören. In unserem Wiki sollte eine Anleitung zu finden sein wie man das macht. Einzige Änderung wäre bei dir halt gedanklich grub durch grub2 zu ersetzen.
 
OP
J

johesud

Member
@ Geier0815

Das wird wohl als einzig gangbarer Weg übrigbleiben.


@ all

Mir ist aufgefallen, daß meine Windows-Partition sad1 früher mit Zylinder 1 begann, jetzt aber mit Zylinder 63 !
Kann das die Ursache sein ?
 

bmk

Member
also ich würde erst mal nachsehen, welche Dateien auf der Partition /dev/sda1 noch vorhanden sind.

Wenn openSUSE läuft, geht das mit den Bordmitteln.

Dazu dann als root YasT starten und den Partitionierer (Bereich System) aufrufen.

Die Partition /dev/sda1 bearbeiten und unter /windows einhängen (/windows sollte vorhanden und leer sein, ansonsten muss es erstellt werden).

dann mal nachsehen, was unter /windows so erscheint.

Über den YaSt kann auch ein Bootloader für Windows erstellt werden.

Unter "Abschnittsverwaltung" --> hinzufügen --> anderes System (dev/sda1)
Bei mir sind in den Kästchen alle 3 Haken gesetzt und der Block-Offset steht auf 1.

Alles weitere mit Ok bestätigen und wenn keine Fehlermeldung kommt

reboot und hoffen

mfG. bmk
 
OP
J

johesud

Member
@ bmk

So geht man richtig vor. ;-)

@ all

Mit fixboot und fixmbr sowie den Reparaturtools von Windows hab ich nichts bewirkt : geht gar nix mehr.
Auch kein GRUB2 (kein Wunder). Also mit RescaTux-CD Opensuse gebootet und mit Yast GRUB2 restauriert.

Ergebnis : Windows bootet nicht und GRUB2/Linux geht.

Nach Einhängen der Windows-Partition sda1 kann ich alle meine Daten sehen.


LG johesud
 
OP
J

johesud

Member
@ josef-wien

Voila :

Code:
linux-2iv6:~ #     cat /boot/grub2/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-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="${saved_entry}"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

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
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else                                                                          
    insmod efi_gop                                                              
    insmod efi_uga                                                              
    insmod ieee1275_fb                                                          
    insmod vbe                                                                  
    insmod vga                                                                  
    insmod video_bochs                                                          
    insmod video_cirrus                                                         
  fi                                                                            
}                                                                               
                                                                                
terminal_input console                                                          
terminal_output console                                                         
if [ x${boot_once} = xtrue ]; then                                              
  set timeout=0                                                                 
elif sleep --interruptible 0 ; then                                             
  set timeout=8                                                                 
fi                                                                              
### END /etc/grub.d/00_header ###                                               
                                                                                
### BEGIN /etc/grub.d/10_linux ###                                              
menuentry 'openSUSE' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c' {    
        load_video                                                              
        set gfxpayload=keep                                                     
        insmod gzio                                                             
        insmod part_msdos                                                       
        insmod ext2                                                             
        set root='hd0,msdos6'                                                   
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 --hint='hd0,msdos6'  6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c
        else
          search --no-floppy --fs-uuid --set=root 6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c
        fi
        echo    'Loading Linux 3.4.11-2.16-default ...'
        linux   /boot/vmlinuz-3.4.11-2.16-default root=UUID=6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c   video=1920x1080 resume=/dev/disk/by-id/ata-WDC_WD400BB-00DEA0_WD-WCAD13449145-part5 splash=silent quiet showopts vga=0x324
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd-3.4.11-2.16-default
}
submenu 'Advanced options for openSUSE' $menuentry_id_option 'gnulinux-advanced-6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c' {
        menuentry 'openSUSE, with Linux 3.4.11-2.16-default' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.4.11-2.16-default-advanced-6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos6'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 --hint='hd0,msdos6'  6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c
                else
                  search --no-floppy --fs-uuid --set=root 6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c
                fi
                echo    'Loading Linux 3.4.11-2.16-default ...'
                linux   /boot/vmlinuz-3.4.11-2.16-default root=UUID=6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c   video=1920x1080 resume=/dev/disk/by-id/ata-WDC_WD400BB-00DEA0_WD-WCAD13449145-part5 splash=silent quiet showopts vga=0x324
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd-3.4.11-2.16-default
        }
        menuentry 'openSUSE, with Linux 3.4.11-2.16-default (recovery mode)' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.4.11-2.16-default-recovery-6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos6'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 --hint='hd0,msdos6'  6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c
                else
                  search --no-floppy --fs-uuid --set=root 6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c
                fi
                echo    'Loading Linux 3.4.11-2.16-default ...'
                linux   /boot/vmlinuz-3.4.11-2.16-default root=UUID=6e1f04a4-3b62-4bfd-a567-ec9d47fe0d1c  showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd-3.4.11-2.16-default
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Microsoft Windows XP Home Edition (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-801C789B1C788E42' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  801C789B1C788E42
        else
          search --no-floppy --fs-uuid --set=root 801C789B1C788E42
        fi
        drivemap -s (hd0) ${root}
        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 ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###
linux-2iv6:~ #


Ich find da keinen Fehler drin, aber das heißt nicht so viel . ;-)

LG johesud
 

halo44

Hacker
johesud schrieb:
... Mir ist aufgefallen, daß meine Windows-Partition sad1 früher mit Zylinder 1 begann, jetzt aber mit Zylinder 63 !
Kann das die Ursache sein ?

So wie Du den fdisk -l ausgeführt hast wird Dir gezeigt, daß Dein Windows bei Sektor 63 beginnt (nicht Zylinder 63).

Für die Verwendung von GRUB2 darf die erste Partition erst bei Sektor 2048 beginnen. Vermutlich hat GRUB2 bei der Einrichtung Dein Windows "beschnitten".

Vermutlich mußt Du mit einem Werkzeug wie Gparted vor der Installation der Betriebssysteme die Partitionen so einrichten, daß GRUB2 den Platz hat, den es braucht.

Gruss H.
 
OP
J

johesud

Member
@ halo44

Ich denke auch so.

Ich hab mich halt auf die automatische Installation verlassen. Das war wohl ein Fehler . ;-)

Aber acht Jahre Updates und Installationen ohne große Probleme haben mich halt leichtsinnig gemacht .

Ich gehe nach ca. 10 Reparaturversuchen davon aus, daß Windows unrettbar defekt ist, und werde es morgen neu aufsetzen, und dann halt GRUB2 mit den vg. Tools restaurieren .
Natürlich mit einer gänderten Partitionierung !

Vom Fortgang werde ich berichten.

Vielen Dank nochmal für Eure tatkräftige Hilfe.


LG johesud
 

halo44

Hacker
Wenn Du die erste Partition mit Gparted anlegst, so musst Du einen Freiraum von 1 MB vor der Partition wählen. Dies ist eine Option bei Gparted. Dann startet die Partition beim Sektor 2048. Dies stimmt zumindest bei meinen Festplattengeometrien so.

Gruss H.
 

Jägerschlürfer

Moderator
Teammitglied
Soweit ich weiss sollten Partitionen bei SSD Platten bei Sektor 2048 beginnen. Bei normalen Platten habe ich so eine Beschränkung noch nie gehört,...
 

halo44

Hacker
josef-wien schrieb:
halo44 schrieb:
Für die Verwendung von GRUB2 darf die erste Partition erst bei Sektor 2048 beginnen. Vermutlich hat GRUB2 bei der Einrichtung Dein Windows "beschnitten".
Wie kommst Du auf diesen abstrusen Gedanken?

Weil ich ein ähnliches Problem hatte und daraufhin Google befragte. Das Netz quillt über vor Hinweisen darauf, daß Grub2 ein Minimum von 1 MB zwischen MBR und erster Partition benötigt.

Ältere Rechner mit i.d.R. vorinstalliertem Windows XP legten den Beginn der ersten Partition auf Sektor 63. Ab Windows Vista wurde der Start auf Sektor 2048 verlagert. Diese Rechner machen keine Probleme, die älteren schon.

Mein Problem wurde damit gelöst. Real und nicht abstrus :D

Dem Threadstarter sollte es einen Versuch (nach 10 Fehlversuchen) wert sein.

Gruss H.
 
Oben