window install at usb disk for mac os x by virtual machine

맥에서 윈도우 버전 실험용으로.. 설치법

윈도우7이상 가상머신에서

  1. GetWaikTools 다운로드
    • http://www.rmprepusb.com/tutorials/getwaiktools
    • C:\wim\GetWaikTools.exe 에 복사
  2. Windows의 ISO 이미지 파일 마운트
    • install.wim 복사 => C:\win\install.wim
  3. 관리자 권한으로 cmd.exe 명령프롬프트 실행
    • usb 외장하드 포맷
      • diskpart
      • list disk
      • select disk #디스크번호
      • clean
      • create partition primary size=350
      • format fs=fat32 quick
      • active
      • assign letter=f
      • create partition primary
      • format fs=ntfs quick
      • assign letter=g
      • exit
    • GetWaikTools.exe 더블클릭 실행
      • 윈도우 버전에 맞는 툴 다운로드
      • 32비트 => x86폴더
      • 64비트 => amd64폴더
    • 윈도우 설치
      • cd C:\wim\waik_4\amd64
      • 설치할 패키지 번호 확인
        • imagex.exe /info C:\wim\install.wim
      • 패키지 설치 시작
        • imagex.exe /apply C:\wim\install.wim 1 g:
      • 부트섹터 작성
        • g:\windows\system32\bcdboot g:\windows /f ALL /s f:
        • 윈도우7의 경우
          • g:\windows\system32\bcdboot g:\windows /s f:
          • usb 부팅 명령 추가
          • c:\wim\set_7_usb_boot.cmd 소스작성
          • c:\wim\set_7_usb_boot.cmd g:\windows

--------------------------------------------------------

c:\wim\set_7_usb_boot.cmd 파일 소스

--------------------------------------------------------

@echo off
setlocal EnableExtensions EnableDelayedExpansion
pushd %~dp0

rem set_7_usb_boot.cmd  v0.02
rem created by cdob
echo prepare offline windows 7 registry, set USB boot drivers &echo.

set System_Root=\Windows
if not %1.==. set System_Root=%1

if not exist "%System_Root%\system32\config\system" set /P System_Root=Path to your SystemRoot folder on usb drive (e:\Windows): 
if not exist "%System_Root%\system32\config\system" (echo Error: target not found &pause &popd &goto :eof)

copy "%System_Root%\system32\config\system" "%System_Root%\system32\config\system_%random%.sav"
reg.exe load HKLM\loaded_SYSTEM "%System_Root%\system32\config\system"

set ControlSetDefault=
call :setReg Default
call :setReg LastKnownGood

reg.exe unload HKLM\loaded_SYSTEM
popd

goto :eof

:setReg
 set ControlSet=001
 reg.exe query "HKLM\loaded_SYSTEM\Select" /v "%1" >nul 2>&1 && (
  for /f "skip=2 tokens=3" %%a in ('reg.exe query "HKLM\loaded_SYSTEM\Select" /v "%1"') do set /a ControlSet=%%a
  set ControlSet=000!ControlSet!
 )
 set ControlSetNNN=ControlSet%ControlSet:~-3%
 if %ControlSetDefault%.==%ControlSetNNN%. goto :eof
 echo. &echo ControlSet "%ControlSetNNN%" used.

 set Services=HKLM\loaded_SYSTEM\%ControlSetNNN%\Services
 set Control=HKLM\loaded_SYSTEM\%ControlSetNNN%\Control

 rem http://msdn.microsoft.com/en-us/library/ff794567(v=winembedded.1001).aspx
 rem Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive
 rem http://technet.microsoft.com/en-us/library/ee731893%28WS.10%29.aspx
 reg.exe add %Control%\PnP /f /v PollBootPartitionTimeout /t REG_DWORD /d 30000
 rem Loads VHD, SD, and USB boot drivers.
 reg.exe add %Control% /f /v BootDriverFlags /t REG_DWORD /d 0x6

 set ControlSetDefault=%ControlSetNNN%
goto :eof