Linux를 설치할 때 "루트 파티션"을 "/"에 마운트해야 하는 이유는 무엇이며 그 기능은 무엇입니까?

Linux를 설치할 때 "루트 파티션"을 "/"에 마운트해야 하는 이유는 무엇이며 그 기능은 무엇입니까?

나는 아치 리눅스를 설치하고 있으며 내 루트 파티션은 에 있습니다 . 내가 이해한 바에 따르면 이 파티션은 이제 모든 하위 디렉터리 등을 /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 파티션"이 있을 수 있습니다.

관련 정보