2009년 8월 13일 목요일

윈도우 7 MSDN 이미지 만들기

적절한 제목이 떠오르지 않아 일단 이렇게 썼습니다. 해외 포럼에 재미있는 글이 올라왔더군요. 물론 재미있다는건 이런거에 관심이 있으신 분들에게만 해당되는 사항이겠지만요 ^^;;

 

예전에 제가 XP SP2 VOL 버전에서 해쉬값 때문에 고민을 했던 적이 있습니다. 분명 내용물은 100% 동일한데 아무리 옵션을 변경해도 MSDN과 동일한 해쉬값의 이미지를 만들어내지는 못했습니다. CDIMAGE 버전 똑같은거 썼고 이리 저리 옵션을 변경해봤지만...

 

이번에 윈도우 7 패키징에선 그 비밀이 풀렸군요. CDIMAGE 2.54 버전과 -udfver102 옵션이 해답입니다. 사실 별 의미는 없는 글이에요. 왜냐하면 ei.cfg 파일을 지우면 어차피 설치시 에디션 선택이 가능하기 때문입니다. 따라서 이 방법은 말 그대로 그냥 재미로 해보시는 정도의 의미만 가집니다.

 

제가 며칠전에 포스팅했던 윈도우 7 OEM 버전에 대한 오해와 진실 글에서 설명을 드렸는데 이번에 MSDN에 올라온 윈도우 7의 5가지 버전은 전부 같은 파일입니다. ei.cfg 파일과 DVD 라벨명만 수정되어서 패키징된거죠. 물론 엔터프라이즈 버전과 프로페셔널 볼륨버전의 경우 이미지가 따로 존재합니다. (MSDN에 올라와있는건 프로페셔널 리테일 이미지이고 프로페셔널 볼륨버전은 볼륨라이선스 서비스 센터에서 배포)

 

 

 

잡설이 길었고 이제 본론으로 들어가겠습니다. 저는 현재 영문판 얼티밋 버전 이미지만 가지고 있습니다. 다른건 필요없어서 받을 생각을 안 했습니다. 어차피 다 들어있으니까요. 아 물론 엔터프라이즈 버전은 따로 받아야겠지만요.

 

이제 이 얼티밋 버전을 가지고서 홈프리미엄 버전을 만들어보겠습니다. MSDN 버전과 해쉬값이 100% 일치하는 파일로 말이죠. 해쉬값 훼이크가 아니고 MS의 패키징 방법과 같은 방법으로 만들어지기 때문에 동일한 파일을 만들 수 있는겁니다.

 

 

 

우선 얼티밋 버전의 내용물을 아무 폴더에나 전부 복사해야겠지요? 저는 E 드라이브 WIN7 폴더 안에 다 집어넣었습니다.

 

 

 

 

이제 ei.cfg 파일을 수정해야 하는데 제가 생각하기에 가장 중요한 작업입니다. 이 파일은 SOURCES 폴더 안에 들어있습니다. 메모장으로 수정하시면 됩니다. 그런데 1비트라도 원본과 달라지면 해쉬값이 달라지기 때문에 이거 수정을 잘 하셔야합니다. 예를 들어 메모장으로 열어보시면 마지막 커서가 빈 줄 첫번째에서 끝나지요? 근데 그 커서를 바로 윗줄 마지막칸으로 백스페이스 눌러서 당기고 저장해보세요. 그럼 해쉬값 달라집니다. 그러니까 줄바꿈 기호라고 해야하나? 그게 0 이라는 숫자 뒤에 들어갔느냐 안 들어갔느냐의 차이겠지요.

 

[EditionID]
Ultimate
[Channel]
Retail
[VL]
0

얼티밋 버전을 저렇게 생겼습니다. 저는 홈 프리미엄 버전으로 만들 생각이기 때문에 에디션 ID 부분을 수정합니다.

 

[EditionID]
HomePremium
[Channel]
Retail
[VL]
0

대문자 소문자 정확히 맞아야하고 m 뒤에서 바로 줄바꿈 되어야합니다. m 뒤에 빈칸 하나 더 들어가버려도 해쉬값은 달라집니다.

 

다른 에디션은 다음과 같이 입력하시면 됩니다.

 

Starter

HomeBasic

Professional

 

스타터 버전은 OEM으로 올라왔더군요. 리테일 판매를 하지 않기 때문입니다. 따라서 스타터 버전의 경우 다음과 같이 수정해주셔야 합니다.

[EditionID]
Starter
[Channel]
OEM
[VL]
0

 

이제 바로 패키징 들어가시면 됩니다. 이때 주의사항은 2가지인데 시간 맞추는거랑 라벨명 맞추는겁니다.

 

 

 

 

위 CDIMAGE 파일 받아두시고 우선 표준시간대부터 변경합시다. 태평양 표준시로 변경합니다.

 

 

 

 

제가 변경 안하고 18시 기준으로 넣어봤는데 해쉬값이 똑같이 안 나오더군요. 그래서 변경해주셔야 할겁니다. 변경하고 2시 기준으로 하니까 성공하더군요.

 

이제 패키징 작업을 시작합니다.

 

cdimage -u2 -udfver102 -be:\win7\boot\etfsboot.com -o -lGRMCHPFRER_EN_DVD -t07/14/2009,02:26:40 e:\win7 test.iso

 

다른건 다 똑같이 복사해서 쓰시면 되고

 

02:26:40 부분은 32비트라서 그렇고 64비트는 02:29:38 입니다.

 

e:\win7 부분은 각자 원본 파일을 풀어두신 폴더 경로를 적어줍니다.

 

HP 부분은 제가 만든게 홈 프리미엄이라서 그렇고

 

스타터 = ST

홈 베이직 = HB

홈 프리미엄 = HP

프로페셔널 = PR

엔터프라이즈 = EN

얼티밋 = UL

 

그리고 64비트의 경우 뒤에 X 까지 붙여주셔야 합니다. 예를 들어 프로페셔널 64비트라면 HP 자리에 대신 PRX 라고 적어주셔야겠지요?

 

64비트의 경우 조금 복잡합니다. 부팅에서 EFI 부팅을 넣어줘야 하더군요. 이 글을 참조하세요.

http://snoopy.textcube.com/989

스타터 버전의 경우 OEM 으로 올라왔기 때문에 라벨명이 다음과 같습니다.

GRMCSTFREO_EN_DVD

 

 

 

아래는 제가 만들어낸 MSDN 순수버전입니다. ^^ 다운받지도 않은 홈 프리미엄 버전을 소장하게 되었습니다 ㅎㅎ

 

댓글 35개:

  1. 이거 보니 윈도우 XP 도 MSDN 과 똑같이 만들었던 기억이 나네요 ㅎㅎ



    스타터 버젼은 볼륨명 GRMCSTFREO_EN_DVD 입니다.

    OEM으로 배포대었습니다.

    답글삭제
  2. 비밀 댓글 입니다.

    답글삭제
  3. @IRiS - 2009/08/13 21:10
    스타터 다운받고 글 수정하고 보니 댓글이 달려있네요 ㅠㅠ 조금만 빨랐으면 다운 안 받는건데 ㅎㅎ



    XP는 옵션 어떻게 하셨나요? 설마 이것도 표준시 때문이었나 ;;;

    답글삭제
  4. @Anonymous - 2009/08/13 21:11
    아마 포럼에 찾아보면 방법은 있을겁니다. 하지만 아무래도 불안정하고 오류가 많지 않을까요... 그리고 저는 그런거 안 합니다. 잘 아시면서 ^^;;

    답글삭제
  5. 비밀 댓글 입니다.

    답글삭제
  6. @Anonymous - 2009/08/13 21:32
    제가 관련 글 올린 기억은 없구요 유틸초보님의 툴을 사용해보세요.



    http://cafe.naver.com/unattend/5133

    답글삭제
  7. @snoopy - 2009/08/13 21:38
    감사합니다 많은 도움되었습니다 아직 배워봐야겠지만요

    답글삭제
  8. 한가지 물어보고싶은게 있는게요..

    요즘 돌아다니는 AIO(All in One) 이미지를 다시 한개씩 이미지로 돌릴수 있는지..



    즉, AIO이미지에 32비트와 64비츠 이미지가 같이 있다면 32비트 이미지중 스터터, 홈제이직, 홈프레미엄등을 따로 나눠서 이미지로 만들수 있는지..

    있다면 어떻게 하는 방법이나 링크라도 좀 알려주시면 감사하겠습니다.

    답글삭제
  9. @karas - 2009/08/13 21:56
    imagex /export h:\sources\install.wim 1 e:\install.wim



    하시면 H 드라이브에 들어있는 윈도우 7 DVD에서 install.wim 파일의 인덱스 1번 에디션을 추출합니다. 보통 스타터 버전을 먼저 넣었겠지요.



    제 블로그에서 imagex 라고 검색해보세요. 관련 글이 엄청 많이 있습니다.

    답글삭제
  10. 컴퓨터라는게 참 어렵네요 ..전 하나도 못알아 듣겠다는 -_-;; ㅋ

    답글삭제
  11. UDF 1.02군요.



    http://en.wikipedia.org/wiki/Universal_Disk_Format



    뭐, 굳이 높은 버전을 쓸 필욘 없겠죠.

    답글삭제
  12. @Cadence - 2009/08/14 01:13
    그냥 이런거에 관심있는 분들만 알아보시면 되요 ㅎ 별로 쓸모는 없고 단순히 재미삼아 ^^;;

    답글삭제
  13. @드로이얀7(이준호) - 2009/08/14 01:23
    호환성 때문에 그런가봐요 ^^;;

    답글삭제
  14. 어둠 루트 공유시 어느게 진짜인지 가짜인지 구분을 못하겠네요.

    답글삭제
  15. @고구마2 - 2009/08/14 03:27
    파일 하나가 1바이트라도 틀리면 해쉬값은 틀리게 나옵니다.

    그 파일이 MSDN 다이렉트로 받은게 아니고 유저가 제작한 파일일지라도 해쉬값이 같다면 믿고 받으시면 댑니다.

    답글삭제
  16. 수고하셨습니다~^^

    저도 먼말인지 모르겠습돠...ㅋ

    답글삭제
  17. @고구마2 - 2009/08/14 03:27
    진짜와 가짜라뇨... 1비트라도 다르면 다른 파일이 됩니다. 해쉬값이 같게 나오려면 두 파일이 완전히 동일해야 합니다. 처음부터 끝까지 1001011101000101 이런 바이너리 숫자배열이 100% 같다는 말입니다. 즉 저렇게 만든 파일은 진짜 파일입니다. 왜냐하면 MS에서 똑같은 파일과 똑같은 도구로 똑같은 방법으로 저렇게 만들었기 때문이죠.

    답글삭제
  18. @Dark Star - 2009/08/14 09:46
    별로 알아둘 필요는 없는 내용이에요 ^^

    답글삭제
  19. @IRiS - 2009/08/13 21:10
    IRiS님 XP 만들어보니 해쉬가 다르네요.

    바이너리 비교해보면 날짜가 저장되는 부분이 원본 이미지랑 차이가 있습니다.

    cdimage로 생성한 iso는 2008041412000000 다음이 0x00이고 원본 iso는 0x16이네요.

    뭔가 옵션이 하나 또 있는 걸까요?

    답글삭제
  20. 스누피 여기만 들어면



    컴퓨터가 다운되요



    컴사양이 낮아서 그렇긴하지만,,,



    뭔가 이상한듯....



    댓글에 이상한거 달려 있는듯해요



    방명록도 그렇고요

    답글삭제
  21. @mxmsdn - 2009/08/14 18:22
    xp sp3 같은 경우 즉 원본 파일만 그대로 가지고 있을경우 MSDN 이미지와 해쉬값이 똑같이 제작할수가 있습니다.

    xp sp3는 cdimage 2.52 버젼을 사용하였으며 표준시간과는 상관이 없었습니다.



    예) xp home k with sp3 리테일 제작시

    cdimage -nt -o -g22 -xx -bboot.bin -t4/14/2008,12 -lgrtmhkfpp_ko c:\setup grtmhkfpp_ko.iso

    답글삭제
  22. @IRiS - 2009/08/14 22:12
    헐 혹시나 해서 다시 해보니 해쉬값이 틀려지는 이유가 하나가 더 있네요. 부팅화일도 틀리니 해쉬값이 다르게 나오네요 ;; sp2에서 추출한 부팅파일로 시디 제작해보니 틀리게 나오네요.

    답글삭제
  23. @IRiS - 2009/08/13 21:10
    저도 달랐는데 제가 잘못한건 아닌가보네요. 날짜쪽이 문제라고 하시니 표준시 쪽을 건드려봐야겠습니다.

    답글삭제
  24. @IRiS - 2009/08/13 21:10
    드디어 해시가 일치하는 이미지 생성에 성공했습니다.

    위에 말씀드린 부분이 시간대(timezone)와 연관이 있는 데이터이고 GMT 기준으로 15분 간격의 정수로 표현하게 되어있습니다.

    추측일 뿐이지만 IRiS님이 사용하신 cdimage.exe는 -g 옵션으로 타임존을 설정할 수 있게 패치된 버전인 것 같구요. 22 = 0x16으로 정확하게 일치합니다.

    그럼 -g 옵션을 빼고 맞는 시간대로 변경을 해주면 되는 것이죠.

    그래서 맞는 시간대를 찾아봤습니다.

    15 * 22 = 330분 = 5시간 30분

    UTC+05:30은 첸나이,콜카타,뭄바이,뉴델리인 것을 보니 아마도 인도에서 ISO 이미지를 작성한 듯 싶습니다.

    지금은 timezone을 설정할 수 있는 cdimage.exe를 찾는 중입니다.

    답글삭제
  25. @IRiS - 2009/08/13 21:10
    mxmsdn 님 덕분에 저도 해쉬값 일치하는 이미지 성공했습니다. 역시 표준시 문제가 맞았군요. 저도 G 뒤에 숫자 넣는 옵션은 작동을 안 하던데 되는걸로 찾아보겠습니다. 더불어 IRiS 님의 -xx 옵션도 큰 도움이 되었습니다. 예전엔 그냥 -x만 붙였거든요. 암튼 두분 다 감사드립니다.

    답글삭제
  26. trackback from: Windows 7 Professional at MSDN academic alliance
    IEEE Computer Society를 통해서 MDSN academic alliance 의 계정을 얻었습니다. Windows Vista의 경우 Ultimate를 제외한 모든 버전의 다운로드가 가능합니다. (물론 영어버전뿐입니다. MUI를 지원하므로 큰 문제 없어보입니다.) 최근 매일 들어가서 검색하던 중에 며칠전에 Windows 7의 Professional 버전이 릴리즈 된 것을 확인하였습니다. 다른 버전 Home Basic이나 Home Premi..

    답글삭제
  27. @IRiS - 2009/08/13 21:10
    cdimage -g 옵션 설정할 수 있는 버전입니다.

    http://mxmsdn.textcube.com/1/attach/cdimage.zip

    답글삭제
  28. @IRiS - 2009/08/13 21:10
    감사합니다. 찾는다고 고생 많으셨겠어요 ^^ 두분 덕분에 저도 좋은거 배웠습니다~

    답글삭제
  29. Windows 7 Ultimate K 32bit의 제작시간은

    Tue Jul 14 19:55:59 2009 (한국시간?)

    입니다.

    답글삭제
  30. @Hide_D - 2009/08/29 10:38
    저녁에 집에 가서 UTC 확인하고 글 올리겠습니다.

    답글삭제
  31. 자꾸 해쉬값이 틀린데 뭐가문제일가요..



    시간바꿧고 제대로 따라햇는데

    답글삭제
  32. @VOICEONE - 2009/08/30 00:09
    이 글은 영문판 기준이고 한글판 글 따라하신거 맞나요?

    답글삭제
  33. 왜 전 다른 이미지에 sourses 폴더에도 ei.cfg 파일이 없을까요.. 시스템 숨김파일,확장자 숨김 모두 풀어도 안보이네요..;;

    답글삭제
  34. @문지성 - 2009/09/06 18:42
    순수 이미지 아니라 AIO 버전이면 그 파일 삭제하고 만듭니다.

    답글삭제
  35. 비밀 댓글 입니다.

    답글삭제