Today
-
Yesterday
-
Total
-
  • 윈도우 설치 USB 이미지 업데이트하기
    Soliloquy 2021. 12. 24. 23:01
    Windows 로고

     

    윈도우 설치 미디어로 사용 중인 8GB의 USB에 저장공간이 조금 남아서, 설치 USB를 자료 보관 용도로도 사용하곤 했다. 자료 보관 용도로도 잘 사용하고, 윈도우를 재설치하거나 오류를 해결해야 할 경우가 생길 때 유용하게 사용할 수 있었다.

     

    시간이 흐르며 USB에 담긴 윈도우는 설치 미디어를 만들 당시 버전과 현재 버전이 상당히 차이 났다. 그래서 USB로 윈도우를 설치한 후에 윈도우 업데이트가 상당히 많아지고 보안 문제도 발생한다.

     

    윈도우 설치 USB를 다시 만들기에는 USB 내의 자료를 백업해야 하고, 최신 버전의 윈도우 설치 USB를 받고 만드는데 걸리는 시간도 고려해야 하고... 윈도우 설치 USB의 윈도우 버전 관리는 여간 번거로운 게 아니다.

     

    다행히도, USB 내 sources 폴더의 install.esd(또는 install.wim) 파일 교체를 통해 최신 버전의 윈도우로 설치할 수 있는 방법이 있다.

     

    여기서 install.esd나 install.wim 파일은 Windows, Program Files 폴더 등 윈도우에 관한 파일이 담겨있다. 윈도우 설치는 이 이미지 파일을 설치하려는 컴퓨터에 복사하고, 파일 내부의 내용을 꺼내는 과정으로 이루어 진다. [각주:1]

     

    그래서 이미지 파일만 교체하면 2015년도에 제작한 구버전의 윈도우10 설치 USB가 최신 버전의 윈도우를 설치하게 만들 수 있다. 윈도우 10 USB에서 11응 설치하게 만들 수도  있다.실제로 윈도우 11도 이 방법으로 설치하면 미지원 CPU에서도 설치할 수 있어서 사용되었던 방법이다.

     

    주의해야 할 점

    다만, 주의해야 할 점이 있다. 기존 USB 설치 미디어의 언어 새 윈도우의 언어가 다르면 설치 시 0x80000001 오류가 나타나니 기존 버전의 언어와 동일한 언어를 선택해야 한다. 예를 들면 한글 버전의 USB에 영어 버전 이미지를 설치하면 설치가 불가능하고, 영어 버전의 USB에 영어(국제) 버전 또한 설치에 실패한다.

     

    영문 설치 미디어에 한글 이미지 파일을 사용할 경우 발생하는 에러

    Windows could not set the offline locale information. Error code: 0x80000001

     

    그리고 너무 오래된 윈도우10 설치 미디어에서는 불가능 한 것 같다. 2017년 3월에 생성한 RS3 버전의 설치 미디어에서는 install.esd 파일 교체로 21H2를 설치할 수 있었지만, 2015년 윈도우 10 초창기 1507 버전 설치 미디어에서는 실패했다. 여기에 관해서는 나중에 더 자세히 찾아보아야겠다.

     

    2015년 윈도우 설치 USB에다가 21H2 install.esd 파일을 사용한 경우 아래와 같은 메시지가 나온다.

    Setup cannot continue due to a corrupted installation file. Contact the vendor of your Windows installation disc or your system administrator for assistance.

     

    ※ install.wim과 install.esd 파일의 차이

     

    install.esd 파일은 install.wim 파일을 더욱 압축한 것이다.[각주:2] install.wim 파일이 4기가를 초과하는 반면에, install.esd 파일은 3기가 내외의 크기를 가진다.

     

    install.wim 파일은 현재 4기가가 넘는 크기로, USB가 UEFI부팅에 필요한 FAT32 형식이라면, install.wim파일을 사용할 수 없다. 윈도우 설치 미디어 생성 도구를 이용하여 설치 USB를 만든 경우 이에 해당된다. [각주:3][각주:4]

     

    install.wim을 7-Zip으로 연 모습 OS 폴더가 보인다.

     

    이를 통해 손쉽게 교체할 수 있는 장점이 있지만, 한 가지 문제가 있다면 .esd 파일과 .wim 파일을 구하는 게 쉽지 않다는 점이다. 받은 파일이 믿을 만 한지 의심되기도 하고... 그래서 .esd나 .wim 파일을 나름 공식적으로 구하는 방법 위주로 찾아보았다.

     

    1. install.wim 파일 이용하는 방법

    install.wim 파일은 용량이 4GB 이상이다. USB 디스크의 파일 시스템이 NTFS라면 .wim파일을 복사 붙여넣기 만으로 적용 가능하며, 파일 시스템이 FAT32라면 .wim 을 분할하여 여러 개의 .swm 파일로 저장함으로서 FAT32의 4GB 제한을 피해 사용가능하다.

     

    공식 ISO 파일을 통해 .wim 파일 생성하기

    마이크로소프트 공식 윈도우10 ISO 사이트를 통해서 ISO 파일을 받는 방법이다.

    1.  브라우저의 개발자 도구로 모바일로 User-Agent를 변경한다.
    2. www.microsoft.com/software-download/windows10ISO 에 접속하여 .iso 파일을 받는다. 작성일 기준으로 만일 브라우저가 모바일 User-Agent가 아니면 ISO 생성 도구 다운로드 페이지로 리다이렉트 된다.
    3. USB 윈도우 설치 미디어의 sources 폴더 내 install.esd(또는 .wim)를 제거, 다운로드 한 .iso 파일 내 sources 폴더의 install.wim 파일을 붙여 넣는다.

     

    ISO 파일 다운로드 사이트의 모습 (좌)와 파일 내 install.wim 파일 모습 (우)

     

    install.wim 파일을 분할, .swm 파일 생성하기

    앞서 말했듯 FAT32 파일 시스템의 제약으로 FAT32 USB의 경우 DISM(배포 이미지 서비스 및 관리)를 이용하여 위에서 받은 .wim을 여러 개의. swm으로 분할한다.

     

    명령 프롬프트나 PowerShell를 관리자 권한으로 실행한 뒤에 아래와 같은 DISM 명령어를 사용한다. swm 파일의 크기인 FileSize를 4096보다 작게 해 주면 된다.

    dism /Split-Image /ImageFile:<path_to_image_file> /SWMFile:<path_to_swm> /FileSize:<MB-Size> [/CheckIntegrity]

     

    아래는 .iso 파일을 가상 드라이브(D:)에 마운트 한 후 가상 드라이브 안의 wim 파일을 USB(F:)에 나눠서 저장한 명령과 그 결과를 나타낸다. 작업 중에는 아무런 메시지도 표시되지 않으므로 기다리기만 하면 된다.

     

    C:\windows\system32>dism /Split-Image /ImageFile:"D:\sources\install.wim" /SWMFi
    le:"F:\sources\install.swm" /FileSize:3000 /CheckIntegrity
    
    Deployment Image Servicing and Management tool
    Version: 6.3.9600.19408
    
    The operation completed successfully.

     

    .swm 파일을 저장한 결과

     

    기존 USB의 install.esd(install.wim) 파일을 제거한 뒤에 윈도우를 설치하면 된다.

     

    2. install.esd 파일을 이용하는 방법

    USB가 FAT32로 포맷되어 파일당 4GB의 제약을 받을 경우 파일 분할 없이 사용하며, 윈도우 설치 파일 용량을 최대한 줄일 수 있는 방법이다.

    윈도우 설치 미디어 생성 도구를 이용하는 방법

    .esd를 구하는 방법 중 하나는 윈도우 설치 미디어 생성 도구를 이용하는 방법이다.

    1. 윈도우 설치 미디어 생성 도구(www.microsoft.com/software-download/windows10)을 다운로드 한 후 실행한다.
    2. 미디어 생성 도구에서 ISO 만들기를 하여 .iso 파일을 만들고, .iso 파일 내부의 sources 폴더의 install.esd 파일을 추출한다.
    3. USB의 sources 폴더 내 install.esd(또는 .wim)를 제거, 새로 만든 .esd 파일로 교체한다.

     

    만들어진 .iso 파일 내부의 모습

     

    윈도우 설치 미디어 생성 도구의 .esd 다운로드 경로를 이용하는 방법

    윗 방법보다 복잡하지만, ISO를 만들지 않고 install.esd 파일을 추출하는 방법으로 시간이 좀 더 적게 걸리며 한 에디션에 대한 .esd 파일만 생성한다. 다소 번거롭긴 하지만, 이 방법은 시간이 조금 더 적게 걸리며 저장공간을 적게 사용하는 장점이 있다.

     

    1. 윈도우 설치 미디어 생성 도구(www.microsoft.com/ko-kr/software-download/windows10)을 다운로드한 후 실행한다.
    2. 설치 미디어 생성 도구를 열어둔 채로 C:\$Windows.~WS\Sources로 이동한다. 이 폴더는 설치 미디어 생성 도구를 사용하는데 필요한 파일들이 담겨 있는 폴더이며, 숨긴  폴더로 설정되어 있다.
    3. 해당 폴더의 products.xml 파일을 열고, xml 파일에서 필요에 맞는 Language, Edition, Architecture를 잘 구분해서 .esd 파일의 <FilePath>태그 내의 다운로드 주소를 얻는다. 예를 들면 한국어 버전, Professional 버전이면서 64비트 윈도우는 아래와 같은 구성이다.

                <File id="">
                  <FileName>19044.1288.211006-0501.21h2_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_ko-kr.esd</FileName>
                  <LanguageCode>ko-kr</LanguageCode>
                  <Language>Korean (Korea)</Language>
                  <Edition>Professional</Edition>
                  <Architecture>x64</Architecture>
                  <Size>3695635824</Size>
                  <Sha1>03509991b42d69ff4d76759689205b2840471f05</Sha1>
                  <FilePath>http://dl.delivery.mp.microsoft.com/filestreamingservice/files/beca419e-cdcc-4fe6-8c30-c62aceb6f95d/19044.1288.211006-0501.21h2_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_ko-kr.esd</FilePath>
                  <Key />
                  <Architecture_Loc>%ARCH_64%</Architecture_Loc>
                  <Edition_Loc>%CLIENT%</Edition_Loc>
                  <IsRetailOnly>False</IsRetailOnly>
                </File>​
    4. <FilePath> 태그 내의 http:// 주소를 통해 .esd 파일을 다운로드한다.
    5. 명령 프롬프트나 Powershell을 관리자 권한으로 실행시킨 후, dism을 아래의 명령어를 이용하여 실행하여 내가 원하는 에디션 색인 번호를 확인한다.

      DISM 명령어
      dism /get-wiminfo /wimfile:".esd 파일 경로"​

      실행 모습
      C:\Users\...\Downloads>dism /get-wiminfo /wimfile:"19044.1288.211006-0501.21h2_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-us.esd"
      
      Deployment Image Servicing and Management tool
      Version: 6.3.9600.19408
      
      Details for image : 19044.1288.211006-0501.21h2_release_svc_refresh_CLIENTCONSUM
      ER_RET_x64FRE_en-us.esd
      
      Index : 1
      Name : Windows Setup Media
      Description : Windows Setup Media
      Size : 276,363,922 bytes
      
      Index : 2
      Name : Microsoft Windows PE (x64)
      Description : Microsoft Windows PE (x64)
      Size : 1,735,189,011 bytes
      
      Index : 3
      Name : Microsoft Windows Setup (x64)
      Description : Microsoft Windows Setup (x64)
      Size : 1,898,314,686 bytes
      
      Index : 4
      Name : Windows 10 Home
      Description : Windows 10 Home
      Size : 14,826,317,709 bytes
      
      Index : 5
      Name : Windows 10 Home N
      Description : Windows 10 Home N
      Size : 14,047,483,249 bytes​


    6. 아래 명령을 통해 install.esd 파일을 생성한다. 생성 시간은 약 2분 정도로 그렇게 오래 걸리지 않는다. 참고로 DestinationImagefile 경로를 USB로 해도 된다.

      DISM 명령어
      dism /export-image /sourceimagefile:".esd 파일 경로" /sourceindex:"색인 번호" /destinationimagefile:"저장할 .esd 파일 경로" /compress:recovery /CheckIntegrity​


      실행 모습
      C:\Users\...\Downloads>dism /export-image /sourceimagefile:"19044.1288.211006-0501.21h2_release_svc_refresh_CLIENTCONSUMER_RET_x64FRE_en-us.esd" /sourceindex:9 /destinationimagefile:"install.esd" /compress:recovery /CheckIntegrity
      
      Deployment Image Servicing and Management tool
      Version: 6.3.9600.19408
      
      Exporting image
      [==========================100.0%==========================]
      The operation completed successfully.​
       
    7. 만들어진 install.esd 파일을 윈도우 설치 미디어 USB 내 sources 폴더의 install.esd(또는 install.wim)과 교체 후 윈도우 10을 설치한다.

     

    글 작성 당시 1709 Home 버전 USB에서 21H2 Pro 버전 esd 이미지로 변경하여 설치에 성공했다.

     

    여담

     

    최신 버전의 윈도우가 아닌 이전 버전 윈도우 설치도 가능하다. Universal MCT wrapper script(github.com/AveYo/MediaCreationTool.bat/blob/main/MediaCreationTool.bat)를 이용하면 이전 버전의 미디어 생성 도구를 받을 수 있는데, 이를 이용해 이전 버전의 install.esd 파일도 얻을 수 있다.

     

    Universal MCT wrapper script에 기록된 각 버전별 .CAB 파일에는 해당 버전의 products.xml 파일이 저장되어 있다. 이를 통해 윈도우 설치 미디어 생성 도구 실행 없이 .esd 파일을 만들 수도 있다.

     

    이전 달까지의 보안 패치가 통합된  버전을 받고 싶다면, MSDN에서 월별로 배포되는 Windows 순정 iso 파일에서 wim 파일을 사용하면 된다. MSDN은 유료인게 흠이다. 다만, 인터넷에서 직접 구할 수 있긴 하다.

     

    출처

    USB를 FAT32로 포맷하는 이유: https://qr.ae/pGzT2o

     

    USB가 윈도우 이미지가 4기가바이트 보다 보다 클 때 조치 사항: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/install-windows-from-a-usb-flash-drive?view=windows-11#if-your-windows-image-is-larger-than-4gb

     

    DISM split-image 사용법 : https://docs.microsoft.com/ko-kr/windows-hardware/manufacture/desktop/dism-image-management-command-line-options-s14?view=windows-11#split-image

     

    [본문 SVG 파일]

    Windows_logo_and_wordmark_-_2021.svg
    0.00MB

     

     

    1. 참조: 윈도우 설치 과정에 관해: https://superuser.com/a/406341 [본문으로]
    2. wim파일로 esd파일을 만들 수도 있고, 역으로도 가능하다. 하지만 wim파일을 esd로 바꾸면 압축으로 인해 시간이 다소 소요된다. [본문으로]
    3. 4기가 이상의 파일을 저장할 수 없음에도 FAT32 형식을 이용하는 이유는 UEFI 부팅은 NTFS와 호환이 되지 않기 때문으로 추정된다. [본문으로]
    4. Rufus를 이용해 UEFI 부팅에서 NTFS를 사용하는 방법이 있긴하다. [본문으로]

    댓글

어제는 이곳에 명이 다녀갔습니다.

Powered & Designed by Tistory