기본 하위 볼륨 (subvolid = 0)에서 btrfs를 사용하여 Linux 설치를 다른 하위 볼륨으로 이동 수정하지 않은

루트 btrfs 파일 시스템에 설치하면 많은 Linux 배포판이 기본 하위 볼륨에 설치됩니다. 수정하지 않은 상태로두면이 레이아웃은 모든 스냅 샷 또는 하위 볼륨이 루트 파일 시스템 내에 작성되도록하므로 바람직하지 않을 수 있습니다. 또 다른 가능한 레이아웃은 기본 하위 볼륨에 snapshots디렉토리와 rootfs하위 파일 (루트 파일 시스템)이 포함되도록하는 것입니다. livecd에서 부팅하지 않고이 하위 볼륨 레이아웃을 사용하도록 distro-default btrfs 설치를 어떻게 변경합니까?



답변

먼저 기본 하위 볼륨에서 원하는 레이아웃을 만듭니다.

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스냅 샷 / 하위 볼륨을 만들 수 있습니다 .


답변