본문 바로가기

Life story

USB에 CD영역 만들기..[부제: USB로 OS설치하기]

이거참 힘들었다.

# 옛날엔..
초기에는 디스켓으로 일일이 설치 -> 포맷후 부팅 가능한 하드로 작업 후 하드 카피 -> 윈도95부터 CD설치 이런 시절이였다.. 메모리 스틱이 나온지는 불과 몇 해전 얘기이다. 처음에는 그냥 데이타 보관으로 썻지만 왠걸.. 이걸로 부팅이 가능하게 만들어서 쓰는게 아닌가.. 처음에는 도스부팅. 뭐 그다지 새롭지 않았다. 윈95, 98등은 실제로 설치씨디도 도스부팅으로 시작해서 셋업하기 때문에, 씨디롬이 24배속등으로 좀 느렸을때는 하드에다 설치파일을 넣어놓고서 깔았었으니까.. 근데 윈도우 2000부터는 달라진다.. 우선 NTFS여서 초기 셋업이 복잡해진 것이다. 그래도 도스모드로 셋업하는건 여전히 유효하지만, 오히려 CD로 설치하는 것보다 시간이 더 들어간다.

# 고진샤 sa를 쓰면서 부터..
그때부터 USB로 부팅하는거에 관심은 있었지만, 외장 USB CD롬으로 설치해서 관심 밖이였었다. 그러다 고진샤를 쓰면서 그리고 넷북을 쓰면서 필요하게 되었다. 당연히 CD가 빠진 제품들이였으니..1년전에 찾았던 방법은 USB를 마치 CD처럼 만들어서 부팅하는 것이다. 그래서 윈도우에서는 실제로 드라이브가 씨디로 인식한다. 마치 가상시디롬처럼..  실제 윈도우 인스톨시에도 씨디를 넣은것과 똑같은 과정을 거친다. USB스틱을 이 방법으로 만들어서 썼는데, 문제는 뻑나서 정상이 아니라 버렸다.. 그래서 이참에 용량도 좀 큰걸로 부팅가능한걸 사자. 그래서 샌디스크 크루저 마이크로 8G. 근데, 이 USB에 가상씨디를 만들어주는 툴을 쓰려고 하니까.. USB가 없다고 나온다.. 헐~ 본전생각나는 순간. 그래서 검색에 검색을..  하루 왠종일 헤멨다.. 정보는 많은데 쓸만한 정보 찾기가 이리 힘들다;; 결국 USBoffice라는 웹사이트에서 해결책을 찾음.

# OS설치를 하는 방법론(only this paragraph was updated at 2010.07.18)
OS를 HDD에 설치하는 방법에는 여러가지가 있는데,

1. 설치CD     2. 설치 Floppy disk(+ CD or 저장된 file)     3. Network     3.  Zip drive     4. USB

확인할 사항 - 메인보드가 USB로 부팅을 지원해야 한다.

등을 꼽을 수 있다.  지금 4번 USB로 하려는 것이고 USB를 어떻게 하면 1번과 같은 효과(CDFS)를 주는가 하는 것에 초점이 있다.
쉽게 말하자면, SD카드는 순수한 메모리. 이 메모리를 컴퓨터에서 읽기 위해서 리더기라는게 있다. 그래야만 PC에서 내용을 읽고 쓸수 있는 것이다. 일례로 디카에 메모리를 꼽고나서 USB케이블로 연결하면 촬영한 사진을 PC로 옮길수 있다. 즉 디카는 메모리를 읽고 쓰게 해준다는 얘기이다.
다시말하면, USB메모리=메모리+칩(리더기 기능)
즉, 부팅가능하게 작업하려면 메모리가 아니라 메모리에 연결된 칩이 무엇이냐에 따라서 모든게 결정된다는 것이다.

이것 때문에 메모리 제조회사가 어떤 칩을 선택해서 제조하는가라는 것이 내용의 핵심이 되는 것이다.

  * 씨디롬 부팅 순서: 메인보드 CD롬 부팅 옵션선택 -> 부팅시 CD롬 부팅 -> 윈도우 부팅CD 실행
  * USB 메모리 순서: 메인보드 USB 부팅 옵션선택 -> 부팅시 USB 부팅 -> CD영역 검사 ...

  메인보드의 USB부팅 가능여부는 PC를 구입한지 5년 이하면 문제없을 것으로 생각하며,
  USB 부팅시 CD영역 검사 부분은 해당 메모리 제조회사에서 유틸을 제공해야 한다.


만약 자신이 쓰고 메모리 제조회사에서 제공하지 않는다면 방법이 없는 것인가? 그렇지 않다. 위에 옛날 사설에도 잠깐 썻듯이, 과거에는 CD가 없는 시절도 있었다. 그러므로 여전히 플로피 같은 매체로 인스톨하는 방법이 존재한다. USB를 마치 2번과 같이 이용하는 것이다.
이는 메인보드 바이오스에서 USB부팅만 지원하면 된다는 얘기이다.
외장케이스나 SD리더기는 리더기와 하드케이스 제조사에서 가능하게 해줄런지는 모르겠다. 개념상으로는 가능하겠지만 이런 지원은 일반적인 제조사에서 지원하긴 어려울 것이다.

       addtional comment: 부팅 지원 제품이 출시되었다고 한다. USBoffice 사이트에서 확인 가능

그리고 아예 운영체제를 메모리나 외장하드에 직접 설치하는 것도 가능하겠지만 논외로 하겠다.
CD영역으로 설치하는 것(A)과 일반 도스부팅 후 설치하는 것(B) 두가지를 알아보았다.


# (B) 모든 USB가 가능한 OS설치법

단계1: USB메모리 도스부팅 가능하게 포맷
단계2: 윈도우 설치씨디 or 이미지(iso파일 등) 속의 파일들을 USB에 복사
위의 두 단계를 자동으로 해주는 프로그램이 WInToFlash와 WinSetupFromUSB 이다.

메인보드가 USB 부팅을 지원한다면, USB메모리를 도스/리눅스/NT등으로 포맷후 부팅파일을 심으면 부팅이 가능하다. 단지 우리가 원하는 것은 부팅하고 난 후에 OS 설치를 원하는 것이다. 물론 USB 외장씨디롬으로 해결이 가능하지만, OS깔자고 사자니 그렇고 메모리로 깔면 폼나고 간단하고(?).. 여튼 심플하고 간편하니까, 그래서 좋으니까 하려고 하는 것이다.
XP를 예로 들면, 도스부팅(시디까지 인식하게) 후에 CD의 i386폴더에서 setup이 가능하다. 이 방법을 USB에 적용하면 되는 것이다. 찾아본 결과 일일히 삽질하지 않고 이를 가능하게 해주는 스크립트가 존재하였고, GUI환경으로 만들어진 프로그램이 있다는걸 알았다. 계속 찾다보니 프로그램 하나 더 보이는군..
한가지 아쉬운 점이 있다면, 파티션을 해서 설치파일과 개인자료파일을 구분하고 싶었다. 하지만 그렇게 하기 위해서는 별도의 방법이 필요한데, 가장 확실한것은 리눅스에서 수동으로 파티션을 나누는 것이다. 복잡하기도 하거니와 따로 파일을 구해서 시도할 시간도 없어서 하지 않았다. 그래서 데이타와 인증서 폴더들이 설치폴더와 섞이는 것은 보기에 깔끔하지는 않다.

## (B-1) WinToFlash v0.5.0009 Beta
    툴 사용법은 간단하다. 다음, 다음, 다음 클릭만 하면 끝. 아래 WinSetupFromUSB보다 훨씬 간단하다. 별도의 설명이 필요없을 정도로.. 그래서 XP설치라면 WinToFlash를 추천. 검색만 하면 다운과 스크린샷은 많아서 건너뛰고.. 
http://wintoflash.com/download/en/  최신버전 다운로드

## (B-2) WinSetupFromUSB 0.2.3
    다운(링크)해서 설치를 하고, xp시디 or iso이미지를 마운트 하면 준비 끝.
    WinSetupFromUSB 설치에 관한 블로그
    http://science.binote.com/415
   
http://www.acrofan.com/ko-r/consumer/content/20090529/0000020001



실행화면에서 xp같은 os설치 cd의 드라이브를 지정해주고 메모리 삽입후 RMPrepUSB 클릭.
보는 것과 같이 USB 하나로 다양한 OS를 설치하게끔 지원해주는 것 같다. 물론 그에 맞춰서 USB메모리 용량을 4-8기가 이상이 준비되어야 할 것이다.

다른 옵션 설정없이 Boot options 에서 첫번째 CC4나 NTLDR을 선택후 하늘색 Prepare Drive를 클릭하면 대화상자가 닫히고 원래 첫번째 그림의 화면으로 돌아간다. 그리고 Go를 클릭하면 작업이 진행된다. 대략 20-30분정도 시간이 소요되니 그냥 딴거 하다가 완료 메시지를 보면 되겠다.
마지막에 읽어볼 메시지가 나오는데, 실제 설치시 USB를 꼽고 부팅하면 약간 다른 화면의 설치 화면이 보이는데 첫번째와 두번째 선택옵션을 차례로 선택하라는 문구를 보게 된다. 그대로 해주니 문제없이 설치되었다.

참고로 xp는 다양한 수정버전(정품 이외의 버전)이 존재하는데, 검색한 바로는 설치문제가 있는 iso도 있다고 한다. 해당 이미지를 CD로 구우면 잘되는데 USB로 CD영역을 만들었거나 바로 위의 방법을 통해서 부팅USB를 만들었을 경우에 오류가 나는 경우는, 내 생각엔 iso 이미지 안에 USB 인식부분이 문제점이다. CD설치는 되는데 USB설치는 안되면 두가지의 차이점은 USB인식부분이니까.
위의 설치법이나 아래의 CD영역은 실제 존재하는 장치가 아니기 때문에 이들 장치를 인식하는 드라이버가 없는 윈도우 버전에서는 설치시 에러나 설치과정에서 블루스크린을 대부분 만났다.
따라서 이 블로그에서 언급하는 프로그램들의 오류가 아니라 윈도우 설치파일이 장치를 지원하지 못해서 발생하는 문제라고 생각한다. 경험상 대부분 윈도우 서비스팩3 이상에서 지원하는게 아닌가 생각한다. 또 하나 점검할 부분은 CMOS 셋업에서 하드디스크의 ACPI나 SATA를 IDE로 바꾸어서 설치가 가능한 경우도 있다는 점이다.
#  comment added at 2012. 1. 31



# (A.1) CD영역과 USB구조와 관계
위에서 언급했다시피 스틱메모리는 컨트롤러(=칩)와 플래쉬(메모리)로 구성된다. 플래쉬는 단순 메모리이므로 컨트롤러에 의해서 좌우된다는게 포인트. 따라서, 컨트롤러가 CD영역 인식을 기능을 지원하지 않으면 무용지물.
CD영역을 만든다 함은 메모리에 특정한 코드(혹은 플래그 값 조정)를 심고 데이타는 CDFS포맷을 따르는 것으로 보인다. 왜냐하면, USB를 꽂으면 OS(윈도우XP 등)는 메모리의 씨디영역을 CD로 인식하기 때문이다. 이것은 가상CD 유틸인 시디스페이스, 데몬툴 등과 유사한 원리인 것으로 생각된다. 따라서 USB가 인식되는 과정에서 CD영역의 부분은 usb로 인식되는 절차를 CD로 바꿔치기하는 것으로 보인다. 이렇게 하는 이유는, 대게 OS설치를 위한 CD영역과 일반 데이타 보관용도로 파티션을 나누기 위함이 많다. 혹은 보안을 위한 별도의 파티션을 만들어서 사용하는 사람도 있다. 결과적으로 USB를 이렇게 작업하기 위한 데몬툴처럼 해주는 유틸이 제조사(벤더)에서 제공되는지 유무가 관건인 것이다.

# (A.2) 씨디영역 만들기..

단계1: 자신의 USB메모리스틱이 사용하는 칩(=컨트롤러)의 종류(PID)를 확인한다.
          확인하는 프로그램은 VPID checker 또는 CheckUDisk
단계2: 확인한 PID로 맞는 CD영역생성 프로그램을 다운해서 설치한다.
          생성프로그램은 SMI 또는 USBEST 또는 SKYMEDI
          부팅CD 영역 공간을 할당하고 윈도우ISO 이미지를 지정해준다.
위 단계만 이해하면, 프로그램 사용법은 검색하면 쉽게 찾을 수 있다.

지금까지 된다고 알려진 컨트롤러는 다음과 같이 세종류이다.

 Controller  SMI  USBEST  SKYMEDI
 Tool  UFDisk utility  UCDexec.exe  SK6211,6281
 PID  0x1000 (BC06, 70D4)  0x0163 (or 0165)  0x1603

지원 여부를 확인하기 위해 간단한 실행파일을 다운받아서 확인하면 된다.
확인 툴은 두가지가 있었다. VPID checker 또는 CheckUDisk
그리고 Tool 을 검색으로 다운 받아서 씨디영역을 생성해주면 끝. 씨디영역을 생성하면 자연스럽게 파티션이 되기 때문에 나머지 영역을 데이타 용도로 쓰면 된다. 하지만 이것 역시 파티션을 나누는 것이기도 하기 때문에 각각에 맞는 툴을 사용해서 영역을 나누거나 합쳐야 한다.
USBEST 이라면?: http://blog.naver.com/baljern/140092807227
                         http://blog.naver.com/baljern/140092217273
SMI 이라면? :      http://blog.naver.com/baljern/140089106504
SKYMEDI 라면? : http://blog.naver.com/baljern/140089768905
사용법이 잘 정리된 블로그라서 굳이 작성하지 않아도 되겠다.

덧 2012. 5. 6) 메모리브는 MR_MPtool이라고 프로그램을 제공한다. 링크
                   0x1D00 PID를 사용한다.
                   다운받아서 프로그램을 실행하고, get information 클릭-> edit parameters ->
                   configuration의 mode값을 21로 수정 -> source/image file에서 CD-ROM의 select 클릭
                   -> 윈도우xp 이미지 파일경로 지정 -> save 후 창에서 나온다 -> start 버튼 클릭
                   -> 노란색이 초록색으로 바뀔때가지 기다린다.
       스크린샷은 http://blog.daum.net/manseok/15928893 이쪽을 방문해서 참고.

# 샌디스크는 타입별로 달라..
정작 여기까지 확인하기 전에 기존 UFDisk utility를 실행해버려서 지원하는 USB가 아니라고 팝업하나 뿐.. USBoffice 에서 검색해보니 샌디스크 U3는 툴을 제공한단다.. 가입해야 읽을 수 있는 글이라 해주고..;; 두어시간 고생해서 알아낸 결과, Universal Customizer 라는 툴을 제공한다. LPinstaller라는 복구툴은 기본인데, 이것은 씨디영역으로 5메가정도와 나머지 일반영역으로 구성된다. custom size를 원한다면 다른 툴이 필요하단 얘기다. 그래서 씨디영역까지 만드는데 성공. 그리고 부팅해서 인스톨해보니.. setup 화면이 진행되다가 블루스크린.. 뭐가 문제일까..;;  iso 파일문제인가? 아닌거 같다..다른 스틱메모리에 UFDisk로 했을때는 잘 셋업했었다. 쩝..
블랙에디션 iso 이미지의 셋업파일 중에 usb 컨트롤러 인식을 제대로 못하는듯 하다.. 안전빵으로 샌디스크 샀는데..이런~  iso를 다른걸로 바꿔서 해보아도 똑같은데... SP3 정품이미지는 귀찮아서 패스..
덧 2010. 9.25] 다른 노트북에 설치해보니 잘 된다. CD영역에 문제가 아니라 수정된 윈도설치iso파일 탓인거 같다.

# Windows7 설치 (this paragraph was updated at 2012.02.28)
   윈도우는 기본적으로 CD/DVD 배포방식을 취하기 때문에 이번에도 별반 다르지 않을꺼라 생각했지만, 배포가 DVD로 되는 마당에 USB로 옮기면 메모리스틱 용량도 최소 8기가 이상이 되어야 할 것으로 예상된다. 나중에 블랙에디션이 나오면 4기가 미만으로 다이어트 될 가능성도 있다고 본다.
여하튼 윈도우7은 위에서 고생한 것과 같은 방법을 쓸 필요가 없다고 한다. UltraISO로 이미지 파일을 읽어서 USB에다 통째로 Writting해주면 DVD에서 설치하는 과정과 동일하다고 한다. 이 말인 즉슨? 아마도 텍스트셋업 혹은 USB 셋업이라고 불리우는 방식을 지원한다는 것으로 이해하면 무리가 없을 듯하다.
UltraISO는 설치가 간단하다. 검색으로 다운받고 다음-다음-다음 만 클하면 된다. 윈도우xp던 윈도우7이던 간에 iso 이미지가 있으면 불러오기를 하면 되고 CD나 DVD로 가지고 있다면 iso로 만드는 메뉴도 있다.
이렇게 iso이미지를 준비한 다음 메뉴->부팅->디스크이미지 기록을 선택해서 자신의 USB를 선택하고 쓰기를 클릭하면 작업이 진행될 것이다. 역시나 조금만 검색하면 캡춰된 이미지를 많이 볼 수 있다.
UltraISO는 가급적 최신버전을 받아서 사용해야 설치시 오류를 만나지 않는다는 글을 많이 보았다. 이는 아마도 다양한 운영체제와 USB 제품들 그리고 거기에 대한 인식률과 호환성에 관련되지 않나 생각한다.

8기가 이상 메모리를 XP는 CD영역으로 만들고 나머지 파티션된 영역에 UltraISO를 이용해서 USB-HDDD 방식으로 윈7을 만들면 일석이조의 효과를 얻을 수 있다.




참고 사이트:
USB종합커뮤니티 http://usboffice.kr/