다음과 같은 btrfs 파일 시스템이 있습니다.
root_subvol # subvolid=5 - the root subvolume for the btrfs filesystem
- snapshots/ # Folder that contains btrfs snapshots of the subvol_root that I take before I do system updates
- subvol_root/ # A btrfs subvolume. Gets mounted as /. Contains /etc, /home, /proc, ...
이제 subvol_root
부팅 시에는 my 로 마운트됩니다 /
. Linux는 이것이 부팅 시 마운트될 하위 볼륨인지 어떻게 알 수 있습니까 /
?
물론 내 subvol_root/etc/fstab에는 다음 항목이 있습니다.
UUID=84ee... / btrfs subvol=subvol_root,...
/etc/fstab
그러나 서로 다른 하위 볼륨에는 mount 에 대한 서로 다른 하위 볼륨을 나열하는 자체 버전이 있을 수 있으므로 /
이는 모호합니다.
/etc/fstab
기본 btrfs 하위 볼륨 등을 보나요 ?
답변1
예를 들어 다음을 사용하여 커널 부팅 매개변수를 확인하세요 cat /proc/cmdline
.
root=
파일 시스템(아마도 레이블이나 UUID로)을 지정하는 옵션과 rootflags=
include가 있을 수 있습니다 subvol=subvol_root
. 이 옵션은 일반적인 커널 명령줄을 결정하므로 부트로더 구성에 포함됩니다.
또는 부팅 프로세스에서 /etc/fstab
initramfs에 이미 포함된 복사본을 사용할 수 있습니다.
배포판마다 다른 작업을 수행할 수 있지만 내 경험에 따르면 루트 파일 시스템의 위치는 커널 부팅 매개변수에 의해 지정되는 경향이 있으므로 하드웨어 구성을 크게 변경하는 경우 부팅 시 쉽게 수정할 수 있습니다.
루트 파일 시스템이 initramfs에만 지정된 경우 Catch-22와 유사한 상황에 처할 수 있습니다. "initramfs를 수정할 때까지 루트 파일 시스템에 액세스할 수 없지만 필요한 것을 얻을 수 없습니다. 루트 파일 시스템에 액세스할 수 있을 때까지 내 initramfs Tools.initramfs를 수정하세요!"