Re: How to recover an integer ext3 partition from a disk with a damaged partition table ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrea Mastellone wrote, On 09/24/2008 11:12 AM:
Hi,

I have a broken solid state disk, in facts badblocks has found about a hundred of damaged blocks. The most shortcoming is that I have lost the partition table too, and I suspect that some bad blocks are in relation with the partition table data since testdisk can not write the recovered partition table to the disk. Now, I need to rescue a 10 GB ext3 partition (that is the last one on device).

So, I would like to use dd (or dd_rescue) to physically transfer the partition in a file on an ext3 USB disk, and then mount the file as an ext3 partition (like an iso file by means of loopback device, is it possible ? how ?).

Since I am poor experienced with the CHS and LBA notations, someone can me confirm this: testdisk signals that the partition begins at 6403, 1 ,1 and ends at 7798, 254, 63 in CHS notation. Since the disk has 255 heads and 63 sectors, the corrispective LBA addresses would be 102864258 and 125290810, isn't it ?

And, what of these data can I pass to dd (or dd_rescue) in order to transfer the partition ?

Or can you suggest a better way to rescue the partition ?

Thanks in advance,

Andrea


If I were in your situation and had enough GB on a spare disk to hold the whole SSD, I would do something like the following:
dd if=/dev/whole_solid_state_disk \
   of=/path/to/spareGB/SSD.image \
   conv=noerror bs=512

And then I MIGHT try some tricks to find the ext3 super blocks of the image, and/or dd about the last 10GB out of the image as a second image to do e2fsck's and loop mounting on.

if I had less space (and no time to buy an extra USB hard drive) and could translate the CHS to bytes/blocks of disk space, I would do something like:
assume 512 blocks, and HeadSector size of 7697074bytes
bc of 7697074*6402/512 yields 96243491 which is probably completely wrong.
(is this roughly a 55GB device?)

dd if=/dev/whole_solid_state_disk \
   of=/path/to/spare11GB/SSD.image \
   seek=96243491 conv=noerror bs=512


And remember, the device is already failing... you MIGHT only get one more read, so take that into consideration when choosing the method for getting the image.

--
Todd Denniston
Crane Division, Naval Surface Warfare Center (NSWC Crane)
Harnessing the Power of Technology for the Warfighter

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux