1 |
>>>>> I have a USB stick with a crucial file on it (and only an old backup |
2 |
>>>>> elsewhere). It's formatted NTFS because I wanted to be able to open |
3 |
>>>>> the file on various Gentoo systems and my research indicated that |
4 |
>>>NTFS |
5 |
>>>>> was the best solution. |
6 |
>>>>> |
7 |
>>>>> I decided to copy a 10GB file from a USB hard disk directly to the |
8 |
>>>USB |
9 |
>>>>> stick this morning and I ran into errors so I canceled the operation |
10 |
>>>>> and now the file manager (thunar) has been stuck for well over an |
11 |
>>>hour |
12 |
>>>>> and I'm getting errors like these over and over: |
13 |
>>>>> |
14 |
>>>>> [ 2794.535814] Buffer I/O error on dev sdc1, logical block 2134893, |
15 |
>>>>> lost async page write |
16 |
>>>>> [ 2794.535819] Buffer I/O error on dev sdc1, logical block 2134894, |
17 |
>>>>> lost async page write |
18 |
>>>>> [ 2794.535822] Buffer I/O error on dev sdc1, logical block 2134895, |
19 |
>>>>> lost async page write |
20 |
>>>>> [ 2794.535824] Buffer I/O error on dev sdc1, logical block 2134896, |
21 |
>>>>> lost async page write |
22 |
>>>>> [ 2794.535826] Buffer I/O error on dev sdc1, logical block 2134897, |
23 |
>>>>> lost async page write |
24 |
>>>>> [ 2794.535828] Buffer I/O error on dev sdc1, logical block 2134898, |
25 |
>>>>> lost async page write |
26 |
>>>>> [ 2794.535830] Buffer I/O error on dev sdc1, logical block 2134899, |
27 |
>>>>> lost async page write |
28 |
>>>>> [ 2794.535832] Buffer I/O error on dev sdc1, logical block 2134900, |
29 |
>>>>> lost async page write |
30 |
>>>>> [ 2794.535835] Buffer I/O error on dev sdc1, logical block 2134901, |
31 |
>>>>> lost async page write |
32 |
>>>>> [ 2794.535837] Buffer I/O error on dev sdc1, logical block 2134902, |
33 |
>>>>> lost async page write |
34 |
>>>>> [ 2842.568843] sd 9:0:0:0: [sdc] tag#0 FAILED Result: |
35 |
>>>>> hostbyte=DID_ERROR driverbyte=DRIVER_SENSE |
36 |
>>>>> [ 2842.568849] sd 9:0:0:0: [sdc] tag#0 Sense Key : Hardware Error |
37 |
>>>[current] |
38 |
>>>>> [ 2842.568852] sd 9:0:0:0: [sdc] tag#0 Add. Sense: No additional |
39 |
>>>sense |
40 |
>>>>> information |
41 |
>>>>> [ 2842.568857] sd 9:0:0:0: [sdc] tag#0 CDB: Write(10) 2a 00 01 04 a4 |
42 |
>>>>> 58 00 00 f0 00 |
43 |
>>>>> [ 2842.568859] blk_update_request: I/O error, dev sdc, sector |
44 |
>>>17081432 |
45 |
>>>>> [ 2842.568862] buffer_io_error: 20 callbacks suppressed |
46 |
>>>>> |
47 |
>>>>> nmon says sdc is 100% busy but doesn't show any reading or writing. |
48 |
>>>I |
49 |
>>>>> once pulled the USB stick in a situation like this and I ended up |
50 |
>>>>> having to reformat it which I need to avoid this time since the file |
51 |
>>>>> is crucial. What should I do? |
52 |
>>>>> |
53 |
>>>>> - Grant |
54 |
>>>> |
55 |
>>>> Whatever you do, do NOT try to unplug the USB you were writing to |
56 |
>>>unless you |
57 |
>>>> first manage to successfully unmount it. If you do pull the USB |
58 |
>>>stick |
59 |
>>>> regardless of its current I/O state you will likely corrupt whatever |
60 |
>>>file you |
61 |
>>>> were writing onto, or potentially more. |
62 |
>>>> |
63 |
>>>> You could well have a hardware failure here, which manifested itself |
64 |
>>>during |
65 |
>>>> your copying operation. Things you could try: |
66 |
>>>> |
67 |
>>>> Run lsof to find out which process is trying to access the USB fs and |
68 |
>>>kill it. |
69 |
>>>> Then see if you can remount it read-only. |
70 |
>>>> |
71 |
>>>> Run dd, dcfldd, ddrescue to make an image of the complete USB stick |
72 |
>>>on your |
73 |
>>>> hard drive and then try to recover any lost files with testdisk. |
74 |
>>>> |
75 |
>>>> Use any low level recovery tools the manufacturer may offer - they |
76 |
>>>will likely |
77 |
>>>> require MSWindows. |
78 |
>>>> |
79 |
>>>> Shut down your OS and disconnect the USB stick, then reboot and try |
80 |
>>>again to |
81 |
>>>> access it, although I would first create an image of the device using |
82 |
>>>any of |
83 |
>>>> the above tools. |
84 |
>>> |
85 |
>>> |
86 |
>>>dd errored and lsof returned no output at all so I tried to reboot but |
87 |
>>>even that hung after the first 2 lines of output so I did a hard reset |
88 |
>>>after waiting an hour or so. Once it came back up I tried to do 'dd |
89 |
>>>if=/dev/sdb1 of=usbstick' but I got this after awhile: |
90 |
>>> |
91 |
>>>dd: error reading ‘/dev/sdb1’: Input/output error |
92 |
>>>16937216+0 records in |
93 |
>>>16937216+0 records out |
94 |
>>>8671854592 bytes (8.7 GB) copied, 230.107 s, 37.7 MB/s |
95 |
>>> |
96 |
>>>It's a 64GB USB stick. dmesg says: |
97 |
>>> |
98 |
>>>[ 744.729873] sd 8:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK |
99 |
>>>driverbyte=DRIVER_SENSE |
100 |
>>>[ 744.729879] sd 8:0:0:0: [sdb] tag#0 Sense Key : Medium Error |
101 |
>>>[current] |
102 |
>>>[ 744.729883] sd 8:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read |
103 |
>>>error |
104 |
>>>[ 744.729886] sd 8:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 01 02 78 e0 |
105 |
>>>00 00 f0 00 |
106 |
>>>[ 744.729889] blk_update_request: critical medium error, dev sdb, |
107 |
>>>sector 16939232 |
108 |
>>>[ 744.763468] sd 8:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK |
109 |
>>>driverbyte=DRIVER_SENSE |
110 |
>>>[ 744.763472] sd 8:0:0:0: [sdb] tag#0 Sense Key : Medium Error |
111 |
>>>[current] |
112 |
>>>[ 744.763474] sd 8:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read |
113 |
>>>error |
114 |
>>>[ 744.763478] sd 8:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 01 02 79 00 |
115 |
>>>00 00 04 00 |
116 |
>>>[ 744.763480] blk_update_request: critical medium error, dev sdb, |
117 |
>>>sector 16939264 |
118 |
>>>[ 744.763482] Buffer I/O error on dev sdb1, logical block 4234304, |
119 |
>>>async page read |
120 |
>>>[ 744.786743] sd 8:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_OK |
121 |
>>>driverbyte=DRIVER_SENSE |
122 |
>>>[ 744.786747] sd 8:0:0:0: [sdb] tag#0 Sense Key : Medium Error |
123 |
>>>[current] |
124 |
>>>[ 744.786750] sd 8:0:0:0: [sdb] tag#0 Add. Sense: Unrecovered read |
125 |
>>>error |
126 |
>>>[ 744.786753] sd 8:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 01 02 79 04 |
127 |
>>>00 00 04 00 |
128 |
>>>[ 744.786755] blk_update_request: critical medium error, dev sdb, |
129 |
>>>sector 16939268 |
130 |
>>>[ 744.786758] Buffer I/O error on dev sdb1, logical block 4234305, |
131 |
>>>async page read |
132 |
>>> |
133 |
>>>I haven't tried to mount it yet. Any suggestions? |
134 |
>>> |
135 |
>>>- Grant |
136 |
>> |
137 |
>> Try ddrescue. |
138 |
>> It tries to skip the really bad parts. |
139 |
>> |
140 |
>> Then try data recovery on copies of the resulting image file. |
141 |
> |
142 |
> |
143 |
> I did: |
144 |
> |
145 |
> # ddrescue -d -r3 /dev/sdb usb.img usb.log |
146 |
> GNU ddrescue 1.20 |
147 |
> Press Ctrl-C to interrupt |
148 |
> rescued: 62742 MB, errsize: 32768 B, current rate: 0 B/s |
149 |
> ipos: 8672 MB, errors: 1, average rate: 14878 kB/s |
150 |
> opos: 8672 MB, run time: 1h 10m 17s, remaining time: n/a |
151 |
> time since last successful read: 5s |
152 |
> |
153 |
> # mount -o loop,ro usb.img /mnt/usbstick |
154 |
> mount: wrong fs type, bad option, bad superblock on /dev/loop0, |
155 |
> missing codepage or helper program, or other error |
156 |
> |
157 |
> In some cases useful info is found in syslog - try |
158 |
> dmesg | tail or so. |
159 |
> |
160 |
> # mount -o loop,ro -t ntfs usb.img /mnt/usbstick |
161 |
> NTFS signature is missing. |
162 |
> Failed to mount '/dev/loop0': Invalid argument |
163 |
> The device '/dev/loop0' doesn't seem to have a valid NTFS. |
164 |
> Maybe the wrong device is used? Or the whole disk instead of a |
165 |
> partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around? |
166 |
> |
167 |
> How else can I get my file from the ddrescue image of the USB stick? |
168 |
> |
169 |
> - Grant |
170 |
|
171 |
|
172 |
Ah, I got it, I just needed to specify the offset when mounting. |
173 |
Thank you so much everyone. Many hours of work went into the file I |
174 |
just recovered. |
175 |
|
176 |
So I'm done with NTFS forever. Will ext2 somehow allow me to use the |
177 |
USB stick across Gentoo systems without permission/ownership problems? |
178 |
|
179 |
- Grant |