답변:
먼저 기본 하위 볼륨에서 원하는 레이아웃을 만듭니다.
btrfs subvolume snapshot / /rootfs
mkdir /snapshots
주 /rootfs
우리의 새로운 루트 파일 시스템이 될 것이다, 그래서이 단계 이후의 현재를 변경하지 않습니다.
/rootfs/etc/fstab
시스템이 새로운 rootfs 서브 볼륨을 루트 파일 시스템으로 사용하도록 편집하십시오 . 이를 위해서는 subvol=rootfs
옵션 을 포함하도록 수정해야합니다 .
새 루트 파일 시스템을 어딘가에 마운트하고 관련 파일 시스템 (dev, sys, proc, 부트가있는 경우 부트)을 마운트 한 후 chroot하고 grub을 업데이트하십시오.
mount -o subvol=rootfs /dev/sdXX /media/temporary
cd /media/temporary
mount -o bind /dev dev
mount -o bind /sys sys
mount -o bind /proc proc
mount -o bind /boot boot
chroot .
update-grub
exit
그게 다야. 재부팅하면 루트 파일 시스템은 rootfs 하위 볼륨이어야합니다. 이것이 성공하면 / snapshots 디렉토리가 없어야합니다. 이제 기본 하위 볼륨에서 이전 루트 파일 시스템의 내용을 삭제할 수 있습니다.
원하는 경우 기본 하위 볼륨에 대한 영구 마운트 지점을 만들 수 있습니다.
mkdir /media/btrfs/root
그런 다음 mount -o subvolid=0 /dev/sdXX /media/btrfs/root
스냅 샷 / 하위 볼륨을 만들 수 있습니다 .
subvol=/rootfs
(참고를 /
위해) fstab
즉 (btrfs를 위키)에 기재된 바와 같이 "적절한"방법이 보인다 btrfs.wiki.kernel.org/index.php/Mount_options] .
subvol=/rootfs
레이아웃을 모르는 프로그램 (예 : 디스트로 설치 프로그램)이 기본 하위 볼륨을 대신 마운트한다는 것입니다. 프로그램이 파일 시스템이 리눅스 파일 시스템처럼 보일 것으로 예상한다면 실패하거나 더 나빠질 것입니다-원하지 않는 것들로 기본 하위 볼륨을 채우십시오
fstab
부트 로더 설정을 확인 하거나 할 것이라고 생각했을 것 입니다.
btrfs subvolume set-default ID /
.ID
`btrfs subvolume list /