web-dev-qa-db-ja.com

7zアーカイブの移動に失敗しました。現在は読み取ることができませんが、.partという名前の元の場所にフラグメントが残っています

古い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は赤色で表示されています。これは、おそらく壊れているという点で、何かを意味していると思います

Manjaro Live ISOからfsckを実行しても、明らかな破損の兆候はありません。 /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を更新:

[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:lsls -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)
4
Frontear

(あなたの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などの Fuse を必要とするファイルシステムを使用しています。これにより、デッドロックが発生した可能性があります(キャッシュがオーバーフローするか、同様に推測されます)。

  • オリジナルが破損している場合は、Dolphin、Fuse、または使用しているNTFS-3gドライバの重大なバグであると考えられます。

今あなたの元の質問に

好奇心からあなたは実行できますか:Sudo chmod -R g+x ~/Documents/Archive/backup?どうなるのだろう。

リストしようとしているファイルが破損しているようです。これがエラーが発生する理由です:ls: cannot access 'OneDrive.7z': Input/output error。 (あなたが取った行動から、あなたのハードウェアは大丈夫​​であるように見えます)。ファイルシステム(ジャーナル?)が破損しているようです。修正を試みる前に、強く推奨します。 ddrescue。

注:fsckを実行するときは、ファイルシステムがumount(ed)でなければならないことを忘れないでください!)

コピープロセスを続行できる場合、質問に答えますか?

タスクに間違ったツールを使用しているため、できません。

rsync または同様のツールを使用して、元のファイルの正しいコピーがあることを確認する必要があります。

あなたの悪い7zファイルを回復する方法?

最善の策は、これらの指示に従うことです 破損した7zアーカイブを回復する方法 7-Zip.orgから。

次回はどうすればいいですか?

1) rsync を使用して、重要なファイルのコピー、移動などを行います

2)大きなファイルをより小さなファイルに分割する

3)圧縮時に回復情報を使用する-7Zipは回復情報の追加をサポートしていませんが、par1.0/par2.0形式で追加できます。 (Linuxの場合 par2cmdline またはgui Easy Par2 for KDE 、Windowsの場合 MultiPar または MultiPar on Github を使用できます) ; QuickPar )。

4)ストレージの場合は、zfs(ECC RAM付き)などの高度なファイルシステムを使用して、データの整合性を向上させます。

1
tukan