built in UEFI Shell ÀÌ ¾ø´Â º¸µå¿¡ UEFI Shell Ãß°¡Çϱâ...
File_Application_Shell_Shellx64.ffs (277.7K), Down : 42, 2020-05
FvSimpleFileSystem.ffs (57.2K), Down : 36, 2020-05
부트 목록 추가 삭제 등을 하거나 펌웨어 업데이트등 뭐 운영체제 하에서는 하기 힘든 잡일할때 쓰게 되는게 UEFI Shell인데요..
어떤 보드들은 이게 UEFI에 빌트인으로 들어가 있으나.. 어떤 보드들은 들어 있지 않습니다..
이런식으로 UEFI와 함꼐 플레시에 내장되어서 부트옵션으로 자동 등록 되는 보드가 있는 반면에..
요런식으로 파일 시스템을 검색해서 Shell을 찾아서 존재한다면 그쪽으로 부팅 해 주는 방식이 있습니다.
Shell이 플레시 용량에 비해서 과도하게 크기 때문에 이런식으로 빼 놓는것 같은데..
이게 좀 불편합니다. Shell 같은건 부팅이 안될때 써야 할 경우도 생기기 마련인데.
UEFI 쉘 넣은 USB 같은걸 항상 준비해 두기는 또 좀 애매하죠 그런거 만들어서 짱박아 두면 또 필요할때는 못찾기 마련이라..
거기다 제 경우는 플레시에는 충분히 여유가 있음에도 쉘이 빠져 있었기 때문에 쑤셔 넣는 요령을 찾아 보았습니다.
결론 부터 말하면 굉장히 간단한데 UEFItool로 DXE 들이 들어 있는 색션을 찾아서 첨부한 2개의 파일을 쑤셔 넣으면 됩니다...
FvSimpleFileSystem.ffs -이 드라이버는 UEFI 펌웨어 볼륨의 FFS 파일들을 조회해서 각각의 FFS 파일의 내용물을 EFI 형태로 인식하게 만드는 드라이버 입니다..
물론 읽기 전용이구요.. XXX.efi 식의 이름을 부여 받는데 XXX는 ffs 파일의 UI 섹션에 있는 텍스트를 가져 옵니다.
File_Application_Shell_Shellx64.ffs- 요건 msi 보드에서 추출한 shell 입니다 edk에 포함된 버전보다 경량화 된것 같습니다.. 압축해서 200kb 정도 입니다.
이걸 둘다 삽입하게 되면 삽입하면 'Lanuch Efi shell form filesystem device' 를 시도 했을때
블록디바이스로 인식되는 펌웨어 볼륨에 들어 있는 Shellx64.ffs 가 Shellx64.efi 로 인식 되기 때문에 그걸 로드해서 EFI shell을 뛰우게 됩니다.
½±°Ô¸»ÇÏÀÚ¸é uefi¸¦ ¹ÙÀÌ¿À½º½¯·Î Áö¿øÇϴº¸µå¿¡¼ uefi ÀåÄ¡¸¦ºÎÆÃÇÒ¶§ ½©¿¡¼µû·Î ¼±ÅÃÇÏ°í ºÎÆÃÇÏ´Â°É ÀÌÀÛ¾÷À»Çϸé
ÀÚµ¿À¸·Î Áö°¡ ã¾Æ¼ ºÎÆÃÇØÁִ´ٴ°ÇÁö¿ä?
½©À» ³»Àå½ÃÄѼ ±×³É shellÀ» ÄÓ ¼ö ÀÖµµ·Ï ÇÏ´Â °Ì´Ï´Ù
¿ø·¡ 'Lanuch Efi shell form filesystem device' ÀÌ ÀÛµ¿ÇÏ´Â ¹æ½ÄÀÌ ¿¬°áµÈ ¸ðµç ÀúÀåÀåÄ¡¿¡¼ shellx64.efi¸¦ ã¾Æ¼ ½ÇÇà ½ÃÅ°´Â °Í
->±×·³À¸·Î ¾î¶² ÀúÀåÀåÄ¡¿¡µµ Shellx64.efi°¡ ¾øÀ¸¸é ½©À» ½ÇÇà ÇÒ ¼ö ¾øÀ½.
->flash¿¡ ÀúÀåµÇ¾î ÀÖ´Â UEFI ¸ðµâÀ» ÀúÀåÀåÄ¡·Î ÀνÄÇÏ°Ô ¸¸µå´Â µå¶óÀ̹ö¸¦ ¼³Ä¡
->flash¿¡ shellx64.efi·Î ÀνĵǴ ¸ðµâÀ» ¼³Ä¡
->'Lanuch Efi shell form filesystem device' ¸¦ ½ÇÇàÇßÀ»¶§ ¿¬°áµÈ ÀúÀåÀåÄ¡¿¡ shellx64.efi°¡ ¾ø¾îµµ flash¿¡ µé¾î ÀÖ´Â shellx64¸¦ ã¾Æ¼ ½ÇÇà
ÀÌ·± ½ÄÀÎ °ÅÁÒ.