[SOLVED] Help, my data is stuck: Cannot open root device "LABEL=/" or unknown-block(0,0)
Linux - DesktopThis forum is for the discussion of all Linux Software used in a desktop context.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Help, my data is stuck: Cannot open root device "LABEL=/" or unknown-block(0,0)
Hi,
I am a professor at a university and have a lot of data built up from years on my linux graphics station.
I have RHEL WS release 3 on a DELL 370 Precision Workstation. I just moved my computer and now it doesn't boot properly. It hangs when I boot. It says Cannot open root device "LABEL=/" or unknown-block(0,0).
My /etc/grub.conf file looks like this:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/sdb5
# initrd /initrd-version.img
#boot=/dev/sda3
default=1
timeout=10
splashimage=(hd0,2)/grub/splash.xpm.gz
title Red Hat Enterprise Linux WS (2.4.21-4.EL)
root (hd0,2)
kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/ hda=ide-scsi hdb=ide-scsi apic
initrd /initrd-2.4.21-4.EL.img
I read a lot of posts by googling that suggest to boot in rescue mode and change in the /etc/grub.conf file: root=LABEL=/ to root=/dev/sda5 or similar. That didn't work.
I tried this too:
mkinitrd --preload=scsi_mod --preload=sd_mod --with=ata_piix \
/boot/initrd.img-2.4.27-sata 2.4.27-4.EL
That made a new file in /boot; but after updating the grub.conf file to look for initrd.img-2.4.27-sata, that didn't work either.
Syg00
Yes, I have been working on this research project for 10 years of my life, working on an important medical problem. My computer is equipped with special 3D modeling hardware and a lot of specialized crystallographic software. I updated the system once from RH9 to RHEL 3 during that time, but not all the home-made programs/binaries would necessarily work if I upgraded constantly. Plus, it is a lot of work. I never had a security comprise once. The computer is behind a firewall and not necessarily always plug in. The university would have informed me if there were problems. Linux is great in that way.
Yes, I can boot from the CD rescue disk. That's how I can make changes to grub.conf.
Odin_ago
Yes, I have spare internal hard drives.
I don't necessarily have another working linux computer, although I am in the process of building another graphic machine with the same 3D capability. I have all my data backed-up on an external HD. However, I am not sure if I backwd-up the /usr/local/programs/directories with all the binaries. It looks like I lost one of my software backup CDs and would like to get it off the old machine, if possible.
It seemed like a common problem back in those days that people were able to overcome. Any suggestions?
If you have enough free disk space on another hard drive, I would recommend to make a backup of all data (incl. binaries) you have on the problematic hard drive using standard linux means. For example:
1. If your computer has a free hard drive slot inside, connect an HDD with free space there. Otherwise connect it using external case if you have one.
2. Boot from a livecd or a rescue cd (whatever you have).
3. Understand which hard drive is the old one. Unless you have many physical hard drives, it is either /dev/sda or /dev/sdb (or maybe /dev/hda or /dev/hdb if you have a very old kernel on livecd). If you need to mount partitions, better mount them read-only.
4. If you have mounted (or if the liveCD mounts automatically) any partitions of the old drive, unmount them.
5. Alternative A: Mount the partition on the new hard drive with enough free space. If you know which partitions the data you want to backup belong to (for example, /usr is a separate partition, and you have found out that it is /dev/sda2), make a backup of this partition(s):
Alternative B: Mount the partition on the new hard drive with enough free space. Make a backup of the whole old disk (for this the new disk needs to be at least slightly larger than the old one). Here I assume that the old disk is /dev/sda, change this accordingly if it is not:
Alternative C: If the new hard drive is at least the same size as the old one and has completely no data inside, you can make use the whole disk as a backup (or, rather, a duplicate, to a certain extent the new and the old disk will be identical). For this, do not create any partitions on the new drive, or, if you have some inside and have mounted them, unmount them. AFTER THIS OPERATION, ALL DATA YOU PREVIOUSLY HAD ON THE NEW DISK WILL BE COMPLETELY LOST FOREVER. Double-check that the old disk is /dev/sda and the new disk is /dev/sdb, OTHERWISE YOU WILL LOSE THE DATA ON THE OLD DISK AS WELL. Then:
I have a brand new scsi hard drive the same size as the old one. I bought it so that I can make a duplicate of the old disk, but I never figured out how to. Before I do Alternative B or C, how do I check what partition the data on my old disk is? Do I type cat mount or something in the rescue CD? Let me know and I can send that to you to advise.
Distribution: Mainly Devuan with some Tiny Core, Fatdog, Haiku, & BSD thrown in.
Posts: 5,439
Rep:
If you can boot a live distro, use it to copy your work to another disk. Once you have confirmed that you have a back up, then try to get your booting sorted. (By the way, it looks like you needed sda3 not sda5.)
Don't use dd unless you are sure you know what you are doing as one mistake can lose you all your work.
Distribution: Mainly Devuan with some Tiny Core, Fatdog, Haiku, & BSD thrown in.
Posts: 5,439
Rep:
Using your live distro, mount your disk (#boot=/dev/sda3) read only (mount -o ro /dev/sdb3 /mnt).
Note: it will be a different /dev designation.
Use ls to see where your info is, (ls /mnt), then copy it to your other disk. (Likely to be /dev/sdc.)
I need a little line by line instructions. I inserted my linux rescue CD disk. It gave me an option of read-only. I am now at a prompt and typed ls /mnt:
So I don't know where the mount is supposed to be, i.e. "dev/sdc" that you mentioned? If goto /etc as root and type mount:
sh-2.05b# mount
/dev/sda5 on / type ext3 (rw,defaults)
/dev/sda3 on /boot type ext3 (rw,defaults)
none on /dev/pts type devpts (rw,gid-5,mode-620)
none on /dev/shm type tmpfs (rw,defaults)
none on /proc type proc (rw,defaults)
Also, I tried ro root=/dev/sda3 and no go. I changed it back to ro root=/LABEL=/ and here is the complete error message
VFS: Cannot open root device "LABEL=/" or 00:00
Please append a correct "root=" boot option
Kernal panic: VFS: Unable to mount root fs on 00:00
Last edited by tearsforhari; 03-08-2015 at 02:36 PM.
I can get to all my files on the disk via the linux rescue CD. Can you tell me step-by-step how to mount a new external harddrive and copy the files I want?
To figure out where your data is:
(Don't do any chroot!)
1. Boot from the rescue CD. For simplicity, do not connect the external hard drive now, there should be only one hard drive connected to your computer now.
2. Say
Code:
ls /dev/sd*
. You should get an output like: sda sda1 sda2 ... There should be one entry sda and several entries of the form "sda"+digit, further they will be shortly denoted by sdan. If your output is not like that, post it here and don't proceed with this instruction.
3. Say
Code:
mount
. You will see several entries starting from /dev/sdan. This will be followed by "on" and a directory name. For each of these lines, say
Code:
ls /directory/name
. You can also see the content of subdirectories:
Code:
ls /directory/name/subdir
. If the files in /directory/name are the files you are looking for, the partition number is n.
4. If at the previous step you didn't find your files, do the following:
For each n such that sdan was listed at step 2, but there were no entry about it at step 3:
4.1 Mount it read-only to /mnt:
Code:
mount -r /dev/sdan /mnt
4.2 Look at the output of
Code:
ls /mnt
or
Code:
ls /mnt/subdirectories
. If you see the files you need, n is your partition number
4.3 Unmount the partition:
Code:
umount /dev/sdan
(end for)
An instruction explaining how to copy the files may be too complicated since now there is to few information. To get more, please do the following:
If you have a USB external drive (or a USB case with a supposedly internal drive in it):
1. boot from rescue CD whitout a connected external drive
2. connect the drive
Otherwise:
1. connect the new drive (if you want to copy files, you need to have the ability to connect both drives simultaneously)
2. boot from the rescue CD
After that, in both situations:
3. Please post the output of:
-bin/sh-2.05b#mount
rootfs on / type rootfs (rw)
/dev/root.old on / type ext2 (rw)
/proc on /proc type proc (ro)
/dev/pts on /dev/pts type devpts (ro)
none on /tmp type ramfs (rw)
none on /tmp/ramfs type ramfs (rw)
/proc/bus/usb on /proc/bus/usb type usbdevfs (rw)
/tmp/cdrom on /mnt/source type iso9660 (ro)
/tmp/loop0 on /mnt/runtime type cramfs (ro)
/dev/sda5 on /mnt/sysimage type ext3 (ro)
/dev/sda3 on /mnt/sysimage/boot type ext3 (ro)
none on /mnt/sysimage/dev/pts tpe devpts (ro)
none on /mnt/sysimage/proc type proc (ro)
-bin/sh-2.05b#ls /mnt/sysimage
bin dev initrd opt ... lib etc home(<-my files) ...
Last edited by tearsforhari; 03-08-2015 at 09:38 PM.
-bin/sh-2.05b#mount
rootfs on / type rootfs (rw)
/dev/root.old on / type ext2 (rw)
/proc on /proc type proc (ro)
/dev/pts on /dev/pts type devpts (ro)
none on /tmp type ramfs (rw)
none on /tmp/ramfs type ramfs (rw)
/proc/bus/usb on /proc/bus/usb type usbdevfs (rw)
/tmp/cdrom on /mnt/source type iso9660 (ro)
/tmp/loop0 on /mnt/runtime type cramfs (ro)
/dev/sda5 on /mnt/sysimage type ext3 (ro)
/dev/sda3 on /mnt/sysimage/boot type ext3 (ro)
none on /mnt/sysimage/dev/pts tpe devpts (ro)
none on /mnt/sysimage/proc type proc (ro)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.