예전에 만들었던 멀티부팅 이미지를 USB에 구워서 사용하다가 최근에 Windows 10 RS5 iso를 넣고 설치할려다 보니 Windows 10 설치가 진행이 되지 않았다.

드라이버를 찾을 수 없다는 그런 메세지 였던거 같다.

기존의 멀티부팅 이미지는 Grub4Dos로 만든 것이다.

menu.lst 파일만 필요할 때마다 변경하면 언제든 내가 원하는 부팅을 설정해서 사용할 수 있어서 참 좋다.

그동안 OS가 업데이트 될때마다 iso 이미지 파일만 통채로 USB에 복사한 후에 menu.lst에 iso를 매핑하면 끝나는 것이었는데.. 이게 이제는 안된다.


일단, 위의 드라이버를 못 찾는 문제에 대해 검색하다보니(구글 검색 키워드 : grub4dos windows 10 iso) 찾은 해결 방법이

Firadisk와 AutoUnattend.xml 파일을 이용하여 설치하는 방식이었다.

문제는 Firadisk는 USB 메모리에만 사용가능한 방식이다.

내가 사용 중인 외장SSD는 컴퓨터에 연결하면 로컬디스크로 인식이 되기 때문에 호환성 문제가 있는 것으로 보인다.

그래서 생각한 방법이 Windows 10 iso 이미지를 USB root에 풀어 놓은 후

grub로 부팅 후 grub loader(GRLDR)에서 bootmgr를 호출하여 windows 10 설치 파일이 로딩되도록 하는 방법이었다.

grub와 windows iso 파일이 USB root에 같이 섞여 있는게 안깔끔해서

grub를 /grub 안으로 위치를 옮겼다. GRLDR은 항상 root에 존재해야 하므로 절대 옮기면 안된다.

그리고 menu.lst는 기본적으로 GRLDR과 같이 root에 존재하는 것이 좋다.

물론 /boot/grub/menu.lst 혹은 /grub/menu.lst에 있어도 menu.lst 파일은 검색되어 로딩이 된다.

하지만 시간이 좀 더 걸리고 안깔끔하다..

menu.lst가 로딩되는 과정에 대해서는 아래 링크를 통해 알게 되었다.

http://diddy.boot-land.net/grub4dos/files/embedded.htm


대략적인 내용을 가져오면 아래와 같은 경로에서 먼저 menu.lst를 검색하게 되는 것을 알 수 있다.

title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
errorcheck off
configfile /menu.lst
configfile /boot/grub/menu.lst
configfile /grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst


USB로 부팅할 경우 hd0는 USB 메모리가 된다고 한다.

작업을 find --set-root /bootmgr를 사용하였으나 Windows가 설치된 컴퓨터에서 사용시 오히려 문제의 원인이 되는 것 같아서 주석처리하였다.


#USB를 Windows가 설치된 컴퓨터에 연결후 드라이브 속성을 열었을 때 종류가 USB 드라이브로 표시되면 이동식 디스크
#USB 드라이브/이동식 디스크 타입은 파티션 분할 없이 Windows 설치 원본 파일을 USB root에 풀어 놓는다.
#title Windows 10 pro x64 RS5 (USB 메모리/이동식 디스크 타입)
title Windows 10 pro x64 RS5 (install file in USB 1st partition)
root (hd0,0)
#find --set-root /bootmgr
#chainloader /bootmgr
chainloader (hd0,0)/bootmgr

#USB를 Windows가 설치된 컴퓨터에 연결후 드라이브 속성을 열었을 때 종류가 로컬 디스크로 표시되면 외장하드 타입
#외장하드 타입은 파티션을 분할하여 Windows 설치 원본 파일을 분할된 다른 파티션의 root에 풀어 놓는다.
#외장하드 타입 예시: (hd0,0)-grub4dos, (hd0,1)-Windows 10 x64, (hd0,2)-Windows 10 x86, , (hd0,2)-Windows 10 x64 enterprise
#title Windows 10 pro x64 RS5 (외장하드 타입-외장하드 2번째 파티션에 설치 파일)
title Windows 10 pro x64 RS5 (install file in USB 2nd partition)
root (hd0,1)
#find --set-root /bootmgr
#chainloader /bootmgr
chainloader (hd0,1)/bootmgr


[필요한 준비물]

Bootice : 구글에서 bootice 검색(iPauly 님이 한글화 한 프로그램이 사용하기 편함.)


[USB 메모리 포맷]

1. 부팅용으로 사용할 USB 메모리 혹은 외장하드를 컴퓨터에 연결한다. 혹은 PC에 설치된 디스크를 사용해도 된다.
2. Bootice를 실행한다.(관리자 권한 필요.)
3. 파티션이 없는 경우 파티션을 먼저 생성해야한다. 물리디스크 탭의 파티션 관리 버튼을 누른다.


4. 활성화 상태와 파일시스트템 상태를 본다. 현재 활성화 안됨. 파일시스템 없음. 활성화가 안된 경우 부팅이 불가능하므로 반드시 체크해야한다.

파티션 재설정 버튼을 누른다.


5. 싱글 파티션 혹은 다중 파티션 중 선택. 용량이 작은 메모리는 싱글 파티션 사용을 권장.

파일시스템을 NTFS를 선택하고 확인 버튼을 누른다.



6. 포맷이 완료된 결과 확인. 활성화가 안된 경우 부팅이 불가능하므로 활성화 버튼을 눌러서 활성화 상태로 만든다.


7. USB 메모리 포맷 작업 끝.


[USB 부팅디스크 만들기]

1. 부팅용으로 사용할 USB 메모리 혹은 외장하드를 컴퓨터에 연결한다. 혹은 PC에 설치된 디스크를 사용해도 된다.
2. Bootice를 실행한다.(관리자 권한 필요.)
3. 물리티스트 탭에서 대상 디스크 경로에 grub를 사용할 디스크를 선택하고 MBR 수정 버턴을 누른다.


4. GRUB4DOS를 선택하고 인스톨/구성 버튼을 누른다.


5. 아래의 붉은색 박스를 잘 확인하고 디스크 저장 버튼을 누른다.

특히 "2번째 섹터에 MS NT6 MBR 설치"가 꼭 체크 되어 있어야한다.

체크가 해제된 상태로 MBR 작업을 할 경우 grub로 부팅후 Windows 10 설치를 시도하면 GRLDR에서 bootmgr로 로딩이 되지 않는다.

파일 이름 부분은 grub loader 파일이름이므로 반드시 여기게 입력한 파일이름으로 USB root에 존재해야한다.

GRUB4DOS 버전은 0.4.6a로 선택.

디스크 저장을 누르면 바로 MBR이 선택한 디스크에 작성된다.



6 MBR 작업이 끝났으므로 bootice를 종료한다.

7. GRLDR과 menu.lst 파일을 USB (혹은 Bootice에서 작업한 디스크) root에 복사한다. (GRLDR 파일 이름 주의)

8. menu.lst에 필요한 기타 파일들을 해당 경로에 복사한다.(메뉴를 분리하여 따로 관리하는 것이 좋다.)

9. windows 10 iso 파일을 USB (혹은 Bootice에서 작업한 디스크) root에 압축해제 한다.

10. USB 부팅 작업 완료.

참고로 부팅에 필요한 여러 파일이 있지만 Windows PE는 항상 기본으로 넣어 놓는 것이 좋다.
컴퓨터가 문제가 생겼을 때 복구하기 참 좋다.
PE이미지는 직접 만들어도 되지만 훌륭하게 만들어진 것이 이미 많다.
그중에서 개인적으로 가장 맘에 다는 이미지는 아래 링크이다.


아래 스샷은 작성이 완료된 USB 메모리의 폴더 구조이다.
grub 폴더, GRLDR파일, menu.lst 파일만 GRUB를 위해 생성된 파일이고 나머지는 Windows 10 iso를 풀어 놓은 것이다.


[USB 메모리 폴더 구조 - root]


[USB 메모리 폴더 구조 - /grub 폴더]



[USB 메모리 폴더 구조 - /grub/boot 폴더]




[USB 부팅 도구]

BOOTICEx64_v1.3.4_KO_by_pauly.exe

==> USB 드라이브가 GRUB 부팅 설정이 안된 경우 고스트 이미지 만으로는 부팅이 되지 않습니다.


[USB 부팅 작업 결과물]



※※※

매번 이런 과정을 거쳐서 USB 부팅 메모리를 만들어 사용하는 것은 너무 불편하다.

개인적으로는 이렇게 작업이 끝나면 USB 메모리를 ghost 이미지로 덤프한다.

이후부터는 gho파일을 usb로 구우면 한번에 끝~~





'computer' 카테고리의 다른 글

WOL(Wake On Lan) 설정  (0) 2020.01.20
Vmware에서 Windows - Linux 간 네트워크 공유(Samba)  (0) 2019.09.09
diskpart  (0) 2019.03.24
비트 디팬더가 수상하다.  (1) 2019.02.16
2MONS 미니서버 핫스왑*6 후기  (7) 2015.12.08

+ Recent posts