BTRFS 無法刪除快照 - 不允許操作

BTRFS 無法刪除快照 - 不允許操作

我無法刪除 btrfs 子卷“2014-07-28”,它是 kubuntu 安裝程式創建的“@”快照,用作 kubuntu 根目錄。

teneighty@teneighty-MS-7924:/$ sudo mount -o subvolid=5 /dev/sda5 /mnt
teneighty@teneighty-MS-7924:/$ sudo btrfs sub list /mnt
ID 257 gen 1782 top level 5 path @
ID 258 gen 1574 top level 5 path @home
ID 266 gen 1761 top level 5 path 2014-07-28
teneighty@teneighty-MS-7924:/$ ls /mnt
@  2014-07-28  @home
teneighty@teneighty-MS-7924:/$ sudo btrfs sub del /mnt/2014-07-28/
Delete subvolume '/mnt/2014-07-28'
ERROR: cannot delete '/mnt/2014-07-28' - Operation not permitted

嘗試 apt-btrfs-snapshot 刪除:

teneighty@teneighty-MS-7924:/$ sudo apt-btrfs-snapshot delete /mnt/2014-07-28/
Delete subvolume '/mnt/2014-07-28'
ERROR: cannot delete '/mnt/2014-07-28' - Device or resource busy

如果很忙,我就不能這樣做,不是嗎?

teneighty@teneighty-MS-7924:/$ sudo umount /mnt

但它會悄悄地卸載。雖然我測試過,即使我在文件管理器中打開 /mnt/2014-07-28,它也會卸載。

我在安裝 kubuntu 14.04 後創建了快照,然後執行了實質性的系統更新。更新後,我創建了另一個快照,並且能夠毫無問題地刪除該快照。但我想刪除的是更新前快照,因為更新後一切正常,我不希望我需要回滾到全新安裝階段。

我還嘗試使用我安裝的 kubuntu live USB 刪除它,但這也不起作用。然後我嘗試了 apt-btrfs-snapshot delete ,並且

快照最初可能位於@/snapshots/2014-07-28,然後我從help.ubuntu.com的文件中更好地了解了ubuntu BTRFS佈局,因此我將快照移至根BTRFS體積。我嘗試將其移回原處,但它返回了相同的錯誤。

快照上出現此錯誤的原因可能是什麼?為什麼 apt-btrfs-snapshot 會說它正忙?我不知道從這裡去哪裡,但隨著檔案系統的變化,我將需要恢復該空間。

答案1

首先檢查預設的子卷:

$ sudo btrfs subvol list /mnt/
ID 319 gen 508029 top level 5 path @plasma
ID 326 gen 508633 top level 5 path @
$ sudo btrfs subvol get-default /mnt/
ID 319 gen 508029 top level 5 path @plasma

我想刪除@plasma子卷。我想刪除時遇到相同的錯誤(不允許操作)。您需要更改預設子卷:

$ sudo btrfs subvol set-default 326 /mnt/

按 ID 選擇新的預設子卷。之後您將能夠刪除子卷:

$ sudo btrfs subvol delete -v /mnt/@plasma/
Transaction commit: none (default)
Delete subvolume (no-commit): '/mnt/@plasma'

答案2

檢查是否為READ-ONLY並設定為RW

 btrfs property set -ts ./MyClone/@home  ro false  

也可以看看https://linuxreviews.org/Btrfs#the_HOWTO

相關內容