dracut과 initramfs의 관계는 무엇입니까?

dracut과 initramfs의 관계는 무엇입니까?

시작 오류가 발생하면 시스템에 dracut 프롬프트가 표시됩니다.

내가 이해한 바로는 dracut은 initramfs의 이미지를 생성하는 데 사용됩니다. 제가 혼란스러운 점은 제가 "dracut"이라는 쉘을 사용하고 있다는 사실을 토대로 볼 때 이것이 단지 initramfs를 생성하는 유틸리티가 아니라 실제로 시작 시 실행되는 별도의 프로그램인 것처럼 보인다는 것입니다. 맞습니까? - 위의 내용이 맞다면 initramfs와 dracut의 차이점/관계는 무엇입니까?

답변1

Dracut은 initramfs 인스턴스를 생성하는 도구이자 소위 dracut 비상 쉘도 포함하고 있습니다. initramfs의 목적은 루트 파일 시스템을 찾아서 로드하고 실행을 전달할 수 있는 환경을 제공하는 것입니다. 이 프로세스 중에 언제든지 문제가 발생하면 initramfs가 dracut 비상 셸에 들어가 문제를 디버깅/수정할 수 있는 기회를 제공합니다.

댓글 정보:

"저는 이 작업을 하고 싶습니다. 원래 발생한 일은 RHEL을 실행하는 VMWare 가상 머신이 있다는 것이었습니다. 가상 머신을 VMWare Workstation으로 직접 가져오는 문제로 인해 가상 머신의 하드 드라이브를 ESXi에서 ESXi로 가져오기로 결정했습니다. 새로운 그러나 VM을 부팅하려고 하면 GRUB와 dracut을 성공적으로 로드할 수 있지만 dracut은 루트 파일 시스템을 찾을 수 없습니다. 이는 dracut이 시스템을 로드할 수 있다면 루트 파일 시스템도 로드될 것이라고 예상하기 때문에 이상합니다. 루트 파일 시스템을 찾을 수 있습니다."

RHEL을 설치하면 dracut은 운영 체제가 설치된 하드웨어와 호환되는 데 필요한 드라이버만 포함하는 initramfs 인스턴스를 생성합니다. RHEL 인스턴스의 하드 드라이브를 한 가상 하드웨어 세트의 ESXi에서 VMWare Workstation(다른 가상 하드웨어 세트)으로 이동하면 커널과 연결된 initramfs에 더 이상 루트 파일 시스템을 찾고 로드하는 데 필요한 적절한 드라이버 세트가 없습니다. .

이 문제를 해결하려면 하드 드라이브를 이동하기 전에 를 실행해야 합니다 dracut --force --no-hostonly. 인용하다https://fedoramagazine.org/initramfs-dracut-and-the-dracut-emergency-shell/

force 매개변수는 dracut에게 기존 initramfs 아카이브를 덮어쓰도록 지시합니다. no-hostonly 매개변수는 현재 실행 중인 컴퓨터와 관련된 드라이버만 포함하는 기본 동작을 무시하고 dracut이 initramfs에 모든 드라이버를 포함하도록 합니다.

이는 이제 dracut이 "부풀어 오르고" 하드 드라이브를 이동할 때 필요한 모든 해당 드라이버를 갖게 됨을 의미합니다. 하드 드라이브 이동을 완료한 후 dracut을 다시 실행하여 dracut --forcedracut의 경량 버전을 재생성해야 합니다.

관련 정보