LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Boot stops. Can't find (mount?) partitions. Why? (https://www.linuxquestions.org/questions/linux-software-2/boot-stops-can%27t-find-mount-partitions-why-840925/)

JZL240I-U 10-28-2010 05:20 AM

Boot stops. Can't find (mount?) partitions. Why?
 
This is openSuSE 11.0
Bootsplash verbose, excerpt from the output:
Code:

...
USB ohci_hcd
USB usb7: SerialNumber: 0000:00:16.0
Trying manual resume from /dev/sdb9 {which is swap of course}
resume device /dev/sdb9 not found (ignoring)
Trying manual resume from /dev/sdb9
resume device /dev/sdb9 not found (ignoring)
Waiting for device /dev/disk/by-id/ata-Maxtor....-part7 to appear
..........................................................
Could not find /dev/disk/by-id/ata-Maxtor....-part7...
Want me to fall back to /dev/disk/by-id/ata-Maxtor....-part7 (Y/n) y
Not found, exiting to /bin/sh

I can't mount by hand either, it says "unknown command".

This is the disk from my old box {deceased}. I installed it as second disk in my new box which runs openSuSE 11.3_64. This second disk carries openSuSE 11.2 which I can boot with the same GRUB, openSuSE 11.0 which throws the errors shown above and FreeBSD which breaks off booting ending up in a prompt "mountroot>".

I need the old SuSE she has our homebanking program :(.

yancek 10-28-2010 11:00 AM

As I understand your post, you removed the hard drive containing Opensuse 11.0 and placed it in a drive which has Opensuse 11.3 and 11.2 on it and you are able to successfully boot the latter two using Grub from, 11.3?

Check the menu.lst entry from 11.3 (if you are using its Grub) to see what entry you have for 11.0. Check the /etc/fstab to see what it has.
It's looking for the system on partition 7. Is that where it is?

I have Opensuse 11.2 and had problems booting a couple of other systems. Using a configfile entry or chainloader in place of the /dev/disk/by-id worked for me. Lazy way out but...

If you use the configfile or chainloader you will need the Grub files in 11.0.

JZL240I-U 10-28-2010 02:37 PM

Umm, no and yes ;).

I placed the old drive in a new computer, all unchanged, i.e. the hardware moved over to the new chassis. The old one has 11.0 and 11.2 on it. On boot 11.0 dies with the messages shown in the OP, but I can boot 11.2. (and of course 11.3_64 from my new drive).

I made the old drive bootable in the BIOS and I also chainloaded the old GRUB(!) with my latest installation on the new drive resulting in the same failure. And yes, 11.0's "/" is on /dev/sdb7.

This is the new /boot/grub menu.lst:
Quote:

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.3 - 2.6.34.7-0.5
root (hd0,0)
kernel /vmlinuz-2.6.34.7-0.5-desktop root=/dev/disk/by-id/ata-ST31000520AS_5VX0VRDP-part5 resume=/dev/disk/by-id/ata-ST31000520AS_5VX0VRDP-part7 splash=verbose quiet showopts vga=0x345
initrd /initrd-2.6.34.7-0.5-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.3 - 2.6.34.7-0.5
root (hd0,0)
kernel /vmlinuz-2.6.34.7-0.5-desktop root=/dev/disk/by-id/ata-ST31000520AS_5VX0VRDP-part5 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x345
initrd /initrd-2.6.34.7-0.5-desktop

###Don't change this comment - YaST2 identifier: Original name: openSUSE 11.2 - 2.6.31.14-0.1 (default) (/dev/sdb1)###
title openSUSE 11.2 und 11.0 (Bootloader auf /dev/sdb1)
rootnoverify (hd1,0)
chainloader +1

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.5-1.1-pae
root (hd1,0)
kernel /vmlinuz-2.6.25.5-1.1-pae root=/dev/disk/by-id/ata-Maxtor_6L250R0_L607SAMG-part7 lang=de resume=/dev/sdb9 splash=verbose showopts vga=0x345
initrd /initrd-2.6.25.5-1.1-pae

###Don't change this comment - YaST2 identifier: Original name: FreeBSD###
title FreeBSD 8.0 mit GRUB direkt
rootnoverify (hd1,2)
makeactive
root (hd1,2,a)
kernel /boot/loader
This is the chainloaded /boot/grub/menu.lst from the old GRUB / drive:

Quote:

# Modified by YaST2. Last modification on Sat Sep 25 11:47:34 CEST 2010
# 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 (hd0,0)/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.2 - 2.6.31.14-0.1 (default)
root (hd1,0)
kernel /vmlinuz-2.6.31.14-0.1-default root=/dev/disk/by-id/ata-Maxtor_6L250R0_L607SAMG-part11 resume=/dev/sdb9 splash=verbose showopts vga=0x345
initrd /initrd-2.6.31.14-0.1-default

[...]

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.5-1.1-pae
root (hd1,0)
kernel /vmlinuz-2.6.25.5-1.1-pae root=/dev/disk/by-id/ata-Maxtor_6L250R0_L607SAMG-part7 lang=de resume=/dev/sdb9 splash=verbose showopts vga=0x345
initrd /initrd-2.6.25.5-1.1-pae

###Don't change this comment - YaST2 identifier: Original name: FreeBSD###
title FreeBSD 8.0 mit GRUB direkt
rootnoverify (hd1,2)
makeactive
root (hd1,2,a)
kernel /boot/loader
See anything? And please keep in mind the booting kernel can't mount /dev/sdb7. Why?

yancek 10-28-2010 03:21 PM

When you boot initially, it is using the OS 11.3 bootloader, the one you refer to as the "new" menu.lst, is that correct?

Does the problem occur when selecting 11.0 from this menu? It shows the two standard entries for 11.3, the next title line show 11.2 and 11.0 and I expect that boots 11.2? The title line after that is just for 11.0 which when selected fails?

Note the root entries. You have root (hd0,0) for 11.3 and 11.0 and 11.2 shows root (hd1,0). 11.2 and 11.0 are on the same drive, correct? If so, change the 11.0 entry to reflect which partition it is on.

If that is not the problem, I mean if you boot from your initial menu.lst on 11.3 and select the 11.2 and 11.0 chainloader entry and then get the problem, the solution would be different. The menu.lst from the old drive is from OS 11.2? If so, and this is where the problem comes up, check its /etc/fstab file.

The error complains about not being able to find sdb9, swap partition. Do you have that? The other part of the error is "Could not find /dev/disk/by-id/ata-Maxtor....-part7...". It's looking for partition 7 without success!

In the second menu.lst (old) are those the original entries?
Posting your partition info might help?

JZL240I-U 10-29-2010 05:01 AM

Quote:

Originally Posted by yancek (Post 4142566)
When you boot initially, it is using the OS 11.3 bootloader, the one you refer to as the "new" menu.lst, is that correct?

Yes.
Quote:

Originally Posted by yancek (Post 4142566)
Does the problem occur when selecting 11.0 from this menu? It shows the two standard entries for 11.3, the next title line show and I expect that boots 11.2? The title line after that is just for 11.0 which when selected fails?

Not immediately. This entry line with 11.2 and 11.0 (chain)-loads the old GRUB from /dev/sdb. It lets me select from the second menu.lst snippet which then fails. As does the last line with the direct call.

Quote:

Originally Posted by yancek (Post 4142566)
Note the root entries. You have root (hd0,0) for 11.3 and 11.0 and 11.2 shows root (hd1,0). 11.2 and 11.0 are on the same drive, correct? If so, change the 11.0 entry to reflect which partition it is on.

11.3 is on /dev/sda, the others on /dev/sdb. 11.0's "/" is on /dev/sdb7, 11.2's "/" on /dev/sdb11

Quote:

Originally Posted by yancek (Post 4142566)
If that is not the problem, I mean if you boot from your initial menu.lst on 11.3 and select the 11.2 and 11.0 chainloader entry and then get the problem, the solution would be different. The menu.lst from the old drive is from OS 11.2? If so, and this is where the problem comes up, check its /etc/fstab file.

You mean the /etc/fstab off 11.0? Now this is an idea... I'll report later.

Quote:

Originally Posted by yancek (Post 4142566)
The error complains about not being able to find sdb9, swap partition. Do you have that? The other part of the error is "Could not find ...". It's looking for partition 7 without success!

Yes, /dev/sdb9 is the old swap, which is not active now. Indeed /dev/disk/by-id/ata-Maxtor....-part7 is 11.0's "/".

Quote:

Originally Posted by yancek (Post 4142566)
In the second menu.lst (old) are those the original entries?
Posting your partition info might help?

They are mostly the original. At first I changed the boot device in the BIOS (i.e. swapped sda and sdb) but this didn't work either. Here is the output from "fdisk -l":

Code:

linux-3ppp:/home/me # fdisk -l

Platte /dev/sda: 1000.2 GByte, 1000204886016 Byte
255 Köpfe, 63 Sektoren/Spur, 121601 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00009696

  Gerät  boot.    Anfang        Ende    Blöcke  Id  System
/dev/sda1              1          17      128000  83  Linux
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sda2              17        4194    33551360  83  Linux
/dev/sda3  *        4194      12549    67111936  83  Linux
/dev/sda4          12549      121602  875969536    f  W95 Erw. (LBA)
/dev/sda5          12549      16726    33550336  83  Linux
/dev/sda6          16726      25080    67109888  83  Linux
/dev/sda7          25081      25602    4192256  82  Linux Swap / Solaris

Platte /dev/sdb: 251.0 GByte, 251000193024 Byte
255 Köpfe, 63 Sektoren/Spur, 30515 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00041d0d

  Gerät  boot.    Anfang        Ende    Blöcke  Id  System
/dev/sdb1              1          62      497983+  83  Linux
/dev/sdb2              63        1308    10008495  bf  Solaris
/dev/sdb3  *        1309        3267    15735667+  a5  FreeBSD
/dev/sdb4            3268      30515  218869560    f  W95 Erw. (LBA)
/dev/sdb5          12332      13637    10490413+  83  Linux
/dev/sdb6          13638      16070    19543041  83  Linux
/dev/sdb7          16071      18029    15735636  83  Linux
/dev/sdb8          18030      19988    15735636  83  Linux
/dev/sdb9          19989      20237    2000061  82  Linux Swap / Solaris
/dev/sdb10          20238      20498    2096451  83  Linux                                                                           
/dev/sdb11          20499      25067    36700461  83  Linux                                                                           
/dev/sdb12          3268      12331    72806517  83  Linux


yancek 10-29-2010 10:49 AM

The changes (for now) should just be on the old menu.lst, from 11.2.

Just to clarify, when you select from the new menu.lst the 11.2 chainloader entry, you are able to successfully boot 11.2 off the second menu.lst but booting 11.0 from that menu.lst fails? I would suggest you change the entry for 11.0 from: root (hd1,0) to root (hd1,6). I have Opensuse 11.2 and here is its menu.lst entry. It is on sda8, swap on partition 6:

Quote:

title openSUSE 11.2
root (hd0,7)
kernel /boot/vmlinuz-2.6.31.5-0.1-desktop root=/dev/disk/by-id/ata-ST3320418AS_9VM6H59M-part8 resume=/dev/disk/by-id/ata-ST3320418AS_9VM6H59M-part6 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-2.6.31.5-0.1-desktop
Check the fstab file on 11.0 which is what you are booting from at this point and make sure the entries for 11.0 and swap are correct. sdb7 and sdb9. (Just re-read your last post. You said sdb9 swap is not active so are you using the swap on the first drive. Maybe changing the 11.2 fstab entry for swap to sda7 would help).

You could check the disk by-id to make sure they are correct. I doubt this is the problem though: ls /dev/disk/by-id

JZL240I-U 11-01-2010 07:12 AM

Quote:

Originally Posted by yancek (Post 4143421)
...when you select from the new menu.lst the 11.2 chainloader entry, you are able to successfully boot 11.2 off the second menu.lst but booting 11.0 from that menu.lst fails?

That is correct. Booting also fails using GRUB of the 11.3_64 installation (see first menu.lst).

Quote:

Originally Posted by yancek (Post 4143421)
I would suggest you change the entry for 11.0 from: root (hd1,0) to root (hd1,6).

That doesn't work. I tried it for sheer desperation but as I understand the GRUB manual "root" points to the partition where GRUB resides. I usually give it an own parition (i.e. (hd1,0) for /dev/sdb -- the old installations and (hd0,0) for /dev/sda's /boot.


Quote:

Originally Posted by yancek (Post 4143421)
I have Opensuse 11.2 and here is its menu.lst entry. It is on sda8, swap on partition 6:

I'd guess you have /boot as a normal subdirectory in the "/" partition? My setup is different here.

Quote:

Originally Posted by yancek (Post 4143421)
Check the fstab file on 11.0 which is what you are booting from at this point and make sure the entries for 11.0 and swap are correct....

They are. I erred in asmuch as swap is still /dev/sdb9 for openSuSE 11.0, but I gave 11.3_64 a larger one, since my new box has lots more RAM.

Quote:

Originally Posted by yancek (Post 4143421)
You could check the disk by-id to make sure they are correct. I doubt this is the problem though: ls /dev/disk/by-id

You're right I checked earlier and they are correct.

In the meantime I think that this is a kernel problem. When you re-read my very first post and examine the last line of the "code"-text box it reads: "Not found, exiting to /bin/sh". That's not GRUB's command line that is the shell of the booting kernel I'd say. Any thoughts on this?

markush 11-01-2010 07:59 AM

Hello JZL240I-U,
Quote:

Originally Posted by JZL240I-U (Post 4145700)
...In the meantime I think that this is a kernel problem....

yes, this is very likely. Which differences are between the old an the new hardware? compare lspci for both boxes (maybe a live-CD works). I'll guess there's a missing driver for the disk-controller.

Markus

JZL240I-U 11-01-2010 08:13 AM

The old box is dead (doesn't show even the BIOS messages during power-on self test) so I can't run lspci there.

Wait, I re-re-re-read your post: "missing driver for the disk-controller" you wrote. I'm way out of my depth here but if 11.0 should lack the driver for the controller, how can I find out which one it is (i.e. its name) and is there a way to insert it into the existing installation of 11.0?

P.S.: I do have a CD with drivers of the Gigabyte board, but I doubt that there is anything for linux. I'll look soonest.

markush 11-01-2010 08:20 AM

Well the point is that I know a similar issue when booting a new Gentooinstallation and my selfbuild kernel is missing the SATA-Controller. In your case the point is, that the drivers for your Harddisk must be in the kernel since it would not have been running in your old computer. But there must be a difference in the hardware. So I would look at lspci with a live-CD and then search in the kernels .config file.

Markus

Edit: you may use lspci with the other Suse installation. But then it may be easier to compare both .config files. Another (better) idea. Start your Suse 11.3 and chroot into the old Suse, then execute lsmod and find out what the old kernel is missing.

JZL240I-U 11-01-2010 08:30 AM

Quote:

Originally Posted by markush (Post 4145750)
...my selfbuild kernel is missing the SATA-Controller. In your case the point is, that the drivers for your Harddisk must be in the kernel since it would not have been running in your old computer. But there must be a difference in the hardware. So I would look at lspci with a live-CD and then search in the kernels .config file.

Hmmm. In the BIOS it says: Second SATA controller running in IDE mode (or somthing like this). It is an old IDE disk. Maybe you hit it right off here and the old Susie hasn't got the right SATA controller driver or IDE driver to run on this hardware).

But one can load kernel modules. If I find the correct one, how to insert that during boot?

I can boot the new hardware and get a lspci, I'll post it soonest -- only right now I'm not sitting in front of that box.

Quote:

Originally Posted by markush (Post 4145750)
...Edit: you may use lspci with the other Suse installation. But then it may be easier to compare both .config files.

How do I do that at all? I never compiled a kernel so I'm totally new here.

markush 11-01-2010 08:40 AM

Well, I see, this is complicated in your case, since a chroot from a 64bit into a 32bit installation is not easy. Read this: http://www.gentoo.de/doc/de/handbook...?part=1&chap=6 and this http://www.gentoo.org/proj/en/base/a...?part=1&chap=2 . You can istead boot with a 32bit live-CD (e.g. slax) and chroot to the old HD. Then you may build a new kernel with the necessary drivers.

Markus

JZL240I-U 11-01-2010 08:43 AM

No no, it is not that problematic at all: I still have the old 11.2 on the same old disk which does boot :). You suggest chroot'ing to the old installation? Hmm, well worth a try. I'll read up on chroot (never used it before).

markush 11-01-2010 08:50 AM

ok, make a directory
Code:

mkdir /mnt/oldsuse
then execute:
Code:

mount /dev/whereureoldSuseis /mnt/oldsuse
mount -t proc none /mnt/oldsuse/proc
mount -o bind /dev /mnt/oldsuse/dev
chroot /mnt/oldsuse /bin/bash
source /etc/profile

now your in your old system (as root) and can build an adequate kernel (likely only a little modification). But be sure not to configure the new driver as a module since you would need an initrd then.

Markus

JZL240I-U 11-01-2010 08:51 AM

I'll try that tomorrow and report back after that. Thanks for your support :).


All times are GMT -5. The time now is 08:19 PM.