古い7zアーカイブを古いext4パーティションから現在のパーティションに移動しようとしていますが、プロセス中にランダムにキャンセルされているようです。新しい場所には不完全なアーカイブ(読み取れません)があるだけでなく、古い場所にもファイルがあります7z.part
。どういうわけか移動プロセスを続行できますか?単にファイルエクスプローラのUIだけでは分からないようですが、ターミナル命令があるのか気になります。
古いディレクトリで使用すると、ls
古い7zファイルが表示されますが、名前は赤で表示され、lsはファイルを読み取ることができないと主張します(I / Oエラー)。新しいディレクトリで使用すると赤色で表示されますが、同じエラーは発生しません。
以前のディレクトリは ~/Documents/Archive/backup です(以前の Linux インストールからのものであるため、別のパーティションにあります)。
[frontear@frontear-net backup]$ ls
ls: cannot access 'OneDrive.7z': Input/output error
OneDrive.7z OneDrive.7z.part
ls
OneDrive.7zがここにあるという主張にもかかわらず、隠しファイルが有効になっていても、ファイルエクスプローラでは実際には表示されません。
現在のディレクトリは〜/Desktop/Archive/backup(現在のLinuxインストール)です。
[frontear@frontear-net backup]$ ls
OneDrive.7z
どちらのコマンドでも、OneDrive.7zは赤です。何か意味があるようです。おそらくダメージを受けたからです。
fsck
Manjaro Live ISOで実行すると、目立つ損傷の兆候は見られません。/dev/sda2
現在のパーティション/dev/sda3
ですが、古いパーティションです。
[manjaro manjaro]$ sudo fsck /dev/sda2
fsck from util-linux 2.34
e2fsck 1.45.4 (23-Sep-2019)
/dev/sda2: clean, 738853/39223296 files, 76011466/156883968 blocks
[manjaro manjaro]# fsck /dev/sda3
fsck from util-linux 2.34
e2fsck 1.45.4 (23-Sep-2019)
Superblock last write time is in the future.
(by less than a day, probably due to the hardware clock being incorrectly set)
/dev/sda3: clean, 4362438/9715712 files, 18432430/38835968 blocks
編集者:fsck
Timothy Baldwinのリクエストに応じて更新されました:
[manjaro manjaro]# fsck -f /dev/sda2
fsck from util-linux 2.34
e2fsck 1.45.4 (23-Sep-2019)
Pass 1: Checking inodes, blocks, and sizes
Inode 19400943 extent tree (at level 2) could be narrower. Optimize<y>? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 757397/39223296 files (0.5% non-contiguous), 80084462/156883968 blocks
[manjaro manjaro]# fsck -f /dev/sda3
fsck from util-linux 2.34
e2fsck 1.45.4 (23-Sep-2019)
Superblock last mount time is in the future.
(by less than a day, probably due to the hardware clock being incorrectly set)
Superblock last write time is in the future.
(by less than a day, probably due to the hardware clock being incorrectly set)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda3: 4362438/9715712 files (0.1% non-contiguous), 18432430/38835968 blocks
編集2:ls
更新ls -l
:
[frontear@frontear-net ~]$ cd ~/Documents/Archive/backup/
[frontear@frontear-net backup]$ ls -l
ls: cannot access 'OneDrive.7z': Input/output error
total 2168832
-????????? ? ? ? ? ? OneDrive.7z
-rw------- 1 frontear frontear 2220883968 Apr 30 06:46 OneDrive.7z.part
[frontear@frontear-net backup]$ cd ~/Desktop/Archive/backup/
[frontear@frontear-net backup]$ ls -l
total 2446952
-rw------- 1 frontear frontear 2220883968 Apr 29 23:13 OneDrive.7z
編集3:smartctl
確認を追加しました。
[manjaro@manjaro ~]$ sudo smartctl -a /dev/sda | sed -n '/Threshold/,/^$/p'
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0004 142 142 000 Old_age Offline - 70
3 Spin_Up_Time 0x0007 128 128 024 Pre-fail Always - 177 (Average 180)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 2450
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000a 100 100 000 Old_age Always - 0
8 Seek_Time_Performance 0x0004 118 118 000 Old_age Offline - 33
9 Power_On_Hours 0x0012 097 097 000 Old_age Always - 23216
10 Spin_Retry_Count 0x0012 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 2388
192 Power-Off_Retract_Count 0x0032 098 098 000 Old_age Always - 2461
193 Load_Cycle_Count 0x0012 098 098 000 Old_age Always - 2461
194 Temperature_Celsius 0x0002 119 119 000 Old_age Always - 46 (Min/Max 20/53)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0012 097 097 000 Old_age Always - 23203
241 Total_LBAs_Written 0x0012 100 100 000 Old_age Always - 171426971200
242 Total_LBAs_Read 0x0012 100 100 000 Old_age Always - 228792438899
編集4:badblocks
確認
[manjaro@manjaro ~]$ sudo badblocks -sv /dev/sda
Checking blocks 0 to 976762583
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)
答え1
私は(あなたのdmesgに基づいて)何が起こっているのか予感があると思います。
移動中に起こるのは、移動中にイルカが衝突することです。
Apr 29 23:14:28 frontear-net kernel: dolphin D 0 567940 1 0x00004084 Apr 29 23:14:28 frontear-net kernel: Call Trace: ...
すでに必要なファイルシステムの一部を使用しています。ヒューズNTFSなどと同じです。これはデッドロックを引き起こす可能性があります(バッファオーバーフローまたはそれに似ていると推測されます)。
ソースが破損している場合、使用しているDolphin、FUSE、またはNTFS-3gドライバに重大なバグがある可能性があります。
それでは、元の質問に答えてみましょう。
好奇心で以下を実行できます
sudo chmod -R g+x ~/Documents/Archive/backup
。私は何が起こるのか知りたいです。
リストしようとしているファイルが破損しているようです。これにより、次のエラーが発生しますls: cannot access 'OneDrive.7z': Input/output error
。 (あなたが取った措置として見ると、あなたのハードウェアは大丈夫だと思います)。ファイルシステム(ジャーナル?)が破損しているようです。修正しようとする前におすすめたとえば、ddrescueを介してディスクイメージを作成します。
(メモ:これを行うときにfsck
ファイルシステムを(ed)する必要があることを忘れないでくださいumount
。 )
あなたの質問に答えると、コピープロセスを続行できますか?
いいえ、操作に誤ったツールを使用しているためです。
使用する必要があります同期あるいは、同様のツールを使用して、元のファイルの正しいコピーを入手することもできます。
悪い7zファイルを修復する方法は?
最良の方法は、次のガイドラインに従うことです。破損した7zアーカイブを修復する方法7-zip.orgから。
次は何が上手くいけばいいのでしょうか?
1) 使用同期コピー、移動、その他の重要なファイルに使用されます。
2) 大きなファイルを小さなファイルに分割
3) 圧縮時のリカバリ情報の使用 - 7zipではリカバリ情報の追加をサポートしていませんが、par1.0/par2.0形式で追加できます。 (Linux用par2cmdlineまたはグラフィカルユーザーインターフェースKDE用シンプルPar2、Windowsの場合は、次のものを使用できます。多くのパーティーまたはGithubのMultiPar;高速波)。
4)ストレージの場合は、zfs(ECC RAMを含む)などの高度なファイルシステムを使用してデータの整合性を向上させます。