將文件夾移動到 BTRFS 子卷
我最近
/home
使用 BTRFS 格式化了我的分區,但由於這是我第一次接觸這個 FS,我不知道子卷。昨天我重新安裝了我的 Linux Mint 並選擇將我現有的主分區掛載為
/home
. 現在我很驚訝,我的文件最初似乎失去了,但後來我注意到 Linux Mint 在@home
我現有的使用者主文件夾旁邊創建了一個子卷。目前情況是以下磁碟佈局:250 GiB SSD – 64 GiB / (BTRFS) – 8 GiB swap – ~170 GiB /home (BTRFS)
當我嘗試將我的主文件夾移動到
@home
子卷中時,我收到一個錯誤,即沒有足夠的空間(?!)雖然這個分區上還剩下大約 50 GiB,我想移動,而不是複制文件。我現在沒有任何其他磁碟可以重新格式化為任何非 NTFS 格式,這將需要保留任何符號連結..現在我有一個問題:如何正確地將文件夾中的文件移動到子卷中?為什麼移動文件不起作用?
您可以嘗試使用
cp -a --reflink=always /home/<whatever> /home/@home/
. 就 Linux VFS(虛擬文件系統)而言,這是一個真正的副本,但在 BTRFS 中,文件將共享相同的塊/擴展,因此在您修改文件之前不需要額外的空間。如果復製成功,修改
/etc/fstab
為掛載子捲而不是整個文件系統:/dev/sdXn /home btrfs subvol=@home
然後,重新啟動。如果一切順利,您可以刪除原始文件:
mount /dev/sdXn /mnt pushd /mnt rm -fR <whatever> popd umount /mnt
當然,在嘗試任何這些之前,您應該進行備份。
下一個
一旦一切順利,請閱讀BTRFS wiki,尤其是Guides and Usage Information下的所有文章。BTRFS 非常簡潔,但它不像傳統的 Linux 文件系統(extN、ReiserFS 等)那樣工作。這不是人們可以跳入其中並在您進行時弄清楚的事情之一。要很好地使用 BTRFS,您必須知道自己在做什麼。閱讀文件是最好的方法。
我碰巧喜歡 BTRFS,我希望你也喜歡它。