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

nach SuSE Installation startet Windows nicht mehr (HAL.DLL)

dummerweise habe ich nem Kumpel, der nach Linux gefragt hat, den Tip gegeben er soll sich einfach mal auf seinem Win XP Notebook das SuSE 10.3 installieren, würde alles automatisch gehen, DVD rein, Partition verkleinern, Linux installieren, Bootmanager wird automatsich installiert (hatte ich alles in der Vergangenheit ohne nennenswerte Probleme ausprobiert).
Fakt ist, er hat 10.3 installiert, bekommt nun auch ein Bootloadermenü, kann 10.3 starten, nur beim Starten von Windows XP erscheint eine Meldung
Windows kann nicht gestartet werden windows root /system32/HAL.DLL fehlerhaft oder nicht vorhanden

nun haben wir eben per Telefon von Windows XP CD gestartet, Systemwiederherstellungsmodus und per Commandline die Datei HAL.DLL von CD auf c kopiert.
Kein Erfolg, dann bootcfg /rebuild ausgeführt, das verweist auf chkdsk
chkdsk ausgeführt -> mindestens ein Laufwerk ist fehlerhaft und hat ein nicht behebbares Problem

dann in der Wiederherstellungskonsole
fixboot c:
eingegeben in der Hoffnung der Windowsbootloader wird wiederhergestellt (ok grub hätten wir dadurch verloren) wird zwar ausgeführt, grub startet aber automatisch nach dem nächsten reboot.

im grub wird windows wiefolgt gebootet:

rootnoverify (hd0,3)
chainloader (hd0,1)+1

ich habe selbst vor einigen Jahren mal suse 9.3 auf ne Windows XP Partition installiert mit automatsicher Verkleinerung .... ohne Probleme damals.

Was ist denn hier grundsätzlich schiefgegangen?
Hätte ich mal nur meinen Mund gehalten :???:
 
OP
F

fritzbee21

Hacker
ich erinner mich düster, auch das hab ich schonmal probiert.
Der Bootloader ist dann def weg (kann ich mit yast neu schreiben), nur bringt mich das mit dem Windows Fehler weiter, bzw. bootet dann überhaupt noch was ?


NACHTRAG:

GRUB erscheint mit fixmbr immer noch was mich aber stark wunderrt .....
 

admine

Ultimate Guru
fritzbee21 schrieb:
GRUB erscheint mit fixmbr immer noch was mich aber stark wunderrt .....
Weil Grub nicht automatisch in den MBR der Platte, sondern in die /-Partition installiert wird.

Und bekommst du denn immer noch den Fehler mit der HAL.DLL, wenn Windows gebootet werden soll?
(Das wäre dann eher etwas für ein Windows-Forum, weil dann die Arbeit von Grub erledigt ist)

Andererseits sieht der Grub-Eintrag für das Windows auch nicht unbedingt berauschend aus.
Leider ist es schon seit einigen SUSE-Versionen so, dass es die SUSE-Installation nicht wirklich vernünftig hinbekommt einen bootfähigen Windows-Eintrag zu erzeugen ;)

Aber poste doch bitte mal:
Code:
fdisk -l
cat /etc/fstab
cat /boot/grub/device.map
cat /boot/grub/menu.lst
 
OP
F

fritzbee21

Hacker
so ich hab mich grad mal auf die Kiste eingeloggt und mir mal fdisk -l und co angeschaut.
komischerweise sehe ich mit
cat boot.ini
auf /windows/C den Inhalt der boot.ini nicht sondern bekomme nen Ein-/Ausgabefehler -> Datei defekt?

Leider bin ich schon wieder raus und kann deswegen die Details nicht posten, fdisk -l sah aber soweit ok aus, wobei mich
wundert das die C (dev/sda2) Partition kein NTFS Format hatte sondern ein FAT32 und ich trotzdem aber auf die Partition (sda2) nicht schreiben konnte (sonst hätte ich mal die boot.ini fix mal ausgetauscht)

Partition D (dev/sda5) war NTFS und die konnte ich mit ntfs-3g nach /mnt mounten .... nur das war definitv nicht die Systemplatte.

ich hab mir jetzt folgendes überlegt:

die C Partition ist /dev/sda2 auf die kann ich mit der Windows Wiederherstellungskonsole schreiben.
die boot.ini sollte dann so aussehen:

Code:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn

wobei Windows nicht bei 0 anfängt zu zählen sondern bei 1 (sda2 -> 2)

diese Datei brenne ich mir auf CD, boote mit der org. Windows CD, starte die Wiederherstellungskonsole und kopier das Ding manuell rüber.

Wenn die defekte boot.ini der Fehler war, sollte das gelöst sein, oder?

HAL.DLL Fehler bekomme ich immer noch, obwohl wir auch schon im yast den original Bootloader wiederhergestellt haben.

grub liegt wohl auf / und nicht im MBR (wobei das früher ja anders war .....)
 

Taesi

Member
fritzbee21 schrieb:
so ich hab mich grad mal auf die Kiste eingeloggt und mir mal fdisk -l und co angeschaut.
...
Dürfen wir sie auch sehen? ;)

Da wird wohl was in der Reihenfolge der Partitionen durcheinander geraten sein? (Oder falsches Aktiv-Flag oder so.)
 
OP
F

fritzbee21

Hacker
na klar, nur steht der Rechner ca 300 km von mir weg und ich hatte mich schon wieder ausgeloggt und den PC runtergefahren. Schaue heute abend nochmal und poste dann die fdisk -l usw. ;)
 
OP
F

fritzbee21

Hacker
sodala hier die Infos

fdisk -l

Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x69f807c0

Device Boot Start End Blocks Id System
/dev/sda1 1 243 1951866 1b Hidden W95 FAT32
/dev/sda2 244 5588 42933712 c W95 FAT32 (LBA)
/dev/sda3 7403 12161 38226667+ f W95 Ext'd (LBA)
/dev/sda4 * 5589 7402 14570955 83 Linux
/dev/sda5 7403 9960 20539102 7 HPFS/NTFS
/dev/sda6 9960 10221 2104483+ 82 Linux swap / Solaris
/dev/sda7 10222 12161 15583018+ 83 Linux

Partition table entries are not in disk order

cat /etc/fstab
/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part4 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part7 /home ext3 acl,user_xattr 1 2
/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part2 /windows/C vfat users,gid=users,umask=0002,utf8=true 0 0
/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part5 /windows/D ntfs-3g users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part6 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0


cat /boot/grub/device.map
(hd0) /dev/sda


cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Mo Jul 14 16:20:29 UTC 2008
default 0
timeout 8
gfxmenu (hd0,3)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.3
root (hd0,3)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part4 vga=0x31A devfs=mount,dall resume=/dev/sda6 splash=silent showopts
initrd /boot/initrd-2.6.22.5-31-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
rootnoverify (hd0,3)
chainloader (hd0,1)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.3
root (hd0,3)
kernel /boot/vmlinuz-2.6.22.5-31-default root=/dev/disk/by-id/scsi-SATA_HTS541010G9SA00_MP2ZM4X0JYGN7R-part4 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /boot/initrd-2.6.22.5-31-default


hd(0,3) = /dev/sda4 = Linux Partition ..... das ist korrekt
Was mich ausserdem wundert ist der Windows Eintrag
title Windows
rootnoverify (hd0,3)
chainloader (hd0,1)+1

Die Windows C Partition ist ja auf /dev/sda2 was ja in der Linux Welt hd(0,1) bedeutet .... müsste dann im Windows Booteintrag nicht
rootnoverify (hd0,1)
stehen
 

admine

Ultimate Guru
Der Windows-Eintrag muss so aussehen:
Code:
title Windows
    rootnoverify (hd0,1)
    chainloader (hd0,1)+1
 
OP
F

fritzbee21

Hacker
genau das habe ich auch gerade gesehen, lasse ich grad mal ändern *live am telefon*
im bootloader mit "esc" in den textmodus gewechselt und dann mit "e" den Eintrag geändert, dann mit "b" gebootet .... birngt leider genau den gleichen Fehler (HAL.DLL)
Wobei der Eintrag aber defintiv falsch ist.

Was ist denn mit der nicht lesbaren boot.ini (Ein-/Ausgabefehler?)
ich würde jetzt mal oben beschriebenen Weg gehen und die boot.ini austauschen wollen, natürlich die "alte" boot.ini sichern (kopieren nach boot_old.ini)


NACHTRAG:
also den Grub Windows Eintrag haben wir abgeändert auf hd(0,1)
dann die boot.ini ersetzt (die alte ließ sich leider nicht sichern), die neue ist mit
Code:
cat boot.ini
lesbar

Wird jetzt der Windows Eintrag ausgewählt, erscheint für einige Sekunden der Windows Startbildschirm, dann startet das Notebook aber neu *wunder*

wenn ich jetzt den "alten" Windows Eintrag auswähle

Code:
title Windows
rootnoverify (hd0,3)
chainloader (hd0,1)+1

passiert genau das gleiche (Absturz nach Windows Startbildschirm)
wie mit
Code:
title Windows
rootnoverify (hd0,1)
chainloader (hd0,1)+1
 

Taesi

Member
Liegen auf dieser "sda2" die Windows-Bootfiles (NTLDR, BOOT.INI usw.) ?
Hat sie jetzt das Aktiv-Flag ("makeactive" in GRUB) ?
 
OP
F

fritzbee21

Hacker
also

im grub hab ich bei der "boot loader location" -> "boot from root partition" aktiv
dann "boot loader options" -> "Set active Flag in Partition Table for Boot Partition"

Liegen auf dieser "sda2" die Windows-Bootfiles (NTLDR, BOOT.INI usw.) ?

ja, ich habe das verzeichnis /windows/C ungemounted und dann die /dev/sda2 nach /mnt neu gemounted.
Auf /mnt sehe ich jetzt die ntldr, boot.ini
schreiben kann ich auf /mnt nicht

Code:
 cannot remove `hal.dl_': Read-only file system

ist denn die boot.ini korrekt:

Code:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn


Hat sie jetzt das Aktiv-Flag ("makeactive" in GRUB) ?
wo stelle ich das denn ein, im yast -> bootloader kann ich keine Einstellung finden
 
Oben