나는 아치 리눅스를 설치하고 있으며 내 루트 파티션은 에 있습니다 . 내가 이해한 바에 따르면 이 파티션은 이제 모든 하위 디렉터리 등을 /dev/sda2
포함하는 내 루트 디렉터리가 됩니다 /home
./usr
나를 혼란스럽게 하는 것은 설치 과정에서 "루트"로 보이는 것에 "루트"를 설치해야 하는 이유입니다. 예를 들어, 아치 리눅스의 설치 단계는 다음과 같습니다: mount /dev/root_partition /mnt
.
내가 아는 한, 설치 미디어의 파일 시스템에 있는 디렉터리에 파티션을 마운트하고 있습니다. 그러나 이렇게 하면 genfstab
루트 파티션이 "/"에 마운트되도록 지정됩니다.
"root"를 "root"에 설치하기 때문에 이것은 약간 재귀적인 것처럼 보입니다. 커널에 다른 파일 시스템이 있습니까? 그게 그렇게 중요한 건가 initramfs
?
답변1
최신 Linux는 initramfs에서 부팅됩니다. 이 부팅 환경에서는 "루트" 파일 시스템이 initramfs 에 마운트됩니다 /
.
부팅 프로세스의 일부로 initramfs는 드라이버와 콘텐츠를 로드하고 실제 루트 파일 시스템을 찾아 일부 하위 디렉터리에 마운트합니다. 처음에는 이 시점에서 chroot를 사용하여 향후 프로세스를 위해 이 하위 디렉터리를 변경합니다 /
. 그런 다음 Linux는 initramfs를 마운트 해제하고 메모리에서 해제할 수 있도록 initramfs 마운트 지점을 하위 디렉터리로 교체할 수 있는 시스템 호출을 추가했습니다.
그 사이 어딘가에서 genfstab과 같은 것을 사용하여 chroot 이후 이동된 마운트 지점을 반영하는 새 fstab을 동적으로 생성할 수 있습니다. (동적 클라우드 환경 외부에서는 사용되는 것을 볼 수 없습니다. 일반적으로 fstab은 현재 설치된 것이 아니라 설치할 항목을 나열하는 정적 파일입니다.)
답변2
아니요, 이것은 initramfs와 아무 관련이 없습니다.
파일 시스템은 파일 시스템입니다. 여러 위치 또는 어느 곳에나 설치할 수 있습니다. 현재 Linux(라이브 설치 프로그램인 archlinux인 것 같아요)에서 /dev/sda2의 파일 시스템은 /mnt 아래에 마운트됩니다. 하지만 설치가 완료되고 재부팅하면 /(루트 디렉터리)에 설치됩니다.
답변3
root
파티션 나누기 같은 것은 없습니다 . 로 설치하도록 선택한 파티션일 뿐입니다 /
.
루트 파티션에는 전체 파일 시스템이 포함되어 있으므로 루트 파티션을 마운트할 필요가 전혀 없는 것 같습니다.
기본적으로 커널은 아무 것도 마운트하지 않으며 아무런 단서도 없으며 루트 파일 시스템이 어디에 있어야 할지 상관하지 않습니다.
/에 마운트된 파티션, 즉 루트 디렉터리가 위치한 파티션을 일반적으로 "루트 파티션"이라고 합니다.
이것은 단지 호출 규칙일 뿐입니다. "루트 파티션", "exfat 파티션" 또는 원하는 수의 "SWAP 파티션"이 있을 수 있습니다.