WTG 제작하면서 이것저것 시도해보다가 막히는 부분이 생겨 질문글을 남기게 되었습니다.
rufus를 이용해 WTG를 제작했고 A파티션에는 윈도우 관련파일 / B파티션은 UEFI부팅 관련된 파일이 들어간 상태로 USB를 제작했습니다.
이상태에서 파티션 매니저를 이용해 제일 앞에 새로운 파티션을 추가로 생성해
1파티션은 빈공간 / 2파티션은 윈도우 관련파일(기존A파티션) / 3파티션은 UEFI부팅 관련 파일(기존B파티션) 형태로 변경했습니다.
이후 bootice를 이용해 윈도우 파일이 들어있는 2파티션의 BCD파일을 수정해서 기존 1파티션으로 연결되어있던 경로에는 이제 아무것도 없는 파티션이 되었으니 윈도우파일이 들어있는 2파티션으로 수정해서 레거시 부팅까지는 정상작동을 확인했는데
3파티션을 이용한 UEFI 부팅은 파티션 지정을 제대로 못해줘서인지 부팅에 실패하고있습니다.
3파티션의 \EFI\Boot\bootx64.efi 파일에 기록되어있는 경로가 지금은 비어있는 1파티션으로 지정되어있어서 부팅에 실패하는건 아닐까하고 생각되어서
이걸 2파티션으로 수정해주고싶은데 해당 bootx64.efi 파일의 내용을 수정하는 방법을 도통 모르겠습니다...
easyuefi, easybcd, DiskGenius 같은 프로그램으로도 efi 파일을 수정하는 기능이 없었고 HXD에디터를 이용해서 열었을땐
글자가 대부분 깨져서? 보이거나 efi shell에서 보여주는 영어문구들만 보이고 정작 필요한 경로는 찾을수가 없었습니다.
해당 EFI파일을 열어서 수정하려면 어떤걸 이용해야하는지 아시는분이 계신다면 정답을 알려주시거나 혹은 대략적인 힌트라도 부탁드리겠습니다 ㅠㅠ
(글 설명하는 재주가 없어서 첨부파일에 해당 EFI파일을 첨부했습니다. 해당 파일에서 지정하고있는 파티션을 다른파티션으로 지정할수있게 수정하는 방법을 알고싶습니다..)
경로 수정이 되는지는 확인해봐야할듯합니다.
목적 자체는 UEFI / Legacy 듀얼부팅이 가능한 WTG 제작이신거죠?
윈도우즈 부트 매니저는(bootx64.efi나 bootmgfw.efi) 기본적으로는 수정 없이 사용할 수 있도록 되어 있습니다.
수정할 필요가 있는 요소들은 BCD에 기록되어 있고 bootmgfw.efi내에는 BCD의 상대 경로만 가지고 있는 그런 구조죠.
부팅중에는 ntfs 파티션을 위한 드라이버가 없을 수도 있기 때문에 부팅중에 쓰이는 bcd는 기본적으로 FAT32로 포멧된 efi 파티션에 위치합니다.
3번 파티션은rufus가 생성한 파티션인데 해당 파티션 내부에는 BCD파일이 아예 없더라구요ㅠㅠ
3번파티션 구조를 캡쳐해서 본문글 마지막에 사진으로 지금 등록했습니다
rufus에서 만든것 같은데 이건 구조가 각종 파일시스템 드라이버를 불러와서
타겟 파티션을 조회해서 타겟이 될만한 부트로더를 찾는 과정을 부팅 할 때마다 수행하는것 같습니다.
타겟이 하드코딩 되어서 GUID를 확인하는 그런 구조가 아닌걸 보면 의심하시는 그런 상황은 아닌것 같습니다.
근데 탐색을 하시는것 보다.. 그냥 자동화 툴이 만들어 주는데로 쓰는 쪽이 나을것 같습니다.
그 자동화 툴은 그러려고 쓰는거라...
사소한 거라도 내마음대로 커스텀 하려고 하면 오히려 그런짓을 하는 요령도 찾기 힘들고.. 품도 아주 많이 들어서요..
1번이 생기기 전까지 3번파티션이 2번파티션이었어서 wtg가있는 1번 파티션을 읽는 구조였는데 1번 파티션이 새로생기고 한칸씩 밀리니 비어있는 파티션으로 지정된 경로를 읽어서 문제가 나는건 아닌가 하고 추측하고있습니다...
부트로더 자체가 여러개의 경로를 확인하고 검증하는 그런 구조가 아니라 그냥 첫번째 파티션을 끍어서 확인하는 과정만 거치는것 같습니다.
특정 경로가 하드코딩 된게 아니라 부팅 될때마다 UEFI 가 제공하는 서비스에서 경로를 받아 오는 거라서..
이걸 수정하는건 좀 번거로울것 같네요.
구지 지금 파티셔닝을 유지하시고 싶으시면 grub2나 clover 같은걸 대신 사용하시는게 오히려 더 편하지 싶습니다.
늦은밤에도 불구하고 댓글달아주시고 도움주셔서 감사합니다!
ida pro 에 플러그인인 https://github.com/binarly-io/efiXplorer 요걸 깔고 efi 파일을 열어서 수정할 부분을 찾으시면 됩니다..
일단 매우 번거롭기 때문에 권해 드리는건 아닌데요..
뭔가 이미 집착 같은게 생겨서 나는 이 방법으로 해결 안하면 잠이 안올것 같다 상태시면 어쩔 수 없으니까요...
답변해주셔서 감사합니다!
먼저 MBR 디스크/FAT32 100~200M + NTFS 나머지로 파티션 구성후 NTFS에 WTG용 VHDX를 생성합니다 (VHDX는 GPT/MBR 상관없고, NTFS로 포맷)
이어서 FAT32 파티션을 활성화후 VHDX를 마운트합니다
다음 OS의 WIM을 마운트된 VHDX에 Apply후 bcdboot로 FAT32를 대상으로 All로 하면 2가지용 부트로더가 동시에 다 구성됩니다
마무리로 1803 이상이라 WTG가 정식으로 지원이 안 되는 상태라면 구버전에서 필요한 파일을 복사하던지 해당 VHDX를 SATA같은 내장 포트에 연결된 디스크에서 부트한후 그걸 다시 가져와서 써야 합니다
이후 남은 용량은 원하는 용도로 쓰시던지, VHDX를 넣고 남은 파티션 용량을 줄인후 다시 파티션 생성해서 쓰시면 됩니다
VHD쪽은 예전에 공부해보려다 새로배우려니 귀찮아서 포기했던 기억이 나네요 ㅋㅋ
기존에 하려던 방식이 실패했으니 다시 에너지좀 재충전하고 말씀하신 방법쪽 찾아보도록 하겠습니다.