운영 체제 프로젝트의 경우 ext2 파일 시스템 이미지를 생성하고 마운트합니다. 이는 블록 정보가 포함된 1MB 파일을 작성하고 이를 마운트 대상으로 사용한다는 의미입니다.
예를 들어 다음과 같은 파일이 있다고 가정합니다 base.img
.
fsck.ext2 base.img # checking my file system
mkdir mnt
sudo mount -o loop base.img mnt
마운트가 성공한 후 내부적으로 어떤 일이 발생합니까? 내가 이해한 바로는 base.img
이미지를 올바르게 초기화하는 것뿐입니다. 내부적으로는 다음과 같은 질문이 있습니다.
- 현재 이 파일 시스템이 포함된 드라이브 파티션이 존재합니까?
- 파일 시스템 변경 사항을 관리하는 방법은 무엇입니까?
두 번째 경우에는 "마운트 테이블"이 있고 아마도 ext2
Linux는 추가 변경을 위해 모듈을 사용할 것입니다. 이러한 변경 사항이 반영됩니까, base.img
아니면 이제 새로운 디스크 파티션이 있습니까?
나의 근본적인 질문은: 특히 다양한 구현과 모호성이 있는 경우 이 모든 것이 어떻게 작동합니까?
답변1
mount -o loop base.img mnt
사용순환 장비블록 장치로 사용할 수 있도록 base.img
하고 그 아래에 블록 장치를 장착합니다 mnt
. mnt
디스크 에 새 파티션이 없습니다 base.img
.
ext2 파일 시스템이 포함된 경우 base.img
해당 내용은 실제로 다음과 같이 표시됩니다.커널 ext2 드라이버.