Windows 7 설치 한지가 언 3년째 들어가는지라..
C폴더가 SP1을 받자마자 FUll이 나는 사태가 노트북에 초기
파티션을 잘못 설정하여 40G밖에 설정을 못하니 이렇게 되었네... -_-;; 난감...
해결책을 이리저리 찾다가 아!!! 그래... Program File 만 로 옯기자 !!!
구글신에게 열라 물어본결과
http://tuts4tech.net/2009/08/05/windows-7-move-the-users-and-program-files-directories-to-a-different-partition/
여길 알려주더군요 .. 번역이 필요없으신 분은 위의 링크를 보시면 됩니다.
아~~~ 좋아 ... 그래 함 해보장...
준비작업으로 D 드라이드를 좀 비웠습니다.
40G정도 (C 드라이브 Program Files를 옮기려면 여유있게...)
그리고 지시에 따라서 아래 작업 시작 (전 하나만 하려다가 ProgramData와 Users 까지 같이 옮겼습니다.)
1. 아래처럼 Users 와 Program Files 그리고 ProgramData를 복사합니다.
- 여기에서 필요한건 /ZB 옵션을 추가 합니다. 즉 복사중에 액세스 오류가 발생하여 처리가 안됩니다.
/Z :: 다시 시작 모드에서 파일을 복사합니다.
/B :: 백업 모드에서 파일을 복사합니다.
예)
robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ /ZB
이런식으로 하면 에러가 발생하여도 저네가 복사됩니다. (재부팅을 하면서...)
아래 세군데 전부 /ZB 를 주고 명령을 실행 합니다.
[실행 명령]
robocopy "C:\Users" "D:\Users" /E /COPYALL /XJ
robocopy "C:\Program Files" "D:\Program Files" /E /COPYALL /XJ
robocopy "C:\ProgramData" "D:\ProgramData" /E /COPYALL /XJ
2. 아래처럼 이전 폴더는 삭제합니다. 그리고 복사된 폴더에 Link 를 설정합니다.
- rmdir 을 사용하는 경우 삭제가 되지 않는 문제가 있습니다. 이런경우는
http://qaos.com/article.php?sid=2857 를 참고하시기 바랍니다.
시스템 파일등 이전 원도우 폴더가 삭제되지 않고 하는 경우도 권한만 설정하면 삭제가 가능 합니다.
- 저는 재부팅 후 안전모드에서도 삭제가 되지 않았습니다.
[실행 명령]
rmdir "C:\Program Files" /S /Q
mklink /J "C:\Program Files" "D:\Program Files"
For the User Profiles:
rmdir "C:\users" /S /Q
mklink /J "C:\users" "D:\users"
and lastly ProgramData:
rmdir "C:\ProgramData" /S /Q
mklink /J "C:\ProgramData "D:\ProgramData"
If you have any permissions issues while deleting C:\ProgramData don't worry about them just try to delete it and make the links again after first reboot
- 이부분은 위의 권한 처리형태로 하여야 합니다.
3. 복사된 위치로 레지스트리를 변경하는 작업을 하여야 합니다.
3-1. cmd 창에서 regedit 명령을 수행 합니다.
3-2. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion 로 이동합니다.
- ProgramFilesDir 와 CommonFilesDir 를 수정합니다.
예) CommonFilesDir --> D:\Program Files\Common Files
ProgramFilesDir --> D:\Program Files
3-3. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList 로 이동합니다.
- ProfilesDirectory 와 ProgramData 등을 설정한다.
예) ProfilesDirectory --> D:\Users
ProgramData --> D:\ProgramData
- Default 와 Public도 D:\Users\Default D:\USers\Public으로 변경한다.
4. Regedit를 종료합니다.
5. 재부팅합니다.
이렇게하면 크게 문제없이 진행이 됩니다.
권한 문제가 좀 있는데 위에서 언급한 부분입니다.
그리고 재부팅 후 로그인이 안되는 문제가 발생하더군요.. -_-;;
원인을 알고보니 D:\Users 폴더에 복사된 파일이 없어서 유저를 정상적으로 찾지 못하면
"로그온이 Group Policy Client 서비스에서 실패 되었습니다. 액세스가 거부되었습니다."
라는 메시지가 나옵니다.
이런 경우는 안전모드 들어가서 아무 User 폴더나 복사하여 구성이되면 됩니다.
또는 이전 폴더 있으면 제위치에 복사하면 됩니다.