저는 직장에서 새 컴퓨터(예: 1TB HDD가 있는 128GB SSD)에 퓨전 설정을 사용하고 있습니다. SSD는 사용자 프로필 전용이므로 모든 애플리케이션은 HDD에 설치해야 합니다. 그러나 많은 직원들은 자신의 데이터를 '데스크톱'이나 '문서'에 모두 버려 SSD를 가득 채우고 있습니다. 어떻게든 '데스크톱' 및 '문서'와 같은 폴더의 데이터를 HDD로 리디렉션하거나, OS를 SSD에 유지하면서 일부 사용자 프로필 폴더를 HDD로 이동할 수 있는 방법이 있습니까? 감사해요! 캰
답변1
전체 사용자 프로필을 이동하는 것도 하나의 옵션입니다. 이 작업은 다음 방법으로 가장 쉽게 수행됩니다.레지스트리에서 기본 프로필 위치 변경그런 다음 일상적인 사용을 위해 새 사용자를 만듭니다(원하는 경우 나중에 이전 사용자를 삭제할 수도 있습니다). 대신 설정된 사용자 프로필을 이동할 수 있지만 이는 혼란스럽습니다. 레지스트리에서 이전 프로필 위치에 대한 모든 참조를 찾아서 변경해야 합니다. 더 나은 선택은OS가 오프라인인 동안 프로필(또는 전체 사용자 폴더)을 이동한 다음 디렉터리 접합 또는 기호 링크(symlink)를 만듭니다.C:\Users
(또는 ) 에서 C:\Users\<username>
새 위치로. 이 기술은 Win8 이전 버전에서도 작동합니다(URL에도 불구하고). Vista에서는 심볼릭 링크가 도입되었으며 접합은 훨씬 더 오래되었습니다(명령이 Vista에 도착하기 전에는 생성하기가 더 어려웠지만 mklink
).
이러한 접근 방식은 모두 기본적으로 지원되지 않습니다. 이렇게 하면 서비스 팩 설치 또는 Windows 전체 업그레이드와 같은 작업을 수행할 수 없게 될 수 있습니다. Vista 시스템에서 이 문제가 다시 발생했는데 아직 수정되었는지는 모르겠습니다. 다른 문제가 발생할 수도 있습니다. 도. 또한 위치를 선택하지 않고 사용자 프로필에 설치하지 않고 설치하는 프로그램의 문제를 해결하지 못합니다. 마지막으로 최소한 프로필의 핵심 부분(사용자 레지스트리 및 시스템 설정 파일)을 부팅 디스크에 저장해야 한다는 주장이 있습니다. 이는 속도가 더 빠를 뿐만 아니라(부팅 디스크가 SSD이고 데이터 디스크가 아닌 경우) 데이터 디스크가 죽거나 제거되어도 프로필을 사용할 수 없게 되지 않는다는 것을 의미합니다.
"부팅 드라이브의 중요한 프로필 항목, 다른 곳에 있는 데이터"라는 아이디어를 지원하기 위해 Windows에서는(현재 많은 버전의 경우, 정확히 언제 시작되었는지는 확실하지 않음) 대부분의 개인 데이터 디렉터리 위치를 변경할 수 있도록 허용했습니다. 본질적으로 Desktop/Documents/Downloads/Music/Pictures/Videos 디렉토리는가상예를 들어 XP->Vista는 Explorer에서 볼 때 "내 문서"를 "문서"로 변경했지만 기본 파일 시스템 이름은 변경되었습니다.~ 아니다전체 업그레이드를 수행한 경우 변경). Windows 탐색기를 열고 사용자 프로필로 이동한 후 가상 디렉터리 중 하나를 마우스 오른쪽 버튼으로 클릭합니다. 열고 Properties
"위치" 탭으로 이동합니다. Move...
해당 가상 디렉터리의 콘텐츠가 상주할 데이터 드라이브에서 디렉터리를 클릭 하고 선택합니다(필요한 경우 디렉터리를 만든 후). Windows에서는 현재 "실제" 디렉터리의 모든 항목을 새 디렉터리로 이동할 것을 제안합니다. 그 후에는 "문서 폴더"에 설치하려고 하는 모든 항목이 실제로 새 위치에 설치됩니다(물론 %USER_PROFILE%\Documents\StupidApp_Stuff
셸 API를 거치지 않고 단순히 경로를 하드 코딩하는 경우에는 이 변경 사항이 표시되지 않습니다). "프로그램이 사용자에게 묻지 않고 원하는 곳에 위치하는" 문제도 해결되지 않습니다. 그러나 적어도 이 접근 방식은 Microsoft에서 지원되며 사용자의 데이터(문서, 음악, 저장된 게임 등)를 사용자와 별도로 유지합니다. 프로필 설정(사용자 레지스트리, 애플리케이션 데이터 등)
프로그램이 원하지 않는 위치에 무례하게 자신(또는 파일)을 배치하는 경우를 처리하기 위해 다시 한번 심볼릭 링크를 권장합니다. 문제가 되는 파일이나 디렉터리(물론 관련 프로그램이 실행되지 않는 동안)를 데이터 드라이브로 이동한 다음 원래 위치를 새 위치에 대한 심볼릭 링크로 바꿉니다( 사용 mklink
). 예를 들어, C:\ProgramData\RudeApp
가 수십 기가바이트를 차지하고 SSD 공간을 낭비하는 경우 다음 명령을 실행해 볼 수 있습니다(이는 Powershell이나 다른 셸이 아닌 CMD를 사용한다고 가정하고 디렉터리가 아직 없다고 가정합니다 D:\ProgramData
).
md D:\ProgramData
xcopy /e /k /o /h C:\ProgramData\RudeApp D:\ProgramData\RudeApp\
rd /s C:\ProgramData\RudeApp
mklink /d C:\ProgramData\RudeApp D:\ProgramData\RudeApp
이것이 수행하는 작업은 다음과 같습니다.
- D: 드라이브에 ProgramData 디렉터리를 만듭니다. (물론 ProgramData는 숨겨져 있고 C: 드라이브에 까다로운 ACL이 있으므로
xcopy /k /o /h C:\ProgramData D:\ProgramData
모든 메타데이터를 가져오는 데 대신 사용할 수 있습니다. 단, 이렇게 하면 ProgramData 아래에 직접 모든 파일이 복사됩니다. ) - 원래 C:\ProgramData\RudeApp 디렉터리의 모든 파일을 데이터 드라이브의 새 디렉터리(D:\ProgramData\RudeApp)에 복사합니다. 이 복사본은 재귀적이며(하위 디렉터리도 복사함) 파일 보안과 속성을 유지합니다.
- 원래 C:\ProgramData\RudeApp 디렉터리를 삭제합니다. 모든 것이 제대로 작동하는지 확인하려면 삭제하는 대신 이름을 바꾼 다음 나중에 삭제하면 됩니다.
- C:\ProgramData\RudeApp(앱이 해당 파일을 찾을 것으로 예상되는 위치)에 새 위치(D:\ProgramData\RudeApp)를 가리키는 디렉터리 심볼릭 링크를 만듭니다. Windows 탐색기를 포함한 프로그램에서는 링크가 C:의 디렉터리인 것처럼 보이지만 이는 단지 D:의 디렉터리에 대한 포인터(NTFS에서는 "재분석 지점")일 뿐입니다. 포인터는 C:에서 아주 작은 공간만 차지합니다.
연결된 파일이나 디렉터리에 영향을 주지 않고 심볼릭 링크를 안전하게 삭제할 수 있습니다. 심볼릭 링크의 이름을 바꾸는 것도 안전합니다(단, 심볼릭 링크를 찾는 사람들은 폴더를 제거한 것으로 생각할 것입니다). 이름 바꾸기 또는 이동연결파일이나 디렉토리는~ 아니다안전한; 이렇게 하면 링크가 끊어지므로 해당 링크를 삭제하고 새 위치를 가리키는 링크를 다시 만들어야 합니다.
답변2
접합, 하드 링크 등
mklink /j 이전에 대상 폴더를 만들고 거기에 파일을 복사해야 합니다.
MKLINK [[/D] | [/H] | [/J]] 링크 대상
mklink /j Documents j:\Documents
mklink /?
웹사이트에서개발자의 맛있는 이야기이 기사에서는 이에 대해 설명합니다. windows-file-junctions-symbolic-links-and-hard-links
심볼릭 링크는 바로가기와 비슷하지만 파일로 저장되는 대신 하드 드라이브 파티션에 등록됩니다. 디스크 공간을 사용하지 않으며 모든 프로그램은 링크와 대상을 모두 인식합니다. 심볼릭 링크는 컴퓨터의 로컬 또는 SMB 경로를 사용하는 네트워크를 통해 모든 파일이나 폴더를 가리킬 수 있습니다.
파일 하드 링크는 약간 다르며 여러 파티션에서 사용할 수 없습니다. 즉, C: 드라이브에서 D: 드라이브의 파일을 가리키는 링크를 가질 수 없습니다. 파일 하드 링크는 대상을 미러링된 복사본으로 가리키고 복제하지만 복사본은 하드 드라이브 파티션의 추가 공간을 사용하지 않습니다. 따라서 1GB 파일을 미러링한 2개의 하드 링크는 파티션에서 총 3GB가 아닌 1GB만 사용하게 됩니다. 중요한 것은 하드 링크나 대상이 삭제되면 다른 링크에 데이터가 유지된다는 점입니다. 대상 또는 링크의 컨텐츠에 대한 변경 사항은 자동으로 다른 모든 항목에 전파됩니다.
접합은 디렉터리에 대한 하드 링크처럼 작동하지만 파일 하드 링크와 달리 여러 파티션에 걸쳐 있는 접합을 만들 수 있습니다. 여기서도 디렉터리 접합과 해당 콘텐츠는 하드 드라이브 파티션에 저장되지만 추가 공간을 사용하지 않습니다. 대상 디렉터리가 삭제되거나 이름이 바뀌는 경우를 제외하고 대상 또는 링크 내의 콘텐츠에 대한 모든 변경 사항은 자동으로 전파됩니다. 이 경우 대상을 가리키는 모든 링크가 중단되어 파티션에 남아 있습니다.