상세 컨텐츠

본문 제목

[만능 USB를 만들어 보자] 5. GRUB4DOS로 ISO 부팅하기

운영체제/GRUB4DOS

by wjdqh6544 2017. 7. 1. 18:06

본문


안녕하세요. wjdqh6544 입니다.

오늘은 GRUB4DOS로 ISO 부팅하는 방법을 포스팅 하겠습니다.

모든 게시글은 PC버전에 맞추어져 있습니다. 모바일 버전으로 읽을 시에 사진 출력이 잘 안되거나 보는게 좀 불편할 수 있습니다. 양해바랍니다.


지금까지는 윈도우 설치메뉴, 윈도우 PE를 GRUB4DOS에 추가하는 방법에 대하여 알아보았습니다. 여태까지 윈도우를 GRUB4DOS에 추가하면서 공통적으로 했던 과정은 파일을 USB에 복사한 뒤, 2차 부트로더인 bootmgr을 체인로드하는 방법으로 추가했었지요. 하지만 여러 개의 윈도우 설치파일/PE 혹은 복구 ISO를 추가하고자 한다면 이 방법은 조금 무리가 될 수 있습니다. 그래서 다른 방법을 알려드리려 합니다.


바로 ISO 가상화 기능인데요, GRUB4DOS는 윈도우 상에서 ISO파일을 마운트해 CD처럼 인식하는 것처럼 부트로더 상에서 ISO를 가상 드라이브에 마운트 시키고 그 드라이브를 통해서 부팅을 할 수 있는 기능을 지원합니다. 그럼, 지금부터 시작합니다.



GRUB4DOS ISO 가상화의 핵심 - MAP 명령어


GRUB4DOS 에서 ISO를 마운트하려면 MAP 명령어를 사용해야 합니다. ISO 파일을 포함하는 이미지 파일을 가상 드라이브로 마운트 하는 역할을 하는데요, 사용법은 이렇습니다.


map (--mem) 이미지 파일 경로(가상 드라이브 주소)


이런 식으로 사용합니다. 먼저 MAP 를 쓴 뒤, 그 뒤에 차례대로 로드할 이미지 파일을 경로와 그 이미지가 마운트 될 가상 드라이브의 주소를 적어주시면 됩니다. 가상 드라이브의 주소는 (hd32)같이 적어도 되나, 같은 주소의 드라이브가 있을 경우에는 충돌될 가능성이 있으니 (0xff)같은 주소를 사용하시는 것이 좋습니다.


--mem 옵션은 MAP명령어 뒤에 붙여주시면 이미지를 램디스크에 마운트하게 됩니다. 마운트할 이미지 파일의 용량만큼의 램 용량을 차지하기 때문에, 램 용량이 넉넉하신 분들은 사용하셔도 좋습니다. (단, 이 옵션을 사용하실 경우 부팅시 이미지 파일을 램디스크에 복사하기 때문에 상대적으로 부팅시 많은 시간이 소요됩니다.)


이외에도 상황에 맞게 --read--only, --heads 같은 옵션들을 붙여주면 됩니다. 그리고 MAP 명령어로 이미지를 마운트 하신 뒤에는 꼭 뒤에 MAP --hook 명령어를 써주셔야 한다는 점 잊지 마세요. map --hook 명령어를 붙이지 않으면 GRUB4DOS 에서 드라이브로 인식할 수 없습니다.




MAP명령어를 이용해 GRUB4DOS에 복구도구 추가하기


그럼 이제 MAP 명령어를 이용해 보도록 할게요. 앞서 말씀드린 것처럼 map명령어를 사용하면 USB에 모든 파일을 복사해서 사용했던 윈도우 설치/PE등을 ISO파일만으로 부팅시킬 수 있기 때문에 매우 간편한 관리가 가능합니다.


그럼에도 불구하고 선호하지 않는 이유는 부팅 시간이 늘어나고, 모든 ISO를 지원하는 것이 아니며 마운트할 이미지가 단편화(fragmentation) 되어있을 경우 일일히 조각모음을 해줘야 하는 불편함이 있습니다. 특히 추가할 ISO가 GRUB4DOS의 가상화 기능과 충돌할 경우 대부분의 경우 부팅이 불가합니다.


그래서 저는 ISO파일은 사용을 최소화 하는 편입니다. 물론 윈도우 설치/PE ISO도 가상화 기능을 이용해 부팅할 수 있습니다. 이 부분에 대해서는 뒤에서 설명드릴게요.


이번 포스팅에서는 수많은 복구 도구 중 Parted Magic 을 이용하겠습니다. 이게 원래 무료였는데 어느날 갑자기 유료로 전환되었다 하더군요. 윈도우 PE만으로 거의 대부분의 복구 작업이 가능합니다. 저도 PE만 사용하고 있고요. 하지만 리눅스를 사용하실 분들이 계실것이니 짚고 넘어가도록 하겠습니다. 파일은 알아서 받으세요. 유료로 전환되었기 때문에 공유가 불가능합니다. 저작권 걸려요.


2017:07:01 13:39:10

구하셨으면 ISO파일을 USB 루트 경로 안에 복사해주세요. 경로에 한글이 포함되지 않는 한 폴더에 넣어도 무방합니다. 하지만 편의를 생각하면 루트경로에 넣어두세요.


2017:07:01 12:56:28


이제 이런 식으로 메뉴를 작성, 저장해줍니다. 사진 상의 /pmagic_2012_12_25.iso 에는 복사한 ISO 파일의 경로를 입력해주시면 됩니다. 저같이 루트경로에 복사한 경우에는 ISO파일명만 적으면 되겠네요.


2017:06:30 21:14:45


하지만 이 메뉴로 부팅하시면 에러 62가 뜨면서 부팅이 되지 않으실 텐데요, 바로 ISO헤드부분의 정의되지 않았기 때문입니다. 이런 오류가 발생할 경우에는 map 명령어 뒤에 '--heads=0' 옵션을 붙여주세요.

2017:06:30 21:15:40


이제는 에러 63이 뜹니다. 이번에는 트랙당 섹터를 지정해 달랍니다. 이 경우에는 MAP 명령어 뒤에 '--sectors-per-track=0' 옵션을 붙여주시면 됩니다.


2017:07:01 12:57:25


최종적으로 Parted Magic 을 GRUB4DOS에 추가하는 메뉴는 다음과 같습니다. 보시다싶이 MAP 명령어 뒤에 '--heads=0' 옵션과 '--sectors-per-track=0' 옵션을 주었습니다. 이렇듯 MAP명령어를 사용할 때에는 상황에 맞는 명령어들을 붙여주셔야 합니다. 그래서 제가 선호하지 않는거고요. 하지만 대부분의 경우에는 출력되는 오류 메시지를 보고 어떤 옵션을 추가해야 할지 알수 있으니 적당한 옵션을 붙여주시면 됩니다.

이렇게 부팅하면 잘 부팅됩니다.




MAP명령어를 활용해 GRUB4DOS에 윈도우PE 추가하기


지난 편에서는 PE를 GRUB4DOS에 추가하기 위해 ISO의 압축을 풀서 필요한 파일만 골라서 복사한 뒤, BCD를 수정해서 bootmgr을 로드하는 방법을 활용했었는데요, 윈도우PE도 GRUB4DOS의 ISO가상화 기능을 통해 부팅할 수 있습니다.

이 경우 중복되는 파일들을 처리할 수 없어 용량을 조금 더 차지한다는 단점이 있지만, BCD를 편집할 필요가 없어 관리가 간단하다는 장점이 있습니다. (물론 약간의 속도 저하는 피할 수 없습니다.)


2017:07:01 13:38:35


윈도우PE의 ISO파일을 통째로 USB에 복사해줍니다. (이번에도 편의를 위해 루트경로에서 작업하겠습니다.)


title Windows PE (from ISO) 

find --set-root {ISO 파일 경로} 

map {ISO 파일 경로} (0xff) 

map --hook 

chainloader (0xff) 


이런 메뉴를 추가해주세요. 보시면 map 명령어 뒤에 아무 옵션도 붙지 않은것을 확인할수 있는데요, 윈도우 설치/PE ISO는 별다른 옵션을 필요로 하지 않습니다. 그냥 이렇게 추가하시고 부팅하시면 됩니다.

하지만 이 방법을 통해서 윈도우 설치하기는 불가능하고, 별도의 작업을 해주어야 합니다. 그부분에 대해서는 나중에 포스팅하도록 하겠습니다.

[만능 USB를 만들어 보자] 7. GRUB4DOS로 윈도우 7/8/10 ISO로 설치하기


이미지 파일이 단편화되었을 경우


앞에서 언급한 것처럼 관리가 편하다는 장점이 있지만, 이미지 파일이 단편화 되었을 경우에는 일일히 조각모음을 해야한다는 단점이 있습니다.


'단편화' 무엇인지 모르시는 분들이 계실텐데요, 단편화의 사전적 정의는 '하나의 파일을 이루는 데이터가 여기저기에 분산되어 있는 일'입니다. 그냥 쉽게 설명하자면 파일이 조각모음 되어있지 않고 여러개로 나누어져 있다는 것인데요, 이 경우 GRUB4DOS가 나누어져 있는 이미지 파일을 가상 드라이브에 마운트 할 수 없기 때문에 오류가 발생하게 됩니다.

2017:07:01 13:40:10


바로 에러60 오류인데요, 이미지 파일이 단편화 되어있을 경우 GRUB4DOS는 에러를 출력하면서 진행할 수 없습니다.


이 오류가 발생할 때는 해당 파일을 조각모음 해주셔야 합니다. 그냥 단순히 윈도우의 조각모음 기능으 사용해서 GRUB4DOS가 설치된 USB 자체를 조각모음 시켜도 되지만 시간이 오래 걸리므로 여기서는 단편화 된 파일 하나만 조각모음 하는 방법을 알려드리겠습니다. 먼저 아래의 다운로드 버튼을 눌러 WInConfig 프로그램을 다운로드해 주세요.



2017:07:01 13:43:17


다운로드된 파일의 압축을 헤제 후 32비트 운영체제를 사용중이신 분들은 WinContig.exe 파일을, 64비트 운영체제를 사용하시는 분들은 WinContig64.exe 파일을 실행시켜 주세요. (무설치 실행파일로, 별도로 설치할 필요가 없습니다.)


2017:07:01 13:43:54


실행하면 이런 창이 뜨는데요, 여기서 좌측 상단의 '추가'버튼을 클릭하시고 조각모음 할 이미지 파일을 추가해주세요.


2017:07:01 13:44:12


이미지 파일을 추가했으면 우측 상단의 조각모음 버튼을 클릭해주세요


2017:07:01 13:44:27


조각모음할 파일이 있는 드라이브를 검사할지 묻는데요, '디스크 검사 안함' 버튼을 눌러 패스하세요.


2017:07:01 13:44:38


이번에는 디스크를 정리할지 묻네요. 역시 디스크 정리 시작안함 버튼으로 패스해주시면 됩니다.


2017:07:01 13:45:03


이제 조각모음이 시작됩니다. 시간이 좀 걸리니 커피라도 마시면서 느긋하게 기다리시면 됩니다.

조각모음이 완료되면 프로그램을 닫고 다시 USB로 부팅해봅시다.


2017:07:01 13:53:44


기존의 오류창은 없어지고 정상 부팅 되는것을 확인할 수 있네요.




이렇게 ISO 가상화 기능을 이용하면 손쉽게 GRUB4DOS에 ISO파일들을 추가하실 수 있습니다. 하지만 일단 로딩 속도가 느려지고 많은 용량을 차지하기도 하고, 각종 오류들에 대처해야 하기때문에 상황에 맞게 ISO 가상화 기능을 사용할지 압축을 풀어 사용할지 잘 선택하셔야 합니다. 특히 아얘 GRUB4DOS의 ISO가상화 기능과 충돌해버리는 ISO 파일들도 있기 때문에 잘 생각하시고 사용하셔야 합니다.


이번 편은 여기서 마칩니다. 다음 편에서는 GRUB4DOS로 윈도우 XP설치하는 방법에 대하여 알아보도록 할게요.

관련글 더보기

댓글 영역

페이징