Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've recently built a new system, after a rather large physical injury was sustained by my previous system (a precarious balance, and gravity, were not a happy mix). Surprisingly the /home drive of that system appears to have more-or-less survived the trauma. However...

I decided to use a fresh drive for / (and swap) partition(s), and another fresh drive for the new /home. Now that's working, I decided to install the old /home drive (that I had assumed until now would be entirely dead and without capacity for use) into the new system to recover the files and data (so far as is possible).

At this point I've run into a snag: I have no idea how to go about this (with Windows it was relatively easy, the new drive would be the latest character of the alphabet, and go from there).

With 'disk utility' (System -> Administration -> Disk Utitlity) I've worked out which drive it is (/dev/sda) but clicking on 'mount' produces an error:

1: helper failed with:

mount: according to mtab, /dev/sdb1 is already mounted on /

mount failed

...if it is mounted on / I can't see it. I'm also moderately confused by the disk (device /dev/sda) being referred to as /dev/sdb1.

Any and all insights would be incredibly welcome (I've already voted for: Idea #9063: New internal hard drives default automount at Brainstorm).


Edited in response to Roland's request for a screenshot of disk utility:

Details (so far as I know them):

  1. 40GB disk is / and swap,
  2. 1.0 TB Samsung is /home
  3. 1.0 TB Hitachi is from the old system (and was the old /home drive).

Output from sudo fdisk -l pasted below:

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bef00

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      121601   976760001   83  Linux

Disk /dev/sdb: 40.0 GB, 40018599936 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00037652

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        4742    38084608   83  Linux
/dev/sdb2            4742        4866      993281    5  Extended
/dev/sdb5            4742        4866      993280   82  Linux swap / Solaris

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e8d46

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      121602   976760832   83  Linux

Edited in response to @Danny Staple's answer:

I ran the following:

udo mkdir /mnt/oldhome
sudo mount -t ext3 /dev/sda1 /mnt/oldhome

The first part works as expected, and creates the directory, the second part runs for some time and errors out with the following:

mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

I must confess that I'm beginning to believe that the SMART report, that suggests the disk is healthy with a 'few' bad sectors, may be a little inaccurate.


Edited, as requested by @Danny Staple (below), with the output from dmesg | tail:

david@morpheus:~$ dmesg | tail
[  192.008425]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[  192.008444]         3a 34 18 97 
[  192.008452] sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
[  192.008464] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 3a 34 18 97 00 01 00 00
[  192.008482] end_request: I/O error, dev sda, sector 976492695
[  192.008511] JBD: Failed to read block at offset 264
[  192.008529] JBD: recovery failed
[  192.008536] EXT3-fs (sda1): 
[  192.008541] ata1: EH complete
[  192.008547] error loading journal


Final edit:

It's my sad duty to share the news of the untimely death of one 1.0 TB Hitachi hard drive, due, I'm assuming from the heart-stopping clicks in its last moments of life, mechanical damage sustained in a fall. It, and its many contents, will be sorely missed.

Unfortunately the data was not recoverable by any of the suggestions raised in this question, which leaves me in a slightly awkward position: I don't want to have a non-answered question, so I'll side with the community votes and accept @Danny Staple's answer, since it seemed the most promising suggestion (and, again, was the most community-rewarded answer), but I will note for late-comers in future that this question was not (really) resolved, so the solution offered by @Danny may, or may not, work for others.

Thank you all for your help, and suggestions.

share|improve this question
    
What's really a pain in the butt is that the drive is so massive... You really should do all of your file recovery operations on a bit-for-bit copy of the drive rather than the drive itself. That said, have you tried running sudo fsck /dev/sda1? That may be able to clear up some of the filesystem errors; its worth a shot at least. –  Nick Pascucci Jan 1 '11 at 2:45
    
I hadn't considered the bit-for-bit copy approach, I also wouldn't yet know how, as for the fsck? Good idea; I'll give that a go when I get home, thank you =) –  David Thomas Jan 1 '11 at 14:17
    
how are you sure the drive is dead? btw - you might be able to get your data back, if you can find a professional file recovery service. –  RolandiXor Jan 2 '11 at 20:18
    
@Roland: my certainty is founded upon some painful-sounding clicks, and a couple of loud screeching sounds, that put me in mind of a horror movie. That and any attempts to access the drive result in (from memory, as I've since removed it from the system) errors to the effect of zero-length blocks, and warnings that it's read-only and/or unreadable. To be fair I'm not entirely certain, but it seems relatively conclusive. And none of the data was sufficiently important that it's worth a professional recovery service. –  David Thomas Jan 2 '11 at 20:55
    
Screeching and crunching may mean that heads have basically hit the platters - pretty physical damage, and while some bits may be salvagable by a pro-service, there will be areas with enough possible damage that chunks are unrecoverable. Since I had enough data to put on a 1tb drive, I bought two and use the other as backup only (backupd/time machine). –  Danny Staple Jan 2 '11 at 23:34
add comment

2 Answers 2

up vote 6 down vote accepted

You actually want here to mount /dev/sda1 and not sdb1.

You should be able to mount that from a command line:

sudo mkdir /mnt/oldhome
sudo mount -t ext3 /dev/sda1 /mnt/oldhome

And your old home should now be on /mnt/oldhome.

share|improve this answer
    
this should do the trick. Only problem will be that he will need to rerun this every time he needs access. –  RolandiXor Dec 31 '10 at 21:08
    
If this works for him (ie the drive and partition are good), then it is an easy next step for us here to sort out an fstab entry for it. –  Danny Staple Dec 31 '10 at 21:15
    
There is good, and bad, news. The mkdir works (as expected), however the the mount runs for some time before erroring-out. The error message is posted in the latest edit to the question. I am, definitely, beginning to consider that the disk, or at least its data, may well be beyond recovery at this point. –  David Thomas Dec 31 '10 at 21:44
    
Can you try that mount again, and then add the output of `dmesg | tail' to the question? It may reveal something. –  Danny Staple Jan 1 '11 at 1:24
    
@Danny, I'll do that as soon as I get home from work, sure. I'm assuming I just add dmesg | tail to the end of the mount command? –  David Thomas Jan 1 '11 at 14:20
show 3 more comments

actually in disk utility I'm driven to suppose you are trying to mount / which is already your root drive. So you need to mount the new drive (find it by running sudo fdisk -l in a terminal) and add it to your fstab

If you can, please add a screenshot of disk utility as well, so we can see what it sees.

I have a couple links here that explain how to add the drive to the fstab. The one catch might be adding the UUID, I'm not sure if that is covered.

http://www.bradtrupp.com/ubuntu-add-hard-drive.html

https://help.ubuntu.com/community/InstallingANewHardDrive

share|improve this answer
    
please see the edits to the question. I'm somewhat ashamed to say (having only recently moved to Ubuntu, or Linux at al) that, while I know where to find fstab, I have no idea what to add to it to safely edit it. –  David Thomas Dec 31 '10 at 19:51
    
Danny Staple added some useful instructions. As for editing the fstab I'll add a link for you (if someone else doesn't beat me too it) a bit later, as I (right now) am a bit too busy to properly update my question with proper details. –  RolandiXor Dec 31 '10 at 21:09
    
Much appreciated, and I do thank you for your time. (And I do, genuinely, appreciate how time-consuming it can be, helping us newbies find our way.) Many thanks! =) –  David Thomas Dec 31 '10 at 21:42
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.