Windows 사용자 프로필 입문 - AppData와 NTUSER.DAT

· · Windows, 사용자 프로필, AppData, FSLogix, 로밍 프로필, Windows 개발

이 글은 Windows를 관리하는 정보시스템 담당자, 단말 배포 담당자, Windows 앱 개발자를 대상으로 일반론으로서 정리한 것입니다. 그림은 개념도입니다. Mermaid를 지원하는 Markdown 환경에서는 도표로 표시됩니다.

내용은 2026년 4월 시점에서 확인할 수 있는 Microsoft의 공식 정보를 전제로 합니다.[1][4][7][10][13][14]

Windows 관련 상담에서 ‘프로필’이라는 말은 꽤 넓은 의미로 쓰입니다.

  • C:\Users\사용자 이름의 내용은 무엇인가
  • %AppData%%LocalAppData%는 어떻게 구분해서 써야 하는가
  • 도메인 환경의 로밍 프로필이란 무엇인가
  • Mandatory 프로필과 Temporary 프로필은 무엇이 다른가
  • 공유 PC, RDS, VDI, Azure Virtual Desktop에서는 무엇을 선택해야 하는가
  • 프로필이 손상되었을 때 어디부터 봐야 하는가

이 부분은 계정, 폴더, 레지스트리, 동기화 방식, 운영 정책이 한꺼번에 뒤섞이기 때문에, 이야기가 금방 어긋나기 쉽습니다.

이 글에서는 먼저 Windows 사용자 프로필을 한 장의 설계도로 보는 시각을 세우고, 그 위에서 AppData 구분 사용, 로밍, Mandatory, Temporary, FSLogix, 문제 발생 시 확인 방법까지 순서대로 정리합니다.

1. 먼저 결론

세부적인 이야기로 들어가기 전에, 실무상의 결론을 먼저 정리해 둡니다.

  • Windows 사용자 프로필은 단순한 C:\Users\사용자 이름 폴더가 아닙니다. 파일 그룹 + 사용자 레지스트리 하이브(NTUSER.DAT)의 집합입니다.[1]
  • 일반적인 로컬 PC에서는 기본적으로 로컬 프로필이 만들어집니다. 최초 로그인 시에는 C:\Users\Default를 바탕으로 새 프로필이 생성됩니다.[11][12]
  • 앱의 저장 위치는 대충 정하지 않는 것이 좋으며, 사용자마다 가지고 다니고 싶은 설정은 %APPDATA%, 해당 PC 전용 캐시나 일시적인 상태는 %LOCALAPPDATA%로 정리하는 것이 기본입니다.[2][3]
  • 로밍 프로필은 ‘프로필 전체를 공유 위치로 옮기는’ 방식이고, Folder Redirection은 ‘Documents 같은 알려진 폴더만 다른 위치로 옮기는’ 방식으로, 서로 같지 않습니다.[4][5]
  • Mandatory 프로필은 ‘사용은 하게 하지만 저장은 시키지 않기’ 위한 읽기 전용 프로필입니다. Temporary 프로필은 오류 발생 시의 긴급 대피용으로, 매번 사라지는 것을 전제로 합니다.[7][8][9]
  • OS 세대를 넘나드는 로밍 프로필은 주의가 필요합니다. Windows 10 / Server 2016 이후와 그 이전은 서로 호환되지 않으며, 프로필 버전을 구분해서 다룬다는 전제로 생각해야 합니다.[6]
  • RDS / VDI / Azure Virtual Desktop에서는 기존의 로밍 프로필만으로 밀어붙이기보다, FSLogix 프로필 컨테이너를 1순위로 검토하는 경우가 꽤 많습니다. Microsoft도 Azure Virtual Desktop에서는 FSLogix를 권장하고 있습니다.[13][14]
  • 문제가 발생했을 때는 곧바로 C:\Users를 손대기 전에, Application 로그, User Profile Service의 Operational / Diagnostic 로그, 공유 경로, NTUSER.DAT / USRCLASS.DAT의 속성과 권한을 먼저 확인하는 쪽이 순서가 좋습니다.[10][11][16]

요컨대 Windows 프로필 이야기는 ‘어디에 무엇을 두고, 어디까지 가지고 다니며, 실패 시 어떻게 되돌릴 것인가’로 귀결됩니다.

2. 애초에 Windows의 ‘사용자 프로필’이란 무엇인가

먼저 계정프로필을 나누어 생각하면 편해집니다.

사용자 계정누가 로그인하는가사용자 프로필그 사람의 설정과 데이터단말 / OS데스크톱 설정AppDataDocuments / Desktop 등HKCU로 보이는 설정
  • 계정은 누군가를 식별하는 것입니다
  • 프로필은 그 사람의 작업 환경의 실체입니다
  • 단말은 그 프로필을 읽어와 사용하는 곳입니다

Microsoft Learn에서도 사용자 프로필은 파일 시스템상의 프로필 폴더 그룹레지스트리 하이브 NTUSER.DAT를 포함하며, 로그온 시 이 하이브가 로드되어 HKEY_CURRENT_USER로 사용된다고 설명하고 있습니다.[1]

2.1 ‘폴더만’이 아니라 ‘레지스트리도 포함’

여기가 중요한 부분입니다.

로그인프로필 폴더 식별NTUSER.DAT 로드HKCU로 사용Desktop / Documents / AppData 준비사용자 설정 적용

즉, C:\Users\사용자 이름만 보고 있으면 아직 절반에 불과합니다.

Windows 프로필에는 크게 다음 2개의 계층이 있습니다.

  1. 파일 계층 Desktop, Documents, Downloads, AppData
  2. 레지스트리 계층 NTUSER.DAT가 로드된 HKCU

프로필 손상 이야기가 복잡해지는 이유는, 폴더 쪽만 손상되는 경우레지스트리 하이브 쪽에서 문제가 발생하는 경우가 둘 다 있기 때문입니다.[1][11]

2.2 최초 로그인에서는 Default가 바탕이 된다

새 사용자가 해당 PC에 처음 로그인할 때, Windows는 C:\Users\Default를 바탕으로 로컬 프로필을 생성합니다.[11]

C:\Users\Default최초 로그인C:\Users\사용자 이름 생성NTUSER.DAT 로드해당 사용자 전용 환경이 됨

이미지 배포나 키팅(kitting) 작업 맥락에서 이 부분을 대충 다루면, 나중에 꽤 곤란해집니다.

Microsoft는 기본 프로필을 커스터마이즈하는 방법에 대해, 지원되는 방법은 CopyProfile을 사용하는 방법이라고 설명하고 있습니다. 수동 복사나 예전 방식의 대충 복제는 불필요한 정보를 함께 가져오게 되어, 앱이나 시스템 안정성에 문제를 일으킬 수 있습니다.[12]

3. C:\Users\사용자 이름을 보는 방법

사용자 프로필을 폴더 쪽에서 보면, 대략 이런 구조입니다.

C:\Users\사용자 이름DesktopDocumentsDownloadsPicturesAppDataNTUSER.DATRoamingLocalLocalLow

실무에서 가장 먼저 보는 곳은 대략 이 부분들입니다.

위치 무엇이 들어 있나 실무에서 보는 관점
Desktop 데스크톱 위의 파일 사용자에게 보이는 것
Documents 사용자가 만든 문서 업무 데이터가 들어가기 쉬움
Downloads 다운로드한 것들 잡동사니도 섞이기 쉬움
AppData\Roaming 사용자 설정 위주 가지고 다니고 싶은 설정용
AppData\Local PC 고유 데이터·캐시 위주 용량이 커지기 쉬움
NTUSER.DAT 사용자 레지스트리 HKCU의 실체

3.1 AppData를 3가지로 나누어 생각한다

Windows 앱 개발이나 문제 조사에서 가장 헷갈리기 쉬운 부분이 여기입니다.

Microsoft 가이드에서는 앱 고유 데이터에는 FOLDERID_RoamingAppData(Roaming AppData)를, 임시 파일이나 다른 컴퓨터에서 쓰지 않는 데이터에는 FOLDERID_LocalAppData를 사용하도록 안내하고 있습니다.[2]

또한 Known Folders 정의에서는 기본 경로가 다음과 같이 정리되어 있습니다.[3]

  • %APPDATA% = %USERPROFILE%\AppData\Roaming
  • %LOCALAPPDATA% = %USERPROFILE%\AppData\Local
  • LocalLow = %USERPROFILE%\AppData\LocalLow
AppDataRoamingLocalLocalLow가지고 다니고 싶은 설정작은 사용자 상태캐시재생성 가능한 데이터그 PC 고유의 상태특수 용도

실무에서의 구분 사용은 이렇게 생각한다

저장하고 싶은 것 우선 검토할 위치 이유
사용자 설정 %APPDATA% 사용자 단위로 다루기 쉬움
해당 PC 전용 캐시 %LOCALAPPDATA% 다른 단말로 가지고 다니지 않는다는 전제로 삼기 쉬움
로그인 기록, 대용량 캐시, 썸네일류 %LOCALAPPDATA% 로밍시키면 무거워지기 쉬움
사용자가 직접 만드는 문서 Documents 앱 내부 상태가 아니라 업무 결과물이기 때문
모든 사용자 공통의 가변 데이터 ProgramData 사용자 고유 데이터가 아니기 때문

ProgramData는 Microsoft의 알려진 폴더 정의에서도 모든 사용자를 위한 애플리케이션 데이터로 규정되어 있으며, 로밍되지 않는 공유 데이터용입니다.[3]

여기서 가장 피해야 할 것은 사용자별 실행 시 데이터를 Program Files에 두는 것입니다. 프로필 정리와 권한 설계가 한꺼번에 무너지기 쉬워집니다.

3.2 PublicDefault는 역할이 다르다

이 부분도 헷갈리기 쉽습니다.

C:\UsersDefaultPublic각 사용자신규 프로필 생성의 원본모든 사용자에게 보이는 공유 항목개별 사용자의 실체
  • Default는 신규 프로필을 만들기 위한 템플릿
  • Public은 모든 사용자에게 보여주는 공유 영역
  • 각 사용자 폴더는 그 사람 고유의 실체

이 세 가지는 비슷해 보이지만 역할은 완전히 다릅니다.

4. 프로필의 종류를 정리한다

‘프로필’이라고 한마디로 말해도, 운영상으로는 최소한 다음과 같은 종류가 있습니다.

Windows의 프로필로컬 프로필로밍 프로필Mandatory 프로필Temporary 프로필FSLogix 프로필 컨테이너

4.1 로컬 프로필

일반적인 PC에서는 기본이 이것입니다.

  • 해당 PC의 로컬 디스크에 생성됨
  • 다른 PC로 자동으로 옮겨지지 않음
  • 단독 PC에서는 가장 단순함

Microsoft도 기본적으로 Windows는 로컬 사용자 프로필을 생성한다고 설명하고 있습니다.[14]

4.2 로밍 프로필

Microsoft Learn에서는 로밍 사용자 프로필은 서버 공유에 저장되며, 여러 컴퓨터에서 동일한 OS / 앱 설정을 받을 수 있게 하는 방식이라고 설명하고 있습니다.[4][5]

공유 서버상의 프로필PC-APC-BPC-C

다만, 실무에서는 다음과 같은 주의점이 있습니다.

  • 로그인 / 로그아웃 시 복사나 동기화가 느려지기 쉬움
  • AppData\Local에 큰 데이터를 안고 있으면 힘들어짐
  • OS 버전 차이로 인한 문제를 받기 쉬움
  • 공유 경로나 네트워크 품질의 영향을 강하게 받음

4.3 Mandatory 프로필

Mandatory 프로필은 관리자가 만드는 ‘저장되지 않는 로밍 프로필’입니다.[7][8]

Microsoft의 설명에 따르면, Mandatory 프로필에서는 사용자가 세션 중에 변경을 하더라도, 일반적인 로밍 프로필과 달리 저장되지 않습니다.[7]

또한 Win32 문서에서는

  • NTUSER.DATNTUSER.MAN으로 이름을 바꾸면 Mandatory가 된다
  • 프로필 경로의 폴더 이름 끝을 .man으로 하면 Super-mandatory가 된다

고 설명하고 있습니다.[8]

관리자가 준비한 프로필사용자가 로그인사용 중에는 변경 가능로그아웃변경 내용은 저장되지 않음

예를 들어, 다음과 같은 용도에 적합합니다.

  • 교육용 단말
  • 접수 단말
  • 키오스크
  • 매번 깨끗한 상태로 되돌리고 싶은 공유 단말

4.4 Temporary 프로필

Temporary 프로필은 설계 단계에서 선택하는 것이 아니라, 오류로 인해 원래 프로필을 로드할 수 없을 때 나타나는 대피용입니다.[9]

Microsoft Learn에서는 오류 조건으로 원래 프로필을 로드할 수 없는 경우 Temporary profile이 발행되며, 세션이 종료되면 삭제되어 변경 내용이 사라진다고 설명하고 있습니다.[9]

YesNo일반 프로필 로드 시작로드 가능한가일반 로그온Temporary 프로필로 로그온작업은 가능로그아웃 시 변경 내용 소실

즉, Temporary 프로필로 동작하고 있는 상태 자체가 비정상의 신호입니다.

4.5 FSLogix 프로필 컨테이너

FSLogix는 Microsoft Learn에서 Windows 사용자 프로필 경험을 가상 데스크톱 환경에서 일관되게 유지하는 방식이라고 설명하고 있습니다.[13]

FSLogix 프로필 컨테이너는 사용자 프로필 전체를 VHD / VHDX로 가지고 있다가, 로그인 시 이를 연결(attach)하여 네이티브 프로필처럼 보이게 하는 방식입니다.[13][14]

VHD / VHDX상의 프로필로그인 시 연결세션 호스트에서 C:\Users\사용자로 보임로그아웃 시 연결 해제

Azure Virtual Desktop에서는 Microsoft가 FSLogix profile containers의 사용을 권장하고 있습니다.[14]

5. 로밍 프로필, Folder Redirection, FSLogix는 무엇이 다른가

이 세 가지는 같은 이야기로 묶여 언급되기 쉽지만, 역할이 다릅니다.

사용자 상태를 유지하며 이동로밍 프로필Folder RedirectionFSLogix프로필 전체를 공유로알려진 폴더만 다른 위치로VHD/VHDX 연결

Microsoft Learn의 정리에 맞추면, 차이는 이렇게 보면 이해하기 쉽습니다.[4][5][14]

방식 무엇을 가지고 다니나 적합한 상황 힘들어지기 쉬운 부분
로밍 프로필 프로필 전체 전통적인 도메인 환경 큰 프로필, 동기화 지연, 버전 차이
Folder Redirection Documents 등 알려진 폴더 문서를 중앙에서 관리하고 싶을 때 앱 설정까지는 챙기지 못함
FSLogix 프로필 전체를 컨테이너화 RDS / VDI / AVD 스토리지 설계, 동시 접속, 공유 권한 설계

5.1 Folder Redirection은 ‘알려진 폴더만’ 옮긴다

Microsoft Learn에서 Folder Redirection은 known folder의 경로를 다른 위치로 향하게 하는 방식입니다.[4]

예를 들어 Documents를 파일 공유로 옮기면, 사용자에게는 로컬과 똑같이 보이지만 실체는 다른 위치에 있습니다.[4]

Documents실체는 파일 공유Desktop필요하면 별도 설정AppData그대로 또는 다른 방식

즉, Folder Redirection은 프로필 전체를 대체하는 것이 아니라, 폴더 단위의 배치 변경입니다.

5.2 로밍 프로필은 OS 세대를 넘나들며 함부로 섞지 않는다

Microsoft는 Windows 10 / Server 2016 이후의 로밍 프로필은 그 이전 버전의 Windows와 호환되지 않는다고 설명하고 있습니다.[6]

혼용 주의혼용 주의Windows 7 / 8.1 계열동일한 공유Windows 10 / Server 2016 이후불일치 / 시작 메뉴 오류 / 작업 표시줄 오류의 원인

여기서 중요한 것은

  • OS 세대별로 프로필 버전을 나눈다
  • ‘같은 사용자니까 같은 폴더면 된다’고 생각하지 않는다
  • 단말 배포나 교체 시에는 프로필 호환성을 마이그레이션 계획에 포함시킨다

는 점입니다.[6]

6. 개발자·운영 담당자가 먼저 결정해야 할 저장 위치

프로필 이야기는 결국 여기로 돌아옵니다. 무엇을 어디에 둘 것인가입니다.

YesNoYesNoYesNoYesNo저장하려는 데이터사용자가 만드는 결과물인가Documents 등그 PC 고유인가%LOCALAPPDATA%사용자별 설정인가%APPDATA%모든 사용자 공유의 가변 데이터인가ProgramData + ACL배치 위치 재검토

6.1 사용자가 만드는 파일과 앱 내부 상태를 구분한다

이 부분을 섞으면 백업도 마이그레이션도 깨지기 쉬워집니다.

  • 사용자가 의식적으로 다루는 결과물 Documents, Pictures, 업무용 저장 폴더
  • 앱 내부의 상태 설정, 캐시, 썸네일, 세션 정보, 작업 파일

전자는 업무 데이터이고, 후자는 앱 편의를 위한 것입니다. 같은 ‘파일’이라도 다루는 방식은 구분하는 것이 좋습니다.

6.2 %APPDATA%에 두는 것

여기에 두는 것은 대략 다음과 같습니다.

  • 작은 설정
  • 사용자별 환경설정
  • 여러 단말에서 동일하게 보이길 원하는 상태
  • 프로필과 함께 가지고 다녀도 되는 것

Fast User Switching 문서에서도 앱 고유 데이터의 저장 위치로 FOLDERID_RoamingAppData가 안내되어 있습니다.[2]

6.3 %LOCALAPPDATA%에 두는 것

이쪽으로 몰아넣고 싶은 것은, 재생성이나 이동 관점에서 로컬에 한정되어야 하는 것들입니다.

  • 재생성 가능한 캐시
  • 로컬에서만 의미가 있는 상태
  • 큰 작업 파일
  • 성능을 중시해서 가지고 다니게 하고 싶지 않은 것

Known Folders 정의에서도 LocalAppData%USERPROFILE%\AppData\Local입니다.[3]

6.4 ProgramData에 두는 것

모든 사용자에게 공통이지만, 실행 중에 변하는 데이터ProgramData 쪽이 후보입니다.[3]

예를 들면,

  • 공유 사전
  • 모든 사용자 공통의 정의 파일
  • 서비스와 여러 사용자가 공유하는 가변 데이터

다만, 여기는 ACL 설계까지 포함해서 생각할 필요가 있습니다. ‘공유니까 일단 ProgramData‘가 아니라, 누가 읽고 누가 쓸지를 정하는 것이 중요합니다.

6.5 기본 프로필을 세밀하게 구성하고 싶을 때

이미지 배포에서 ‘신규 사용자 전체에 동일한 초기 설정을 넣고 싶다’는 요구는 흔히 있습니다. 이 경우에는 Default를 함부로 손대지 말고, Microsoft가 지원하는 CopyProfile 기반 방법으로 구성하는 것이 안전합니다.[12]

관리자 계정에서 초기 설정Sysprep + CopyProfileDefault profile에 반영이후 신규 사용자에게 적용

‘어떤 PC의 C:\Users\A를 다른 PC의 Default에 수동으로 복사한다’와 같은 방식은, 보기에는 빨라도 나중에 문제가 생기기 쉽습니다.[12]

7. 손상되었거나, 임시 프로필이 되었거나, 동기화되지 않을 때 확인하는 방법

이 부분은 현장에서 가장 곤란해하는 부분입니다. 게다가 증상이 비슷하게 보이기 때문에, 원인 분리를 대충 하면 헛다리를 짚기 쉽습니다.

7.1 먼저 증상을 3가지로 나눈다

YesNoYesNoYesNo프로필 문제로 보임로그온이 되는가화면이 초기화되었나로드 실패 계열Temporary / 손상 / 다른 프로필일부만 설정이 되돌아가는가로밍 / 리디렉션 / 동기화 계열앱 개별 문제 가능성

크게 나누면 다음 3가지 계통입니다.

  1. 로그온 시 실패한다
  2. 로그온은 되지만, 초기화된 것처럼 보인다
  3. 일부만 동기화되지 않는다

7.2 먼저 확인해야 할 로그

Microsoft Learn에서는 프로필 문제를 조사할 때 다음 순서로 확인하도록 안내하고 있습니다.[10]

  1. Application 로그
  2. User Profile Service의 Operational 로그
  3. 필요하면 Diagnostic 로그
  4. 더 필요하면 ETL 추적(trace)

구체적인 경로는 다음과 같습니다.[10]

  • 이벤트 뷰어 Applications and Services Logs > Microsoft > Windows > User Profile Service > Operational
  • 더 자세히 보고 싶을 때 ... > User Profile Service > Diagnostic
Application 로그Operational 로그Diagnostic 로그ETL 추적

현장에서는 처음부터 레지스트리 복구나 폴더 삭제에 들어가기보다, 로그에서 ‘로드 실패’, ‘복사 실패’, ‘액세스 거부’, ‘긴 경로’, ‘공유에 쓸 수 없음’ 등의 방향성을 파악하는 쪽이 더 안전합니다.

7.3 흔한 원인

NTUSER.DAT / USRCLASS.DAT의 속성이나 권한

Microsoft는 NTUSER.DATUSRCLASS.DAT읽기 전용(Read-only)으로 되어 있거나, 필요한 액세스 권한이 없으면 프로필 로드가 실패할 수 있다고 설명하고 있습니다.[11]

눈에 잘 띄지 않지만, 놓치면 문제가 오래 끄는 원인이 됩니다.

NoYes프로필 로드DAT 파일에 액세스할 수 있는가로그온 실패 / 초기 데스크톱 / Temporary일반 로드

로밍 복사 시의 긴 경로

Microsoft의 KB에서는 공유 경로 쪽의 서버 이름이나 공유 이름이 길어서 복사 대상 경로 전체가 너무 길어지는 경우, Event ID 1509와 함께 임시 프로필로 떨어지는 사례가 설명되어 있습니다.[16]

단순한 경로 길이 제약처럼 보이지만, 실제로는 로밍 대상의 설계 자체가 원인인 경우가 있는 것입니다.

불완전한 삭제로 남은 레지스트리 / 폴더 정보

Microsoft에는 레지스트리와 C:\Users에 남은 고립된 정보를 정리하여 TEMP 프로필을 방지하기 위한 예제 스크립트 문서가 있습니다.[15]

여기서 알 수 있는 것은, 폴더만 지우면 끝나는 것이 아니다라는 점입니다.

예전 프로필을 대충 삭제레지스트리 정보가 남음다음 로그온에서 불일치 발생TEMP 프로필이나 추가 폴더의 원인

7.4 먼저 무엇을 확인할 것인가

증상 먼저 확인할 곳 대표적인 원인
로그온 실패 Application / Operational 하이브 로드 실패, 권한, 손상
초기화된 데스크톱 Operational / Diagnostic Temporary 프로필화
로밍이 저장되지 않음 공유 경로, 이벤트, 버전 공유 권한, 네트워크, 경로 길이, 버전 차이
신규 사용자만 이상함 C:\Users\Default 기반 생성 기본 프로필 문제
공유 PC에서 잔재가 계속 쌓임 삭제 정책, Shared PC 설정 자동 정리 부족

8. 어떤 방식을 선택해야 하는가

여기는 ‘정답이 하나’가 아닙니다. 사용 형태에 따라 달라집니다.

사용 형태개인 전용 PC도메인 가입 업무 PC공유 PC / 교육용 단말RDS / VDI / AVD로컬 중심필요에 따라 Folder Redirection / 로밍Mandatory / Shared PC / cleanupFSLogix 1순위

8.1 개인 전용 PC

기본적으로는 로컬 프로필로 충분합니다.

  • 사용자 설정은 AppData
  • 결과물은 Documents
  • 필요하면 OneDrive 등 별도 레이어에서 문서 동기화

이 구성이 가장 단순합니다.

8.2 도메인 가입 업무 PC

요구사항에 따라 다음을 조합합니다.

  • 문서 데이터를 중앙에서 관리하고 싶다 → Folder Redirection
  • 여러 PC에서 동일한 설정도 가지게 하고 싶다 → 로밍 프로필
  • OS 혼재나 대형 프로필이 있다 → 신중한 설계, 또는 방식 재검토

Microsoft Learn에서도 Folder Redirection과 Roaming User Profiles는 중앙 집약, 오프라인 이용, 백업 용이화 등에 도움이 된다고 되어 있습니다.[4]

8.3 공유 PC / 교육용 단말 / 키오스크

이 용도에서는 ‘개인 맞춤 설정을 남기는 것’보다 매번 깨끗하게 되돌리는 것이 중요합니다.

후보는 다음 3가지입니다.

  • Mandatory 프로필
  • Shared PC 모드
  • 오래된 프로필 자동 삭제 정책

Microsoft에는 Delete user profiles older than a specified number of days on system restart라는 정책이 있어, 지정한 일수 동안 사용되지 않은 프로필을 재부팅 시 삭제할 수 있습니다.[17]

또한 Shared PC 가이드에서도, 공유 단말에서는 계정 / 프로필의 자동 관리나 삭제를 조합하는 방식이 제시되어 있습니다.[18]

8.4 RDS / VDI / Azure Virtual Desktop

여기서는 기존의 로밍 프로필만으로는 부족한 상황이 많습니다.

Microsoft는 Azure Virtual Desktop에서 FSLogix profile containers를 권장하며, VHDX / VHD를 로그인 시 연결하여 네이티브 사용자 프로필처럼 다룬다고 설명하고 있습니다.[14]

여러 세션 호스트공유 스토리지VHDX 사용자 프로필연결된 호스트로 연결

특히 다음과 같은 조건에서는 FSLogix를 먼저 검토할 가치가 높습니다.

  • 세션 호스트가 매번 바뀐다
  • Outlook / OneDrive / Microsoft 365 계열을 사용한다
  • 비영구(non-persistent) VDI에서 프로필 유지가 필수이다
  • 로밍 프로필의 로그인 지연이 문제가 된다

9. 흔한 오해

9.1 ‘계정을 만들면 프로필도 어디서나 똑같이 쓸 수 있다’

그렇지 않습니다. 계정은 식별자이고, 프로필은 그 단말 쪽의 실체입니다. 어디까지 가지고 다닐지는 로컬, 로밍, Folder Redirection, FSLogix 등의 방식에 따라 달라집니다.[4][14]

9.2 ‘C:\Users\사용자 이름을 복사하면 이전할 수 있다’

대충 하는 복사는 위험합니다.

  • OS 버전 호환성
  • NTUSER.DAT
  • 권한
  • 앱 고유 상태
  • 기본 프로필과의 혼선

등이 있기 때문입니다. 특히 OS 세대 차이가 있는 로밍에서는, Microsoft도 프로필 버전 분리를 전제로 하고 있습니다.[6]

9.3 ‘Mandatory와 Temporary는 비슷한 것이다’

이 둘은 서로 다른 것입니다. Mandatory는 관리자가 의도적으로 만드는 읽기 전용 프로필이고, Temporary는 오류로 원래 프로필을 읽을 수 없을 때의 대피용입니다.[8][9]

9.4 ‘동기화하고 싶으면 전부 Roaming에 넣으면 된다’

그것은 위험합니다. 설정과 대용량 캐시를 같은 상자에 넣으면, 로그인 / 로그아웃이나 장애 시 처리가 무거워집니다. Roaming시키고 싶은 것Local에 한정해야 하는 것은 나누는 것이 운영하기 쉽습니다.[2][3]

9.5 ‘임시 프로필이 되어도, 그대로 사용하면 된다’

피하는 것이 좋습니다. Temporary profile은 로그아웃하면 사라지는 것을 전제로 하기 때문에, 그 상태로 계속 작업하면 나중에 사라질 위치에 중요한 데이터를 두게 되는 위험이 있습니다.[9]

10. 정리

Windows 사용자 프로필은 단순히 C:\Users 아래의 폴더를 가리키는 말이 아닙니다.

  • 파일 그룹
  • NTUSER.DAT를 중심으로 한 사용자 레지스트리
  • 그 프로필을 어디에 두고, 어떻게 동기화하며, 어떻게 삭제할지에 대한 운영 방식

까지 포함해서 하나의 설계로 생각하면, 전체를 파악하기가 쉬워집니다.

실무에서 먼저 확실히 짚어두고 싶은 것은 다음 6가지입니다.

  • 단독 PC라면 먼저 로컬 프로필을 기준으로 생각한다
  • 앱의 저장 위치는 Roaming / Local / ProgramData로 구분한다
  • 도메인 환경에서는 로밍 프로필Folder Redirection을 혼동하지 않는다
  • 공유 단말에서는 Mandatory / cleanup / Shared PC를 검토한다
  • RDS / VDI / AVD에서는 FSLogix를 1순위로 넣는다
  • 손상되었을 때는 먼저 User Profile Service의 로그를 확인한다

결국 프로필 설계는 ‘어디에 저장할 것인가’가 아니라, ‘무엇을 누구의 것으로 하고, 어디까지 가지고 다닐 것인가’의 설계입니다. 이 부분이 확실히 잡혀 있으면, 단말 배포도, Windows 앱 설계도, 장애 조사도 훨씬 수월해집니다.

11. 관련 글

12. 이 주제와 연결되는 서비스

Windows 앱 개발

사용자 설정, 로그, 캐시, 공유 데이터의 저장 위치를 어떻게 나눌지는 Windows 앱의 운용성과 유지보수성을 크게 좌우합니다. 요구사항 정리부터 설계·구현·장기 운영까지 내다본다면, Windows 앱 개발이라는 맥락과 잘 맞는 주제입니다.

서비스 보기 / 문의하기

기술 상담・설계 리뷰

로컬 / 로밍 / FSLogix 중 무엇을 선택할지, 기존 단말의 운영을 어떻게 바꿀지, 저장 위치를 어떻게 나눌지는 구현 전 정리 단계에서 상당한 차이가 생깁니다. 방식 선정이나 경계 설계부터 정리하고 싶다면, 기술 상담・설계 리뷰로 분리해서 진행하기 좋은 주제입니다.

서비스 보기 / 문의하기

결함 조사・원인 분석

Temporary 프로필화, 로그온 실패, 로그아웃 시 저장 실패, 공유 경로 관련 원인 분리는 결함 조사와 상당히 잘 맞습니다. 재현하기 어려운 프로필 문제를 로그・이벤트・권한・공유 구성 관점에서 파고들고 싶을 때의 상담 입구가 됩니다.

서비스 보기 / 문의하기

13. 참고 자료

  1. Microsoft Learn, About User Profiles (Windows) 사용자 프로필의 구성 요소, NTUSER.DAT, Temporary profile의 기본 사항.

  2. Microsoft Learn, Fast User Switching 앱 고유 데이터에는 FOLDERID_RoamingAppData, 다른 컴퓨터에서 쓰지 않는 데이터에는 FOLDERID_LocalAppData를 사용하는 정리 방식.

  3. Microsoft Learn, KNOWNFOLDERID, CSIDL %APPDATA%, %LOCALAPPDATA%, LocalLow, ProgramData 등 알려진 폴더의 정의.

  4. Microsoft Learn, Folder Redirection and Roaming User Profiles in Windows and Windows Server Folder Redirection과 Roaming User Profiles의 차이, 중앙 관리의 사고방식.

  5. Microsoft Learn, Deploy roaming user profiles 로밍 프로필 배포, 공유 권한, GPO, 버전 관리의 실무 절차.

  6. Microsoft Learn, Roaming user profiles of earlier versions of Windows are incompatible with Windows 10, Windows Server 2016, and later versions OS 세대 간 비호환성과 프로필 버전 관리.

  7. Microsoft Learn, Create mandatory user profiles Mandatory user profile의 용도와 생성 방법.

  8. Microsoft Learn, Mandatory User Profiles NTUSER.MAN, Super-mandatory profile의 정의.

  9. Microsoft Learn, Temporary User Profiles Temporary profile의 정의와 특성.

  10. Microsoft Learn, Troubleshoot user profiles with events Application / Operational / Diagnostic 로그를 이용한 원인 분리.

  11. Microsoft Learn, Error occurs during desktop setup and desktop location is unavailable when you log on to Windows for the first time C:\Users\Default를 기점으로 하는 신규 프로필 생성, NTUSER.DAT / USRCLASS.DAT의 속성・권한 문제.

  12. Microsoft Learn, Customize the default local user profile when you prepare an image of Windows CopyProfile을 이용한, 지원되는 기본 프로필 커스터마이즈 방법.

  13. Microsoft Learn, What is FSLogix, Types of Containers FSLogix의 기본, Profile Container의 개념.

  14. Microsoft Learn, User profile management for Azure Virtual Desktop with FSLogix profile containers, Configure profile containers using FSLogix Azure Virtual Desktop에서의 권장 사항, VHD / VHDX를 이용한 프로필 컨테이너 방식.

  15. Microsoft Learn, Scripts: Clean up profile folder information and prevent TEMP user profiles from being created 고립된 프로필 정보와 TEMP profile의 관계.

  16. Microsoft Learn, User profile cannot be loaded with Event ID 1509: DETAIL - The filename or extension is too long 로밍 프로필 저장 시의 긴 경로 문제.

  17. Microsoft Learn, ADMX_UserProfiles Policy CSP Delete user profiles older than a specified number of days on system restart 등의 정책 정의.

  18. Microsoft Learn, Configure a shared or guest Windows device Shared PC 모드와 공유 단말의 계정 / 프로필 관리.

같은 태그를 공유하는 최신 기사입니다. 더 가까운 주제로 지식을 넓힐 수 있습니다.

이 기사와 가까운 토픽 페이지입니다. 기사를 출발점 삼아 관련 서비스와 다른 기사로 이어집니다.

이 기사는 다음 서비스 페이지로 이어집니다. 가까운 입구부터 확인해 주세요.

자주 묻는 질문

이 기사 주제에 대해 상담 시 자주 나오는 질문을 모았습니다.

NTUSER.DAT란 무엇인가요?
NTUSER.DAT는 Windows 사용자 프로필에 포함된 사용자 레지스트리 하이브의 실체 파일입니다. C:\Users\사용자 이름 바로 아래에 있으며, 로그인 시 로드되어 HKEY_CURRENT_USER(HKCU)로 사용됩니다. 즉 사용자 프로필은 Desktop이나 AppData 같은 파일 그룹과, NTUSER.DAT를 중심으로 한 레지스트리 계층이라는 두 계층으로 구성됩니다. NTUSER.DAT가 읽기 전용 속성으로 되어 있거나 필요한 액세스 권한이 없으면 프로필 로드에 실패하여 로그온 실패나 임시 프로필화의 원인이 됩니다.
Windows의 사용자 프로필이란 무엇인가요? 계정과는 다른 건가요?
계정은 '누가 로그인하는가'를 식별하는 것이고, 사용자 프로필은 그 사람의 작업 환경의 실체입니다. 프로필은 단순한 C:\Users\사용자 이름 폴더가 아니라, Desktop·Documents·AppData 같은 파일 그룹과 NTUSER.DAT라는 사용자 레지스트리 하이브의 집합입니다. 새 사용자가 해당 PC에 처음 로그인할 때는 C:\Users\Default를 바탕으로 새 프로필이 생성됩니다. 설정을 어디까지 가지고 다닐지는 로컬·로밍·Folder Redirection·FSLogix 같은 방식의 선택으로 결정됩니다.
%APPDATA%와 %LOCALAPPDATA%는 어떻게 구분해서 사용해야 하나요?
사용자마다 가지고 다니고 싶은 설정은 %APPDATA%(AppData\Roaming)에, 해당 PC 전용 캐시나 일시적인 상태는 %LOCALAPPDATA%(AppData\Local)에 두는 것이 기본입니다. 재생성할 수 있는 캐시나 큰 작업 파일을 로밍시키면 로그인·로그아웃이 느려지기 쉬우므로 Local 쪽으로 몰아넣습니다. 모든 사용자가 공통으로 쓰는 가변 데이터는 ProgramData가 후보이지만, 누가 읽고 쓸지에 대한 ACL 설계와 함께 고려해야 합니다. 사용자별 실행 시 데이터를 Program Files에 두는 것은 피해야 합니다.
임시 프로필(Temporary profile)로 로그온된 경우에는 어떻게 해야 하나요?
Temporary 프로필은 오류로 인해 원래 프로필을 로드할 수 없을 때 발행되는 긴급 대피용으로, 로그아웃 시 삭제되어 변경 내용이 사라집니다. 그대로 작업을 계속하면 중요한 데이터가 사라질 위험이 있으므로 피해야 하는 상태입니다. 조사할 때는 곧바로 C:\Users를 손대지 말고, Application 로그와 User Profile Service의 Operational 로그, 필요하다면 Diagnostic 로그를 먼저 확인합니다. 흔한 원인으로는 NTUSER.DAT / USRCLASS.DAT의 속성이나 권한 문제, 로밍 대상 경로가 너무 긴 문제, 불완전한 삭제로 남은 레지스트리 정보 등이 있습니다.

저자 프로필

기사 저자의 프로필 페이지입니다.

Go Komura

합동회사 코무라소프트 대표

Windows 소프트웨어 개발, 기술 상담, 장애 조사를 중심으로 재현이 어려운 장애 조사와 기존 자산이 남아 있는 프로젝트에 강점이 있습니다.

블로그 목록으로 돌아가기