Windows 11 사용자 폴더를 다른 드라이브에 만들기

/
简体中文한국어
요약 ·
Windows 11을 새로 설치할 때 감사 모드와 응답 파일을 사용하여 사용자 디렉터리가 처음부터 비시스템 드라이브에 만들어지도록 합니다.

Windows의 사용자 디렉터리는 기본적으로 C:\Users에 있으며, 바탕 화면, 문서, 다운로드, 사진은 물론 앱이 AppData에 저장하는 캐시와 설정까지 모두 이곳에 들어갑니다. 사용하다 보면 시스템 드라이브가 금세 꽉 찹니다.

몇 가지 우회 방법은 있습니다. 문서나 다운로드 폴더의 속성에서 위치를 바꿀 수 있지만, 그 폴더만 이동할 뿐 AppData는 그대로 남습니다. Windows를 설치한 뒤 레지스트리를 수정하거나 mklink /J로 디렉터리 정션을 만드는 방법도 있습니다. 하지만 기존 사용자 프로필에는 예전 경로가 곳곳에 남아 있고 권한도 맞지 않을 수 있어, 나중에 앱을 설치하거나 업데이트할 때 문제가 생기기 쉽습니다.

더 깔끔한 방법은 Windows를 설치한 직후, 아직 사용자 계정을 만들기 전에 저장 위치를 지정하는 것입니다. 첫 사용자 프로필부터 새 위치에 생성되도록 하는 것이죠. 이를 위한 설정이 응답 파일의 ProfilesDirectory입니다. Windows 11을 새로 설치할 때 적용하는 방법을 정리했습니다.

원리

ProfilesDirectory는 Microsoft-Windows-Shell-Setup 구성 요소의 FolderLocations에 속한 설정이며, oobeSystem 구성 단계에서 적용됩니다. OOBE는 설치 후 지역 선택, 네트워크 연결, 계정 생성을 진행하는 초기 설정 과정입니다. 사용자 디렉터리는 이 단계 이후에 만들어집니다.

OOBE에 들어가기 전에 이 설정을 담은 응답 파일을 Windows에 전달하면 됩니다. 이때 감사 모드를 사용합니다. 설치 완료 후 OOBE에 앞서 기본 제공 관리자 계정으로 로그인할 수 있는 환경으로, 응답 파일을 지정해 Sysprep을 실행한 뒤 OOBE로 돌아갈 수 있습니다.

Mermaid diagram

설정 절차

감사 모드로 들어가기

Windows를 설치하다 지역 선택 화면이 나타나면 더 진행하지 말고 Ctrl + Shift + F3를 누릅니다. 재부팅 후 기본 제공 관리자 계정으로 바탕 화면에 로그인되고 Sysprep 창이 열립니다. 이 창은 닫아 둡니다. 나중에 명령줄에서 실행하면 됩니다.

감사 모드에 들어가기 전에는 가능하면 LAN 케이블을 뽑거나 Wi-Fi를 꺼 둡니다. 온라인 상태에서는 스토어 앱이 자동 업데이트될 수 있고, 이런 사용자별 업데이트는 Sysprep 실패의 원인이 됩니다. 네트워크를 끊어 두면 이 문제를 피할 수 있습니다.

데이터 드라이브 준비

대상 드라이브는 NTFS 형식이어야 하며, 다른 Windows가 설치되어 있으면 안 됩니다. 새 드라이브라면 먼저 ‘디스크 관리’에서 초기화와 파티션 생성, 포맷을 마칩니다.

Important

감사 모드의 드라이브 문자는 설치 프로그램에서 본 것과 다를 수 있습니다. 응답 파일을 쓰기 전에 파일 탐색기에서 대상 드라이브의 현재 문자를 확인하세요.

응답 파일 작성

메모장으로 새 파일을 만들어 대상 드라이브의 루트 디렉터리에 저장합니다. 여기서는 파일 이름을 relocate.xml로 하겠습니다. ‘파일 형식’은 ‘모든 파일’, 인코딩은 UTF-8을 선택합니다.

XML
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
  <settings pass="oobeSystem">
    <component name="Microsoft-Windows-Shell-Setup"
               processorArchitecture="amd64"
               publicKeyToken="31bf3856ad364e35"
               language="neutral"
               versionScope="nonSxS"
               xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <FolderLocations>
        <ProfilesDirectory>D:\Users</ProfilesDirectory>
      </FolderLocations>
    </component>
  </settings>
</unattend>

processorArchitecture는 시스템에 맞춰야 합니다. 일반적인 64비트 PC는 amd64를, ARM 장치는 arm64를 지정합니다. ProfilesDirectory에는 원하는 저장 위치를 지정합니다. D:\Users는 예시이며, 경로를 비워 둘 수는 없습니다.

Sysprep 실행

명령 프롬프트를 관리자 권한으로 엽니다. Windows Media Player 네트워크 공유 서비스도 Sysprep에 영향을 줄 수 있으므로 먼저 중지한 뒤, 응답 파일을 지정해 Sysprep을 실행합니다.

CMD
net stop wmpnetworksvc
%windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:d:\relocate.xml

/oobe는 작업 후 OOBE로 돌아가는 옵션이고, /reboot는 재부팅하는 옵션입니다. /unattend에는 앞서 만든 응답 파일을 지정합니다. 잠시 후 재부팅되어 지역 선택 화면이 다시 나타나면, 이번에는 정상적으로 설정을 마치고 사용자를 만듭니다.

결과 확인

시스템에 들어간 후 명령 프롬프트를 엽니다.

CMD
echo %USERPROFILE%

출력이 D:\Users\用户名처럼 표시되고 마지막 부분에 실제 사용자 이름이 들어가면 성공입니다. 예시의 중국어 부분은 사용자 이름을 뜻합니다. 이 위치를 기록하는 레지스트리 항목도 확인할 수 있습니다.

CMD
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory

Sysprep이 실패할 때

Sysprep 오류 창만으로는 원인을 알기 어려워 로그를 확인해야 합니다. 저장 위치는 %windir%\System32\Sysprep\Panther 아래에 있으며, setupact.log에는 전체 과정이, setuperr.log에는 오류만 기록됩니다. error나 fail을 검색하면 문제가 생긴 단계를 찾을 수 있습니다.

흔한 원인은 앞서 설명한 스토어 앱 업데이트와 네트워크 공유 서비스의 중지 누락입니다. 앱 문제라면 ‘패키지가 특정 사용자에게 설치되었지만 모든 사용자에게는 프로비전되지 않았다’는 취지의 메시지와 앱 이름이 로그에 나옵니다. PowerShell로 해당 앱을 제거한 뒤 Sysprep을 다시 실행합니다. 아래 명령의 중국어 앱 이름 부분은 실제 앱 이름으로 바꿔 주세요.

POWERSHELL
Get-AppxPackage *应用名* | Remove-AppxPackage

Sysprep은 동시에 하나만 실행할 수 있습니다. 중복으로 실행하거나 이전 실행이 비정상 종료된 경우에도 곧바로 오류가 날 수 있으니, 재부팅한 뒤 다시 시도합니다.

제한 사항

이 방법은 사용자 디렉터리가 만들어지기 전에만 쓸 수 있습니다. 이미 설치해서 사용 중인 시스템이라면 Windows를 다시 설치한 뒤 진행해야 합니다. 다만 나중에 Windows를 재설치하면서 시스템 드라이브를 포맷해도 데이터 드라이브의 사용자 파일은 남아 있어, 필요한 파일을 그대로 가져올 수 있습니다.

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...