Ubuntu

刪除目錄時出錯:目錄不為空

  • February 15, 2021

我嘗試刪除一個目錄(rm -rf),我得到:

rm: cannot remove 'EMBA': Directory not empty

此外,當我嘗試列出我得到的目錄時:

ls: reading directory 'EMBA': Input/output error

目錄 EMBA 有 777 作為權限,沒有程序正在使用它。

作業系統為 Ubuntu 20.04,文件系統為 NTFS。

更新

按照 roaima 的回答,我嘗試:

1 - 檢查 dmesg 或 journalctl -k 的最近輸出以查找與磁碟 I/O 錯誤對應的消息

I can't find any error messages

2 - 檢查 SMART 屬性以查看磁碟是否正在死亡,或者它是否只是文件系統 (smartctl -x)

I think there is notting relevant

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
 1 Raw_Read_Error_Rate     0x000f   080   064   006    Pre-fail  Always       -       108362796
 3 Spin_Up_Time            0x0003   097   096   000    Pre-fail  Always       -       0
 4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       39
 5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
 7 Seek_Error_Rate         0x000f   076   060   045    Pre-fail  Always       -       37146160
 9 Power_On_Hours          0x0032   097   097   000    Old_age   Always       -       3456 (84 124 0)
10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       38
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0 0 0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   070   061   040    Old_age   Always       -       30 (Min/Max 24/34)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       15
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       643
194 Temperature_Celsius     0x0022   030   040   000    Old_age   Always       -       30 (0 19 0 0 0)
195 Hardware_ECC_Recovered  0x001a   080   064   000    Old_age   Always       -       108362796
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       667h+38m+56.521s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       6276317084
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       8419504151

3 - 使用 ntfsfix 檢查文件系統。我得到:

Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb2 was processed successfully.

4 - 使用 Windows 作業系統檢查文件系統

Windows has encountered errors on the volume 

修復錯誤並重新啟動系統後,刪除目錄的錯誤已解決

文件系統或磁碟出現故障 ( Input/output error)。你應該嘗試的事情包括,

  1. 檢查最近的輸出dmesgjournalctl -k查找與磁碟 I/O 錯誤對應的消息
  2. 檢查 SMART 屬性以查看磁碟是否正在當機,或者它是否只是文件系統(smartctl -x /dev/sdb替換sdb為磁碟的正確設備名稱)
  3. 檢查文件系統(ntfsfix /dev/sdb1,替換sdb1為正確的設備名稱分區號)
  4. 使用 Windows 作業系統檢查文件系統

引用自:https://unix.stackexchange.com/questions/634567