[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-ddrescue] Question about "No space left on device" message
From: |
Florian Sedivy |
Subject: |
Re: [Bug-ddrescue] Question about "No space left on device" message |
Date: |
Mon, 01 Dec 2014 12:07:58 +0100 |
EDIT: The numbered paragraph formatting I used got lost in the mailing list. So
for better readability I send this again (with minor structural clarifications
and some edits).
Exactly, your rescue disk was too small. Also:
NEVER run ddrescue without a log file (except you know exactly why not)!
NEVER try to mount or repair your only copy of a rescued drive with write
access, especially when the rescue is not finished yet!
Read the ddrescue manual!
But lets look forward. How to continue from this point? I see two paths:
A)
You can start over with a bigger drive (this time with a log file and I suggest
writing to an image instead of directly to the device), and hope that the
damaged hard drive has enough life left for another complete run. You should
however keep the first destination drive, just in case the second try gets
worse. There are ways to combine partial results. EDIT: If you already ran some
file system repairs to the first rescue drive, this is your only viable option.
B)
Alternatively, if you want to continue (on a bigger drive) without losing the
1646 GB of progress you already made, this would have been really easy IF you
had used a log file. Unfortunately it seems you did not, so things get
complicated. A possible recipe could be:
1.
Copy the complete 2TB from the first rescue drive to the new bigger one. You
can use ddrescue (with log file), and I suggest writing to an image file this
time.
1a. EDIT
It seems from your mail that somehow the partition map on your first rescue
drive was already corrected to reflect the smaller size. So rescue just the
first 39 blocks (19968 bytes) from the damaged drive again with ddrescue (to
the new rescue destination and with a fresh log file) using the --size option.
2.
Generate a log file from this image (or from the first rescue drive) with
ddrescue's "generate" mode. This will not be perfect, because the WD Passport
most certainly was not completely empty (= only zeros) before you started, but
it will be better than no log file. Make a backup copy of that log file.
3.
Continue rescuing data with ddrescue from the damaged drive to the new
destination using the generated log file from step 2 in all runs.
4.
When totally finished, try to mount the rescued image READ ONLY, or make
another copy and try to mount that. Do not yet try any repairs.
5.
If the result is satisfying, you are ready.
If the rescued volume won't mount, it might be due to remaining errors, but
maybe also because of the less than perfect log file from step 2. If the data
is important enough, you might want to try the next optional steps before
moving on to repairing or raw data extraction.
6.
Buy another identical Western Digital "My Passport for Mac" 2TB external hard
drive. Plug it in like you did with the first one and generate another log file
from this new drive, like you did in step 2. This will hopefully produce a log
file containing those areas, that were non-zero also on the first rescue drive
before you started.
7.
Run ddrescue once more from the damaged drive to the rescue target, this time
using the log file from step 6. as "rescue domain" (option -m
--domain-logfile), and specifying a FRESH log file (just use a different name).
If some areas of the damaged drive were never tried before (because they were
skipped in the first run, but the position on the rescue drive was not
empty=zero), they might now be copied.
If any of these steps doesn't make sense to you or doesn't easily translate
into actual commands, read the manuals until they do.
Greetings,
Florian
Am 30.11.2014 um 19:38 schrieb Robert Trevellyan:
> Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
> Disk /dev/sdh: 1.8 TiB, 2000365289472 bytes, 3906963456 sectors
>
> Your destination disk is smaller than your source disk.
>
> Robert Trevellyan
> www.trevellyan.biz
> 518 392 0846
>
> On Sun, Nov 30, 2014 at 1:31 PM, Tom Williams <address@hidden> wrote:
>
>> I'm using ddrescue 1.17 on Ubuntu 14.10 Linux (64-bit) to copy data from
>> one external 2TB hard drive to another 2TB external hard drive. Both
>> drives are connected to my system via USB ports. I let ddrescue run
>> for 6 days before it finally stopped with the following message:
>>
>> ddrescue: write error: No space left on device
>>
>> Here is the command I issued:
>>
>> address@hidden:~$ sudo ddrescue -r3 /dev/sdg /dev/sdh
>> ddrescue: Output file exists and is not a regular file.
>> ddrescue: Use '--force' if you really want to overwrite it, but be
>> aware that all existing data in the output file will be lost.
>> Try 'ddrescue --help' for more information.
>> address@hidden:~$ sudo ddrescue -r3 /dev/sdg /dev/sdh --force
>>
>>
>> GNU ddrescue 1.17
>> Press Ctrl-C to interrupt
>> rescued: 1646 GB, errsize: 354 GB, current rate: 720 kB/s
>> ipos: 2000 GB, errors: 9726, average rate: 4289 kB/s
>> opos: 2000 GB, time since last successful read: 0 s
>> Copying non-tried blocks...
>> ddrescue: write error: No space left on device
>> address@hidden:~$
>>
>> /dev/sdg is the original hard drive and /dev/sdh is the new, empty hard
>> drive. Both hard drives are 2TB in size:
>>
>> Disk /dev/sdg: 1.8 TiB, 2000398934016 bytes, 3907029168 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
>> Disklabel type: gpt
>> Disk identifier: F2423982-AD62-4A91-9305-7E8444C65BDB
>>
>> Device Start End Sectors Size Type
>> /dev/sdg1 40 409639 409600 200M EFI System
>> /dev/sdg2 409640 3906766983 3906357344 1.8T Apple HFS/HFS+
>>
>> GPT PMBR size mismatch (3906963448 != 3906963455) will be corrected by
>> w(rite).
>>
>> Disk /dev/sdh: 1.8 TiB, 2000365289472 bytes, 3906963456 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
>> Disklabel type: gpt
>> Disk identifier: A58EACF6-DE44-43F8-9150-47FA3842849B
>>
>> Device Start End Sectors Size Type
>> /dev/sdh1 40 409639 409600 200M EFI System
>> /dev/sdh2 409640 3906701271 3906291632 1.8T Apple HFS/HFS+
>>
>> The new hard drive, /dev/sdh, is a Western Digital "My Passport for Mac"
>> 2TB external hard drive.
>>
>> I did some web searches on the "write error: No space left on device"
>> message I received and didn't find anything relating to what I'm
>> experiencing. I did find some discussion about the logfile encountering
>> a space issue, but I'm not using a logfile (no particular reason why I
>> didn't).
>>
>>
>> When I try to mount the new drive, it doesn't mount and I get these
>> errors in dmesg output:
>>
>> [406070.521186] hfsplus: invalid secondary volume header
>> [406070.521193] hfsplus: unable to find HFS+ superblock
>> [406080.059713] hfsplus: invalid secondary volume header
>> [406080.059719] hfsplus: unable to find HFS+ superblock
>>
>> Now, while ddrescue was running, periodically I would hear loud
>> clicking, more like "clacking," sounds from the original hard drive.
>> Apparently, the drive was dropped and the owner was concerned about
>> losing photos. That's why I suggested getting the data off the original
>> hard drive NOW, while the data is still accessible.
>>
>> Any ideas why I received the "write error: Np space left on device"
>> message when both drives are the same size, 2TB?
>>
>> Thanks!
>>
>> Peace...
>>
>> Tom
>>
>> --
>> /When we dance, you have a way with me,
>> Stay with me... Sway with me.../
>> _______________________________________________
>> Bug-ddrescue mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/bug-ddrescue
>>
> _______________________________________________
> Bug-ddrescue mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-ddrescue
- Re: [Bug-ddrescue] Question about "No space left on device" message,
Florian Sedivy <=