一開始把一塊50G的分區裝了系統。後續考慮把home目錄單獨拉出來放到另一塊50G的分區。https://www.cnblogs.com/studywithallofyou/p/16969639.html
按照原來的流程,只不過懶得做啓動盤,就在當前系統直接操作了。不過遊戲系統掛在了home,所以導致無法移動和刪除,於是直接修改fstab,重啓。
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 / btrfs defaults 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /var btrfs subvol=/@/var 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /usr/local btrfs subvol=/@/usr/local 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /tmp btrfs subvol=/@/tmp 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /srv btrfs subvol=/@/srv 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /root btrfs subvol=/@/root 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /opt btrfs subvol=/@/opt 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /home btrfs subvol=/@/home 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc 0 0
UUID=2882-EC2A /boot/efi vfat utf8 0 2
UUID=73c0baf1-f315-4bef-a7d1-b8779855ec83 /.snapshots btrfs subvol=/@/.snapshots 0 0
UUID=e772594b-cf78-48dc-b24d-c1c84cabe620 swap swap defaults 0 0
把home那一行修改成
UUID=c51dcae3-f43f-4334-b2c7-f22a6d60a90e /home btrfs defaults 0 0
home掛在過去了,但是原來的home數據並沒有刪除,佔用了空間,所以對其進行刪除。
由fstab可以發現btrfs的系統多了一列,就是指定子卷。
先查看當前系統的掛在
sudo df -T
文件系統 類型 1K-塊 已用 可用 已用% 掛載點devtmpfs devtmpfs 4096 8 4088 1% /dev
tmpfs tmpfs 8038040 4 8038036 1% /dev/shm
tmpfs tmpfs 3215220 10960 3204260 1% /run
tmpfs tmpfs 4096 0 4096 0% /sys/fs/cgroup
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /.snapshots
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /boot/grub2/i386-pc
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /opt
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /srv
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /boot/grub2/x86_64-efi
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /tmp
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /root
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /usr/local
/dev/nvme0n1p3 btrfs 50331648 22790316 27459684 46% /var
/dev/nvme0n1p6 btrfs 52428800 13515404 38712932 26% /home
/dev/nvme0n1p1 vfat 262144 17956 244188 7% /boot/efi
tmpfs tmpfs 1607608 76 1607532 1% /run/user/1000
然後把對應分區/dev/nvme0n1p6
的home分卷掛在到一個目錄
sudo mount /dev/nvme0n1p3 -o subvol=@/home /mnt/olddata
查看一下,/mnt/olddata
目錄下就是原來home的數據。
查看一下分卷信息
sudo btrfs subvolume list /mnt/olddata
ID 256 gen 32 top level 5 path @
ID 257 gen 925 top level 256 path @/var
ID 258 gen 847 top level 256 path @/usr/local
ID 259 gen 917 top level 256 path @/tmp
ID 260 gen 847 top level 256 path @/srv
ID 261 gen 901 top level 256 path @/root
ID 262 gen 676 top level 256 path @/opt
ID 263 gen 922 top level 256 path @/home
ID 264 gen 847 top level 256 path @/boot/grub2/x86_64-efi
ID 265 gen 847 top level 256 path @/boot/grub2/i386-pc
ID 266 gen 892 top level 256 path @/.snapshots
ID 267 gen 920 top level 266 path @/.snapshots/1/snapshot
ID 275 gen 53 top level 266 path @/.snapshots/2/snapshot
ID 431 gen 775 top level 266 path @/.snapshots/140/snapshot
ID 433 gen 777 top level 266 path @/.snapshots/141/snapshot
ID 434 gen 789 top level 266 path @/.snapshots/142/snapshot
ID 435 gen 790 top level 266 path @/.snapshots/143/snapshot
ID 436 gen 855 top level 266 path @/.snapshots/144/snapshot
ID 437 gen 856 top level 266 path @/.snapshots/145/snapshot
ID 438 gen 863 top level 266 path @/.snapshots/146/snapshot
ID 439 gen 865 top level 266 path @/.snapshots/147/snapshot
ID 440 gen 871 top level 266 path @/.snapshots/148/snapshot
ID 441 gen 873 top level 266 path @/.snapshots/149/snapshot
不管是指定/mnt/olddata
還是/
,只要是同一分區下的目錄,都會把當前子卷信息列出來
運行如下命令刪除子卷
sudo btrfs subvolume delete --subvolid 263 /mnt/olddata
Delete subvolume (no-commit): '/mnt/olddata/@/home'
可以看到是no-commit,因爲這時還沒提交,具體什麼時候提交,不太清楚,可以重啓系統讓其生效。也可以增加-c參數直接提交。
sudo btrfs subvolume delete -c --subvolid 263 /mnt/olddata
https://btrfs.readthedocs.io/en/latest/btrfs-subvolume.html
https://documentation.suse.com/zh-cn/sles/15-SP3/html/SLES-all/cha-filesystems.html