-   SUSE / openSUSE (
-   -   dual boot - Grub won't boot Windows on /windows/D partition (

biosol 04-08-2006 02:20 PM

dual boot - Grub won't boot Windows on /windows/D partition
I installed SuSE 10.0 on a system running Windows 2003 Server. The SuSE install shrunk the Windows data partition and installed on the same drive. The problem is that, as Windows does sometimes where you delete the system partition and reinstall it swapped the partitions so the Windows system is actually in /windows/D (hda5) not /windows/C (hda2). If I go into YaST -> System -> Boot Loader -> Other and try the 'Purpose New Configuration' it selects /dev/hda2 which doesn't boot. I have reset it to /dev/hda5 but I get the ntoskernel.exe file missing error.

How can I change my GRUB entry to correct point to the right partition? My boot.ini and other boot files are on /hda2 but the system is on /hda5. All the files are still there. It currently looks like this when the boot loader in YaST is set to boot from /dev/hda5-

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 10.0
root (hd0,3)
kernel /boot/vmlinuz root=/dev/hda4 vga=0x31a selinux=0 resume=/dev/hda3 splash=silent showopts
initrd /boot/initrd

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

Can anyone help me get this to boot? Thanks.

bigrigdriver 04-08-2006 04:34 PM

Since boot.ini and other boot files are on /dev/hda2, change the chainloader line to: chainloader (hd0,1) +1.

biosol 04-08-2006 04:55 PM

Thanks. I tried that it reads chainloader (hd0,1)+1 but I get this error, Windows could not start because the following file is missing or corrupt <windows root>\system32\ntoskrnl.exe. Please reinstall the file.

I think the problem is that this file/location \system32\ntoskrnl.exe is on the hda5 partition instead of the hda2 partition. Is there a way I can point/link this?


Jongi 04-08-2006 05:08 PM

If Windows comes up with that message I would be inclined to think that it is looking at the correct drive. Otherwise I would think you would get a meassage like NTLDR missing.

biosol 04-08-2006 05:11 PM

Ok, thanks. Is there anything I can do to save this or should I just start the reinstall process and redo everything?

Jongi 04-08-2006 05:23 PM

Don't take my word as being gospel. It just seems to me that it is trying to boot off the correct drive and encountering an error with one of the windows files.

If I were in your position I might have repaired the Windows installation, knowing this would destroy the GRUB entry. I'd then boot into Windows to see if that works. Then I would boot off the SUSE install CD and re-install GRUB from there. Taking care to make the modifications above. This is on the assumption that XP Pro and Sever 2003 would work the same.

But again I would not take this as gospel.

biosol 04-08-2006 05:32 PM

Thanks. That sounds like a good way to go. <<edit>> I think the problem might be in the boot.ini file, it lists the windows partition(2), but after the SuSE install I think it's now on partition(5). I've tried to edit the boot.ini file with Kwrite but it won't save changes. Do you/anyone know how to edit the boot.ini file from linux?


biosol 04-08-2006 07:51 PM

Wow, Got it!!

Since I couldn't figure out how to edit the boot.ini file with the other methods, I pulled the drive out and put it in one of my other Windows machines. I changed the entry from the original partition(2) first to partition(5). That still didn't work, so I tried partition(4) and boom it booted!

Thanks to everyone who offered suggestions. Now if I can figure out how to add my empty 120gb drive to SuSE I may be in business.

bigrigdriver 04-08-2006 09:15 PM

Depends on what you want to do with that 120 gig.

Let's say you now have Suse on one partition. You could partition and format the 120G for /home, /usr, and, just for kicks, a /data partition.

Make appropriate edits to /etc/fstab to show the device (partition), and what's to be located there. ie, /dev/hdb1 /home, /dev/hdb2 /usr, /dev/hdb3 /data.

If the /data directory doesn't exist in your file structure, create it (as root): cd /; mkdir /data.

Then move the contents of /home from its present location to /dev/hdb1; move /usr to /dev/hdb2, etc.

After doing that, repartition the first hard drive to make a small partition for /boot, leaving the rest to / (root of the filesystem).

That way, if anything goes awry due to improper shutdown (such as power outage) which could corrupt some part of the filesystem needed for boot to GUI, the /boot partition is intact with a bootable image which can get you to command-line mode to fix things.

Just my 2 cents, for what they're worth.

biosol 04-09-2006 08:14 PM

Wow bigrigdriver, I've read your email 3 times and am still not sure I understood what you said :study:

Are you saying if I create these partitions and directories I can effectively move my SuSE install from the current drive to the other drive (leaving the boot/GRUB process where it is)? That would be cool, then I could reclaim the 10gb the SuSE install took from the Data partition on the first drive. Also, if I move the SuSE info would I still be able to update to 10.1 without issues when that comes out in a couple weeks?

Problem is I have never partitioned or created directories in Linux so if you could 'walk me through' the how tos of what you said that would be great. If not I need to find a beginners guide for doing these kind of tasks especially if they're done by command line. Also, do you/anybody recommend a book like SuSE Unleashed or The SuSE 10 Bible, etc.??


All times are GMT -5. The time now is 06:12 PM.