無法移動 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:更新
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)
我想我有預感發生了什麼(基於你的 dmesg)。
- 在您搬家過程中發生的事情是您的 Dolphin 在搬家過程中墜毀了。
Apr 29 23:14:28 frontear-net kernel: dolphin D 0 567940 1 0x00004084 Apr 29 23:14:28 frontear-net kernel: Call Trace: ...
- 您使用了一些需要FUSE的文件系統,例如 NTFS 等。這可能導致死鎖(瘋狂猜測記憶體溢出或類似情況)
- 如果原件損壞,則說明您可能正在使用的 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 文件?
最好的辦法是遵循這些說明 -如何從 7-zip.org 恢復損壞的 7z 存檔。
下次怎麼做比較好?
使用rsync複製、移動等重要文件
將大文件拆分成更小的文件
3)壓縮時使用恢復資訊——7zip不支持添加恢復資訊,但可以添加par1.0/par2.0格式。(對於 linux 使用par2cmdline或 gui Easy Par2 用於 KDE,對於 Windows,您可以在 Github 上使用MultiPar或MultiPar ;QuickPar)。
- 對於儲存,使用 zfs 等高級文件系統(帶有 ECC RAM)來提高數據完整性