Cannot get to XP on partition

I installed openSuSE 11.0 this morning from the livecd (DVD) I got in LINUX FORMAT magazine (at 1st was just “hey check out Linux” while still in XP, but chose to do a full install to a partition & keep XP on the other (C:) drive.

When I boot up I’m given the option of “openSUSE 11.0” or Windows. If I choose Windows it goes to black screen & gets stuck with the following on the screen:
“rootnoverify (hd0, 5)”
“chainloader (hd0,0)+1”

What’s going on?

It seems like there is a problem in the GRUB boot loader. The file you need to fix is “/boot/grub/menu.list”. Its is very had to say what’s wrong in it without having a look. Also you need to know the hard drive partition table. Post them here and looking at them someone surely will be able to help you.

Here is my menu.list and HD partition table. Thought might be helpful.

# Modified by YaST2. Last modification on Sat Aug 23 19:42:34 EDT 2008
default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.11-0.1
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.25.11-0.1-pae root=/dev/disk/by-id/scsi-SATA_FUJITSU_MHY2250K413T822HP48-part6 resume=/dev/sda5 splash=verbos$
    initrd /boot/initrd-2.6.25.11-0.1-pae

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0 - 2.6.25.11-0.1
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.25.11-0.1-pae root=/dev/disk/by-id/scsi-SATA_FUJITSU_MHY2250K413T822HP48-part6 showopts ide=nodma apm=off acp$
    initrd /boot/initrd-2.6.25.11-0.1-pae

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

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

In my case:

/dev/sda: HD
/dev/sda1: /windows/c
/dev/sda2: /windows/d
/dev/sda3:
/dev/sda5: swap
/dev/sda6: /
/dev/sda7: /home

On 2008-08-23 19:26:01 -0400, life2pointoh
<life2pointoh@no-mx.forums.opensuse.org> said:

>
> I installed openSuSE 11.0 this morning from the livecd (DVD) I got in
> LINUX FORMAT magazine (at 1st was just “hey check out Linux” while still
> in XP, but chose to do a full install to a partition & keep XP on the
> other (C:) drive.
>
> When I boot up I’m given the option of “openSUSE 11.0” or Windows. If I
> choose Windows it goes to black screen & gets stuck with the following
> on the screen:
> “rootnoverify (hd0, 5)”
> “chainloader (hd0,0)+1”
>
> What’s going on?

This area is intended for support and information using the forums
themselves. Please post in the appropriate forum for technical
assistance with Linux. I’d suggest Install/Boot/Login.


Keith Kastorff

I suggest you change this part:

rootnoverify (hd0, 5)
chainloader (hd0,0)+1

to this

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

Try that first. However, depending on the options you chose during the install, it might be necessary to change it to this instead, if the first case doesn’t work:

map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0, 0)
chainloader (hd0,0)+1

And if neither works, report back and we’ll do some deeper diagnostics.

Sorry I posted this in the wrong forum. But since it’s rolling…

Ok, I am total newbie. 1st I don’t know where to look in suse to post my hard drive partition table here.

And I don’t know how to change the code suggested below by swerdna to fix this problem. Man oh man, is Linux for me? Do I have to be a committed geek to do this stuff?

Alan

No, not at all. Of course, how many dual-Windows setups has most users done? Very, very few. (It can be a royal pain.) But it’s all doable, just takes a bit of learning and patience. Same with linux, except that when Windows is on the machine there are a few more potential gotchas because Windows is very unfriendly to anything else, even other versions of Windows. So to get you set up . . .

What @swerdna suggested was trying to make an edit, and failing that, a second edit, to the boot loader’s menu control file. (What we are going to do is very similar to what we would do if this were Windows.) Boot into openSUSE. You need to run a text editor with “root” privilege. In KDE you can do Alt-F2 to bring up a small command window (like “run” in Windows). Type in this:

kdesu kwrite /boot/grub/menu.lst

If you are using Gnome (I don’t), IIRC you can do the same Alt-F2, but the command is: gtksu gedit /boot/grub/menu.lst. Find the Windows boot stanza and make the change to the rootnoverify line as suggested above. Be sure to save the file. Then reboot and try it. If that didn’t work, the second suggestion was an educated guess based on your remark that “C is on the other drive”; in this edit you insert two “map” commands into the stanza as shown. The reason for this is that Windows has to think it is booting from the first boot drive; “map” fools Windows into thinking so.

If neither of these most common solutions works, we have to dig deeper. There can be a number of reasons (which, again, would be just as applicable were you dual-booting two Windows). We need to see the disks on your machine, how they’re laid out, how the boot loader is set up. So, open a terminal window (Konsole or Gnome Terminal), and switch to root this way:

su

It will ask for your root password. Each of the following commands will produce output; copy/paste each in a post back here:


fdisk -l -u

cat /boot/grub/device.map

cat /boot/grub/menu.lst

cat /etc/grub.conf

By the way, if for any reason the Alt-F2 didn’t work, you can use the same command from the terminal window - but do not switch to root as above. Just open the terminal and type in the kdesu . . . or gtksu . . . commands.

Oops. I have been notified by the vigilant @swerdna that the gnome command above is not “gtksu” but “gnomesu”. Sorry about that.

Ok cool, I appreciate the patience & user-friendliness you folks are showing me. I do mediation & conflict resolution with couples for a living, so I’m great (normally) with people. Machines? Put it this way; Battlestar Galactica seems perfectly plausible to me…

Alright, so I took @swerdna’s advice & changed the verbage in the menu.lst with changing the “5” to a “0” (did nothing) then to this:

map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0, 0)
chainloader (hd0,0)+1
, then booted up & was told that it wasn’t recognized & to hit CRTL ALT DEL & try again. Anyhow, thanks to you now I know what a menu list is so here it is:

Modified by YaST2. Last modification on Sun Aug 24 12:08:34 PDT 2008

default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don’t change this comment - YaST2 identifier: Original name: windows###
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0,0)
chainloader (hd0,0)+1

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0
root (hd0,5)
kernel /boot/vmlinuz-2.6.25.5-1.1-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK6021G334N2394T-part6 resume=/dev/sda5 splash=silent showopts vga=0x317
initrd /boot/initrd-2.6.25.5-1.1-default

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.0
root (hd0,5)
kernel /boot/vmlinuz-2.6.25.5-1.1-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK6021G334N2394T-part6 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317
initrd /boot/initrd-2.6.25.5-1.1-default

.

Ok, per fdisk -l -u:

Disk /dev/sda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders, total 117210240 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000001

Device Boot Start End Blocks Id System
/dev/sda1 * 63 56259692 28129815 7 HPFS/NTFS
/dev/sda2 56259693 117210239 30475273+ f W95 Ext’d (LBA)
/dev/sda5 56259756 57609089 674667 82 Linux swap / Solaris
/dev/sda6 57609153 81610199 12000523+ 83 Linux
/dev/sda7 81610263 117210239 17799988+ 83 Linux

per cat /boot/grub/device.map:

(hd0) /dev/sda

per cat /boot/grub/menu.lst

Modified by YaST2. Last modification on Sun Aug 24 12:08:34 PDT 2008

default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don’t change this comment - YaST2 identifier: Original name: windows###
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0,0)
chainloader (hd0,0)+1

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0
root (hd0,5)
kernel /boot/vmlinuz-2.6.25.5-1.1-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK6021G334N2394T-part6 resume=/dev/sda5 splash=silent showopts vga=0x317
initrd /boot/initrd-2.6.25.5-1.1-default

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.0
root (hd0,5)
kernel /boot/vmlinuz-2.6.25.5-1.1-default root=/dev/disk/by-id/scsi-SATA_TOSHIBA_MK6021G334N2394T-part6 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317
initrd /boot/initrd-2.6.25.5-1.1-default

Per cat /etc/grub.conf

setup --stage2=/boot/grub/stage2 (hd0) (hd0,5)
quit

Cool, maybe the above will let some sense be made, yes? And I will dive deeply into the owner’s manual.

Thanks again!

I’m really puzzled. That looks to me like a classic, ordinary, uncomplicated multiboot where Grub is in the Master Boot Record, installed from the Linux root at sda6. There’s only one hard drive. The windows partition hasn’t been altered. No sector overlap. Looks good.

So the windows entry should be like this:

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

And it should boot. Note there’s a space between rootnoverify and (hd0,0) and similarly a space in the second line after chainloader.

So retry that.
Failing that: I have heard of one brand of notebook that doesn’t work for Grub in the MBR. What brand is your computer?
Failing that: other options but let’s not get ahead of ourselves.

Incidentally.: the windows partition is probably mounted and accessible in Suse, often you find it in “My Computer” and/or in the filesystem at /windows/C. Can you look in there and see if the file boot.ini exists?

I’m pretty confused too. Earlier I was thinking, “hey, this Linux stuff is apparently just for folks who know what those 3 letter acronyms actually stand for! Get me Windows!”. But now I’m staying in just for pure obstinancy.

I checked the menu.lst & the spaces & all that were what they’re supposed to be. I tried rebooting again to Windows but no… I did check the Windows folder & yes boot.ini is right there.

I’ve got a Compaq Presario 3000 series laptop. I read in another forum somewhere where folks with Compaqs were having issues not being able to boot from the livecd. I had that problem too until I installed from a DVD I got out of a Linux magazine (it was a livecd dvd but it worked ok, then did an install from there).

So I don’t know what’s going on, only that I’d like to be able to access the other half of my puter & be able to use my other apps.

Any other suggestions, please?

I am having the same issue on an HP Pavillion dv9927cl. All I use are HP’s and have never had this issue before. In my case I have two hard drives at 250 Gigs each. I also did not use the recommendation for formatting, but then I never have.

I am going to start comparing the details of the earlier posts with my situation to see if I can resolve my issue. At least we will have two different situations with the same issue. Hopefully, we can resolve it for the both of us.

I have been using different flavors of linux for about 9 years, but am not a hacker by any means. I can find myself around the box fairly well though, if any of you have any suggestions. You do seem to be a friendly bunch of guys. lol!

I’ve PM’d mingus725 to check in again.

I didn’t know where to stick in this comment, so I’ll just put it here.

I checked out your how-to on fixing the multiboot problem and the mapping language did the trick!

My situation was a little odd, but I figured it out. I have 2 hard drives with opensuse11.0 on one and Win 2000 Pro on the other. To the best of my recollection, I left windows as the master and let opensuse install itself as slave. I accidentally pulled in a second copy of the kernel and then noticed that this seemed to have gotten reversed. So, the mapping code fixed it. Thanks!

Also, since I had no trouble booting to suse, I skipped right to the step that edited menu.lst and it was fine. I wonder if, in my situation, I could have used yast to do this?

In case this benefits anyone else, I resolved my issue this way.

Comparing my menu.lst file to that of firozehh posted earlier in this thread, I noticed that all of my root file entries were pointing to (hd1,0) or the first partition on the 2nd drive. I have two drives with vista on the first and windows on the second and the boot loader on the MBR.

I changed my windows entries in menu.lst to point to (hd0,0) and low and behold it worked. I can now boot into vista.rotfl! Can’t say why the menu.lst file was written that way. The only thing that went on the first drive during the install, as far as I know, was the MBR.

Just picked up your message. I agree this looks like a garden variety setup.

@life2pointoh - Looks like a Battlestar Gallactica moment.

On occasion there is something in the machine we can’t see. Most often this happens with notebooks because manufacturers sometimes make non-standard (and undocumented) designs which conflict with changes the user may want to make. E.g., hibernation schemes can create a problem. In any event, that is academic - you need the machine to be bootable into both OS’s, period.

@swerdna and I agree we should try getting XP to boot openSUSE, i.e., reverse the process. The following commands must be performed exactly. This looks like it is much more complex than it really is; it’s just that with these commands even the smallest typo error could be serious. So please double-check as you go.

Boot into openSUSE. First open a terminal window as you did above and switch (su) to root. Now do this:

cd /boot/grub

cp menu.lst menu.lst.backup

dd if=/dev/sda of=xpmbr bs=512 count=1

dd if=/dev/sda1 of=xpbootsect bs=512 count=1

Close the terminal window. Now go to YaST/System/Boot Loader. Under the Boot Loader Installation tab, click on “Boot from Root Partition”. If any other boxes are checked, clear them. Click on Boot Loader Options, clear any boxes to the upper left that may be checked. Then click Finish and exit the program.

Now go right back to the Boot Loader set up. Click on the “Other” button at the bottom right, and select “Restore MBR of Hard Disk”. You will receive a warning; proceed. After it is done, exit the program.

Now, open a terminal window once again, and switch to root. Then do the following:

mkdir /mnt/xp

mount -t ntfs-3g /dev/sda1 /mnt/xp

dd if=/dev/sda6 of=/mnt/xp/suse.bin bs=512 count=1

umount /dev/sda1

Now when you reboot you should go straight into Windows XP, where you will set up booting to openSUSE. Suggest you write down the following:

In XP, run Windows Explorer (right-click Start, click Explore). First look in your C “root” directory (that is, not inside any folder); you should see the file we created above, suse.bin. Find the file boot.ini. (If you do not see it, in Explorer go to Tools/Folder Options/View and click “Show hidden files and folders”; the hidden files will immediately appear in Explorer.) Right-click on boot.ini, click Properties, and under Attributes you will see the “Read Only” box checked; clear that, Apply, OK. Now double-click on boot.ini and it will open in Notepad. Add a line at the end thus:

c:\suse.bin="openSUSE 11.0"

(That is an equals sign after “bin”; doesn’t seem to display well above.) Save the file and close Notepad. Right-click again on boot.ini, and click the Attributes/Read-Only box; Apply; OK. Shutdown and reboot. You should now see a Windows boot menu, with a choice for XP and another for openSUSE. Test booting both. Should work.

Now pour a cocktail, open a Jung short-story, and rest on your laurels.

@life2pointoh -

Something occurred to me after posting the above. I’m not familiar with the “liveCD/DVD” you got from the magazine. In the standard installation, software is installed that permits mounting and writing to your XP partition (the “mount -t ntfs-3g” above). But I can’t be positive that what you have did the same. So, before doing all the above, run YaST/Software Management and search on “fuse”. The “fuse” package should show as installed. If it does not, install it. Then open a terminal window, switch to root, and do:

modprobe fuse

lsmod | grep fuse

The second command should return a line with “fuse” on it. If it returns nothing, then reboot the computer back into openSUSE. Then get into a terminal again as root, and use the lsmod command above. This time you should see “fuse” returned. You can now proceed.

Prexy & Flabbergasted, I’ve started this thread so that the parent penguins can help this total newbie (me) figure out this partition issue. I notice you’ve piggybacked on my thread. I’m confused enough - any chance you can create your own threads for your own problems? If I’m outta line or mistaken then I apologize.

Thanks,

Life2pointoh

Yast isn’t too good for editing menu.lst. Some things it’s OK, others not. IMHO it’s always better to use GUI tools like kwrite and gedit (notepad for Linux), the editors, to edit things that need to be edited – windows had a way of eroding simple skills for a whole generation, maybe two, and now folk feel that the complex way must be better because it’s harder.

OOOPppsss, was that a rant :eek:

I’m in the terminal & when I type in “cp menu.lst menu.lst.backup” it tells me “bash: cd: menu.lst: Not a directory”.

Am I doing something wrong?