GRUB이 ext2 파일 시스템을 읽을 수 있고 이를 수행하기 위한 모듈이 있다는 것을 읽었습니다. Redhat 시스템에서 이 모드는 어디에 있습니까? /boot 파티션이 ext3/ext4이거나 다른 파일 시스템 유형인 경우에는 어떻게 됩니까?
답변1
grub ext2 모듈은 차이가 최소화되므로 ext3 및 ext4도 인식합니다. 모듈 자체는 grub core.img
파일에 내장되어 있습니다(ext[234]를 /boot로 사용하는 경우). 이 파일은 일반적으로 파티션이 부팅되기 전에 마스터 부트 레코드 뒤의 섹터에 복사되며 마스터 부트 레코드의 코드는 간단히 로드됩니다. 그 후속 부문.
답변2
제목 줄의 질문 부분에 대답하기 위해 해당 실행 코드가 initrd 이미지에 저장됩니다. initrd 이미지는 시작 시 커널에 직접 로드될 수 있으므로 닭과 달걀 문제를 해결하고 파티션을 읽지 않고 ext 파티션을 읽는 코드를 얻을 수 있습니다.
/boot에 대한 파일 시스템 선택에 관해.
- Ext3은 ext2와 역호환되며 주로 로깅 기능을 도입합니다.
- Ext4는 ext 파일 시스템의 주요 개정판으로 많은 새로운 기능을 제공하며 데이터를 복구하고 파일 시스템을 다시 구축하지 않으면 되돌릴 수 없습니다.
나는 정말로 /boot에서 ext3/4를 사용하는 것에 대해 걱정할 필요가 없다고 생각합니다. 일반적으로 VM에는 별도의 /boot가 필요하지 않으며 ext4 파티션의 일부로 잘 작동합니다. 또한 /boot에 로그온하지 않고 ext2를 사용하는 것에 대해 걱정하지 않을 것입니다. 커널을 업그레이드하지 않는 한 정전 중에 /boot 파일 시스템에 뛰어난 쓰기가 발생할 가능성이 없기 때문입니다.
모듈은 일반적인 위치인 /lib/modules//kernel/fs/에 저장됩니다. 부팅 시 커널에서 사용할 수 있도록 initrd 이미지로 컴파일됩니다.
업데이트: 아직 공식적인 RedHat 성명을 찾지 못했지만 Michael Zhang의 책에서는 RHEL 6이 더 이상 /boot에 ext2를 사용하지 않는다고 명시하고 있습니다. ext4이면 충분하고 이제 /boot의 기본 파일 시스템이기 때문입니다. 장의 책은 또한 로깅 외에는 ext2와 ext3 사이에 실제로 차이가 없다고 지적합니다.
답변3
Grub( 0.9x
)은 ext2 및 ext3을 지원하지만 ext4(이전 버전과 호환되지 않는 기능을 끄지 않는 한).
Grub2(1.97부터)는 Fedora 17의 /boot/grub2/i386-pc/( ) ext2.mod
에 있는 동일한 모듈 [ ]을 통해 ext2, ext3 및 ext4를 지원합니다.32-bit