Grub/Mounting questions

Hello all, I am a noob to Linux (completely brand new to it) and am starting to look into it more. I installed OpenSUSE and have, thus far, enjoyed it immensely. Additionally, this forum has been extremely helpful.

That being said, I have a problem.

I have openSUSE installed on an external hard drive and for some reason GRUB will not show Windows. I don’t have a Windows Vista disk to do the whole fixmbr thing, and I have tried numerous solutions. As it turns out, Windows isn’t mounted (which I guess is the problem).

So I figured that’d be easy to fix, but alas it is not.

I tried mounting it with Yast with Partitioner but when I do it I get:

Error: It is not allowed to assign a mount point to a device with nonexistant or unknown file system.

Then I tried to do it in the Terminal:

I entered

mount -t ntfs /dev/sda1 /mnt

and it returned:

Failed to mount ‘dev/sda1’ :Invalid argument. The device /dev/sda1’ doesn’t seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around.

I tried it with both sda and sda1.

So this is my problem…what can I do to solve it?

Info on my system below…let me know if more info is needed.

fdisk -l:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 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: 0x22209d34

Device Boot Start End Blocks Id System
/dev/sda1 63 488392064 244196001 7 HPFS/NTFS/exFAT
/dev/sda4 * 0 0 0 0 Empty

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0xa8a8a8a8

Device Boot Start End Blocks Id System
/dev/sdb1 2048 4208639 2103296 82 Linux swap / Solaris
/dev/sdb2 * 4208640 46153727 20972544 83 Linux
/dev/sdb3 46153728 976773119 465309696 83 Linux

Also /etc/fstab/

/dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0-part1 swap swap defaults 0 0
/dev/vg_beitshlomo/lv_swap swap swap defaults 0 0
/dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0-part2 / ext4 acl,user_xattr 1 1
/dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0-part3 /home ext4 acl,user_xattr 1 2
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
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
/etc/fstab lines 1-9/9 (END)

Please help and thanks in advance.

If you installed openSUSE to an External Hard drive then I must ask a couple of questions:

  1. What is your boot drive set for in your PC BIOS? sda or sdb?
  2. If you unplug your External Hard drive and reboot, what happens?

You do not need to specify the partition type with mount. If we can assume that the folder /mnt already exists (as it must), try this command:

su -
password:
mount /dev/sda1 /mnt

Since fdisk shows the NTFS partition, if it does not mount, it most likely means you need to run Windows fdisk on it OR perhaps you could download a GParted disk and run its “check” function which might fix the Windows partition.

You might want to also show us your menu.sys file and device.map file:

cat /boot/grub/menu.lst
cat /boot/grub/device.map

Thank You,

  1. I’m not sure how I check that.
  2. If I remove the external it says:

GRUB loading…please wait

Error 21

When I tried to use mount it returned:

Mount: you must specify filesystem type

I’m working on trying the GParted thing.

As far as menu.sys:

Modified by YaST2. Last modification on Fri Mar 18 08:04:22 EDT 2011

THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader

Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
gfxmenu (hd1,1)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: linux###
title Desktop – openSUSE 11.4 - 2.6.37.1-1.2
root (hd1,1)
kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0-part2 resume=/dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0-part1 splash=silent quiet showopts vga=0x314
initrd /boot/initrd-2.6.37.1-1.2-desktop

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.4 - 2.6.37.1-1.2
root (hd1,1)
kernel /boot/vmlinuz-2.6.37.1-1.2-desktop root=/dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x314
initrd /boot/initrd-2.6.37.1-1.2-desktop

###Don’t change this comment - YaST2 identifier: Original name: Linux other###
title Linux other
rootnoverify (hd2,0)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: floppy###
title Floppy
rootnoverify (fd0)
chainloader +1

And for device.map:

(hd2) /dev/disk/by-id/usb-Seagate_FA_GoFlex_Pro_NA0H3NHF-0:0
(fd0) /dev/fd0
(hd1) /dev/disk/by-id/usb-Hitachi_HTS725050A9A364_1f008e671d4c0000000-0:0
(hd0) /dev/disk/by-id/ata-ST9250410AS_5VG6FKE0

Thanks for your help. I was told by a friend that Chameleon might be able to help, but I’m not sure about that…

Hi,

for some rason, your ntfspartition looks bad to linux.

i would hesitate vey much to try to correct it from a linux system. I don’t know how well Gparted handes ntfs partitions…

If I were you, I’d try to boot into windows and then fiw the partition from there.

But from your menu.lst file it seems that you don’t even get a choice to boott into windows.

Try to add this section to your menu.lst file :

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

This may give you the possibility to boot into windows.

(if you don’t know how to edit your menu.lst file :

in a command line type “kdesu kwrite” if in kde, or “gnomesu gedit” if in gnome. Afther typing your password you’ll get a text editor).

Please try not to chnage anyhting else in the menu.lst file.

HTH

Lenwolf

Please @shomrut use CODE tags instead of QUOTE tags when posting computer output: Posting in Code Tags - A Guide.

Shomrut, based on what you have said, here is what I see:

  1. Your boot hard drive set in your BIOS setup is for sda
  2. When you installed openSUSE, you placed the grub boot loader into the MBR of sda (Master Boot Record)
  3. lenwolf has suggest you need to add the following code in your /boot/grub/menu.lst file to attempt to load Windows:
###Don't change this comment - YaST2 identifier: Original name: windows 1###
title windows
rootnoverify (hd0,0)
chainloader +1 

To edit the menu.lst file in KDE, open up terminal and execute this command:


kdesu kwrite /boot/grub/menu.lst
  1. If you can get Windows to load, it may be able to fix it self. Based on the fact you can’t mount the drive, it needs to be checked/fixed by something.

I will say that normally, when I install openSUSE on to an external hard drive I do at least these five following things:

  1. Go into the PC BIOS setup and select the external hard drive as the boot drive.
  2. When you load openSUSE, you disable loading Grub into the MBR
  3. You enable loading grub into the openSUSE partition, which can only be numbered 1, 2, 3 or 4.
  4. You must make sure that the hard drive sdb (External Hard Drive) is first over sda in boot order.
  5. Make sure all partitions being created are located on the External hard drive.

Taking these steps would have left the internal hard drive setup to boot Windows, should you unplug the external hard drive. This does not mean you can not some how mess up the Windows partition however, but Windows would be more likely to fix the problem on its own.

Thank You,

Thanks. I will try that.

I think there’s really no way to fix the problem from Linux.

Thank you for your help. Once I fix the problem and re-attempt to do the whole OpenSUSE thing, I’ll make sure not to have it boot from the MBR.

I actually knew better before installing it (someone warned me about it(, but wasn’t paying attention.

Either way, this entire experience has definitely increased my learning as far as Linux goes. If I could get rid of Windows complete I would, but unfortunately I need it for work and the computer I messed up is (unfortunately) a work computer.

In any case, I appreciate the help.

So one issue with installing the Grub boot loader into the MBR (Master Boot Record) is to prevent you from even loading a Windows Service Pack, without regard to the more basic problem you now have. I did start a thread on the Service Pack subject which does talk about fixing your MBR and is located here:

openSUSE Dual Booting with Windows 7 AND Loading Service Pack 1 for Windows 7

If we can help you with any other advice, please just ask and good luck on your problem.

Thank You,

As it turns out, I was able to get Windows fixed up (the IT people just re-imaged it and did their thing) and I reinstalled SUSE on an external and had it boot from “/”. It makes things simpler and doesn’t mess up my system.

I also installed FreeBSD. So far I am quite satisfied. I’m starting to read up more on Linux/Unix in general because I want to at least (I don’t think I can completely count out Windows because my job requires it) be as good with Linux/Unix as I am with Windows. I ultimately hope that I can much better with Linux/Unix and then eventually get rid of Windows.

You might find that a VM like VirtualBox is all you need to run Windows in Linux. I develop Windows programs in XP running in a VM in Linux. I still get a kick on seeing Windows boot into a Window o my desktop. Unless you have very high graphic requirements this is the way to go. You can move files and copy and paste between the OS’s.