使用 Fstransform 轉換檔案系統

Atolstoy發表於2018-08-31

很少有人知道他們可以將檔案系統從一種型別轉換為另一種型別而不會丟失資料(即非破壞性的)。這可能聽起來像魔術,但 Fstransform 可以幾乎以任意組合將 ext2、ext3、ext4、jfs、reiserfs 或 xfs 分割槽轉換成另一型別。更重要的是,它可以直接執行,而無需格式化或複製資料。除此之外,還有一點好處:Fstransform 也可以處理 ntfs、btrfs、fat 和 exfat 分割槽。

在執行之前

Fstransform 存在一些警告和限制,因此強烈建議在嘗試轉換之前進行備份。此外,使用 Fstransform 時需要注意一些限制:

  • 你的 Linux 核心必須支援原始檔系統和目標檔案系統。聽起來很明顯,如果你想使用 ext2、ext3、ext4、reiserfs、jfs 和 xfs 分割槽,這樣不會出現風險。Fedora 支援所有分割槽,所以沒問題。
  • 將 ext2 升級到 ext3 或 ext4 不需要 Fstransform。請使用 Tune2fs。
  • 原始檔系統的裝置必須至少有 5% 的可用空間。
  • 你需要在開始之前解除安裝原始檔系統。
  • 原始檔系統儲存的資料越多,轉換的時間就越長。實際速度取決於你的裝置,但預計它大約為每分鐘 1GB。大量的硬連結也會降低轉換速度。
  • 雖然 Fstransform 被證明是穩定的,但請備份原始檔系統上的資料。

安裝說明

Fstransform 已經是 Fedora 的一部分。使用以下命令安裝:

sudo dnf install fstransform

轉換

fstransform 命令的語法非常簡單:fstransform <源裝置> <目標檔案系統>。請記住,它需要 root 許可權才能執行,所以不要忘記在開頭新增 sudo。這是一個例子:

sudo fstransform /dev/sdb1 ext4

請注意,無法轉換根檔案系統,這是一種安全措施。請改用測試分割槽或實驗性 USB 盤。與此同時,Fstransform 會在控制檯中有許多輔助輸出。最有用的部分是預計完成時間,讓你隨時瞭解該過程需要多長時間。同樣,在幾乎空的驅動器上的幾個小檔案將使 Fstransform 在一分鐘左右完成其工作,而更多真實世界的任務可能需要數小時的等待時間。

更多支援的檔案系統

如上所述,可以嘗試在 ntfs、btrfs、fat 和 exfat 分割槽使用 Fstransform。這些型別是早期實驗性的,沒有人能保證完美轉換。儘管如此,還是有許多成功案例,你可以透過在測試分割槽上使用示例資料集測試 Fstransform 來新增自己的成功案例。可以使用 --force-untested-file-systems 引數啟用這些額外的檔案系統:

sudo fstransform /dev/sdb1 ntfs --force-untested-file-systems

有時,該過程可能會因錯誤而中斷。請放心再次執行命令 —— 它可能最終會在兩、三次嘗試後完成轉換。


via: https://fedoramagazine.org/transform-file-systems-in-linux/

作者:atolstoy 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章