Filesystems

如何檢查具有 BTRFS 文件系統的加密 (Veracrypt) 外部 (USB) 磁碟?

  • September 30, 2021

我想測試磁碟的物理錯誤是否是不可能的,磁碟的文件系統錯誤。該磁碟是典型的 USB 外部驅動器。磁碟(不是分區級別,而是整個磁碟本身)使用 VeraCrypt 進行加密。我儲存文件的分區正在使用 Btrfs。方法是什麼?


以下是我自己嘗試過的事情:

首先,網路搜尋結果說badblocks,但其他結果說它現在是一個過時的工具。當我執行它時,它要求只讀的東西,這讓我認為它可能會破壞現有文件,所以我取消了它。

然後,我嘗試使用 VeraCrypt 卷上的“檢查文件系統”上下文菜單。但是它顯示了一個“fsck”視窗,上面寫著“如果您希望檢查 BTRFS 文件系統的一致性或修復損壞的文件系統,請參閱 btrfs(8) 子命令 ‘check’”並退出。

在此處輸入圖像描述

我打開了一個終端並嘗試執行btrfs check,但是“sudo btrfs check(設備名稱)”失敗,“在 /dev/sdd 上找不到有效的 btrfs”(可能是因為整個磁碟都被加密了)和“sudo btrfs check(解密的目錄)”因“不是正常文件或塊設備”而失敗。

在此處輸入圖像描述


PS:感謝接受的答案,我得到了正確的設備名稱。我為以後遇到同樣問題的人添加以下內容。我使用的評論是sudo btrfs --force --check-data-csum -p /dev/mapper/veracrypt1。我添加了--check-data-csum,因為沒有它,它只檢查磁碟的元數據校驗和,而不是實際文件,所以我不得不再次執行測試(再次執行所有先前的檢查)。-p似乎是一個不錯的選擇,因為它顯示到目前為止已經檢查了多少項目。

如果要檢查磁碟是否有錯誤,可以使用SMART

smartctl -a /dev/sdd

或者,如果您想要 GUI,您可以使用 GNOME 磁碟和SMART Data & Self-Test菜單選項。(並非所有外部驅動器都支持 SMART,這可能不適合您。)

要檢查文件系統,您不能使用/dev/sdd它,因為它保存的是加密數據,而不是“可讀”的 btrfs 文件系統。用於lsblk獲取用於訪問明文數據的 dm-crypt 設備的名稱(可能是/dev/mapper/veracrypt1)並對其執行文件系統檢查:

btrfs check /dev/mapper/veracrypt1

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