OpenSuse cannot see in the boot menu

Hey guys i’m new around here and a newbie using Linux.
After i installed OpenSuse everything was cool.Installed my drivers and everything.After a restart i wanted to boot my XP (i’m dual booting XP and OpenSuse.i’m using a 10Gb partion for OpenSuse) when i went to boot XP i got a error with hal.dll missing.i managed to get it fixed but after that i cannot boot in OpenSuse :’(
also in windows i cannot see the partions for OpenSuse.
i dont really want to install again i just want to get it up and running.

thanks in advance :shame:

If you installed with a DVD try inserting that and using the repair system option

i used a Live CD.should it work?

To use the Repair System you need the DVD; it’s not on the Live-CD. But, we can probably still get things right with what you have. First, we need some information.

When you boot now, are you going straight into Windows (or seeing a Windows menu)?

Boot from the Live-CD. Open a terminal window, and su to root. Do this command and copy/paste the output back here:


fdisk -l -u

Now you need to know which partition is your openSUSE root partition. The fdisk listing may help you. You need to mount that partition (below the question mark is the partition number) and then list several files. Here are the commands. Then copy/paste the output of each back here:

mount -t ext3 /dev/sda? /mnt
cd /mnt
cat /mnt/boot/grub/menu.lst
cat /mnt/boot/grub/device.map
cat /mnt/etc/grub.conf

Once we know how your disk is laid out and how grub was originally installed, we can give you the commands to use in the Live-CD that was fix the problem.

Ok i’m back.Here is what i got:

fdisk -l -u
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xcab10bee

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   191252879    95626408+   7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2       191252880   212496479    10621800    f  W95 Ext'd (LBA)
Partition 2 does not end on cylinder boundary.
/dev/sda3       212507820   216716849     2104515   82  Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4       216716850   234436544     8859847+  83  Linux
Partition 4 does not end on cylinder boundary.
/dev/sda5       191252943   212496479    10621768+   7  HPFS/NTFS

mount -t ext3 /dev/sda? /mnt
Usage: mount -V                 : print version
       mount -h                 : print this help
       mount                    : list mounted filesystems
       mount -l                 : idem, including volume labels
So far the informational part. Next the mounting.
The command is `mount -t fstype] something somewhere'.
Details found in /etc/fstab may be omitted.
       mount -a -t|-O] ...     : mount all stuff from /etc/fstab
       mount device             : mount device at the known place
       mount directory          : mount known device here
       mount -t type dev dir    : ordinary mount command
Note that one does not really mount a device, one mounts
a filesystem (of the given type) found on the device.
One can also mount an already visible directory tree elsewhere:
       mount --bind olddir newdir
or move a subtree:
       mount --move olddir newdir
One can change the type of mount containing the directory dir:
       mount --make-shared dir
       mount --make-slave dir
       mount --make-private dir
       mount --make-unbindable dir
One can change the type of all the mounts in a mount subtree
containing the directory dir:
       mount --make-rshared dir
       mount --make-rslave dir
       mount --make-rprivate dir
       mount --make-runbindable dir
A device can be given by name, say /dev/hda1 or /dev/cdrom,
or by label, using  -L label  or by uuid, using  -U uuid .
Other options: -nfFrsvw] -o options] -p passwdfd].
For many more details, say  man 8 mount .
linux:/home/linux/Desktop # cd /mnt
linux:/mnt # cat /mnt/boot/grub/menu.lst
cat: /mnt/boot/grub/menu.lst: No such file or directory
linux:/mnt # cat /mnt/etc/grub.conf
cat: /mnt/etc/grub.conf: No such file or directory

Please note that in my instructions above I indicated to replace the “?” in “sda?” within the mount command, with the actual partition number (because I could not know what the number was). Not doing that resulted in errors in all the output except the fdisk.

From your fdisk it looks like it is sda4. So the commands are:

mount -t ext3 /dev/sda4 /mnt
cd /mnt
cat /mnt/boot/grub/menu.lst
cat /mnt/boot/grub/device.map
cat /mnt/etc/grub.conf

Also, there is some strangeness in the partition table. How were these partitions all created? When you fixed your hal.dll problem, did you do a repair install or modify partitions or anything like that? You appear to have 2 NTFS partitions; the 2nd is a logical partition (#5 in the table) inside an extended (#2 in the table); but there is unallocated space between that partition and the 2 linux partitions that follow it (#3 and #4). This may be due to creating/changing partitions in both OS’s or with another tool?

i never changed the name or the partitions.here is the methode i used to get it working

Use the Bootcfg utility in the Recovery Console to correct the Boot.ini file:
1.	Use the Windows XP CD-ROM to start your computer.
2.	When you receive the message to press R to repair Windows by using the Recovery Console, press the R key.
3.	Select the Windows installation that you want, and then type the administrator password when prompted.
4.	Type bootcfg /rebuild, and then press ENTER.
5.	When the Windows installation is located, the following instructions are displayed:
Add installation to boot list? (Yes/No/All)
[Type Y in response to this message.]

Enter Load Identifier:
[This is the name of the operating system. Type Windows XP Professional or Windows XP Home Edition.]

Enter OS Load options:
[Leave this field blank, and then press ENTER].
After you perform the preceding steps, restart the computer, and then select the first item on the boot menu. This should allow Windows XP to start normally.

After Windows XP has successfully loaded, the Boot.ini can be modified to remove the incorrect entry.
For more information about how to edit the Boot.ini file, click the following article number to view the article in the Microsoft Knowledge Base: 
cat /mnt/boot/grub/menu.lst
# Modified by YaST2. Last modification on Sun Aug 17 17:42:34 EDT 2008
default 0
timeout 8
gfxmenu (hd0,3)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.11-0.1
    root (hd0,3)
    kernel /boot/vmlinuz-2.6.25.11-0.1-default root=/dev/disk/by-id/scsi-SATA_ST3120213AS_9LS0TEKT-part4 resume=/dev/sda3 splash=silent showopts vga=0x31a
    initrd /boot/initrd-2.6.25.11-0.1-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0 - 2.6.25.11-0.1
    root (hd0,3)
    kernel /boot/vmlinuz-2.6.25.11-0.1-default root=/dev/disk/by-id/scsi-SATA_ST3120213AS_9LS0TEKT-part4 showopts ide=nodma apm=off acpi=off noresume edd=off x11failsafe vga=0x31a
    initrd /boot/initrd-2.6.25.11-0.1-default

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

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

cat /mnt/etc/grub.conf
setup --stage2=/boot/grub/stage2 (hd0,3) (hd0,3)
quit

I failed to ask you this before: Do you have a way of booting into Windows without using the openSUSE boot loader (grub)? That is, do you have a Windows installation CD? If you do not, does your computer have a floppy drive; can you make a Windows boot floppy? If we can, we should have a backup method of booting Windows. Also, before we work on the grub problem, would you also please do this:

Boot again from the Live-CD. Open a terminal window, su to root. do the followng EXACTLY - be EXTREMELY CAREFUL. A mistake could make the system unbootable:


cd /root
dd if=/dev/sda of=winmbr.bin bs=512 count=1

You should see a message that 512 records were written. You now have a copy of the Windows MBR (openSUSE should have made one when you installed; this is for extra safety). If there is a problem we should be able to restore booting to Windows with this.

Post back and I will give you some commands to try.

EDIT: In your first post you asked about seeing your openSUSE partition from Windows. Answer: openSUSE is installed on a ext3 file system. Windows can only see data in FAT32 and NTFS file systems. openSUSE can be installed on FAT32, but that is a very bad idea; it cannot be installed on NTFS. So the short answer is, no, you will not see the data in openSUSE from inside Windows.

before i do this.yes i have a windows XP CD and i can boot into windows.here is the last command you give to me.

linux:/home/linux/Desktop # cd /root
linux:~ # dd if=/dev/sda of=winmbr.bin bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.02669 s, 19.2 kB/s

i’m still on the livecd

OK, terrific. You should already have a copy of the Windows MBR at /boot/backup_mbr; this gives you another backup.

First, we are going to try to use the Windows MBR to start up grub to control the boot process. So in the terminal as root, do

grub

which will put you in the grub shell, with a > prompt. Then do:

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

After the root command you should get a message back like: Filesystem type is ext2fs, partition type 0x83. Grub will write several lines after the setup command (don’t worry if one or two lines have “fail” in them). Then it is important to do the quit, for grub to complete its work.

Now in the terminal as root do:

sfdisk -A4 /dev/sda

Reboot with the CD removed.

thanks a lot for your help!!i managed to make it work.now i will see when i will have to boot XP again i hope everything will be just fine :wink:

You’re welcome. I looked at your menu.lst, and it looks like it should chain load to Windows alright. Enjoy!