윈 도 우 [추가 테스트] 다른 드라이브에 윈도 복구할때 문제 해결 방법
2015.03.05 21:17
사용하던 윈도를 백업하여 복구하는데요. 보통은 같은 곳에 복구를 하게 됩니다. 이때는 당연히 문제가 없습니다
그런데 옆에 파티션이라든지 다른 디스크라든지 복구를 하게 되면 이상하게 복구를 하더군요
부팅은 됩니다. 그런데 상태가 영 이상합니다.
디스크관리를 보면 부팅한 드라이브를 알 수 있습니다. boot 라고 표시를 해줍니다.
boot를 보세요. c: 이 아니라 f:입니다 ㅎㅎ 맞습니다. 제가 f:으로 부팅을 했습니다. 그러면 f:이 c:으로 표기되어야 하는데요
계속 원래 파티션이었던 드라이브 문자로 표기를 하고 있습니다
밑에 set을 보면 사용하는 윈도는 f:이고 사용자는 c: 입니다. 이런...2개 드라이브를 사이좋게? 나눠서 사용하고 있네요
오늘 새벽에 이 문제로 하얗게 밤을 새웠습니다 ㅎㅎ
그냥 이것과 관계없이 잠이 오지 않아서 한 일입니다만
몇가지 테스트 결과 이 레지스트리가 문제의 핵심이라는 걸 발견했습니다
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
이 레지스트리가 컴퓨터에 연결된 드라이브는 다 저장하고 있습니다
이것이 당연히 윈도 백업/복구할때 계속 따라다니죠
그래서 계속 기존의 c:과 f:으로 인식하고 있었던 거네요
여러 테스트결과 원래 윈도 설치할때는 이 레지스트리가 아예 없습니다
그래서 위 레지스트리를 삭제해버리면 윈도 설치했을 때처럼 모든 드라이브를 자동할당하게 됩니다
당연히 부팅한 드라이브가 무조건 c:으로 정상적으로 인식됩니다
이것이 하얀밤을 새운 결과물입니다 ㅎ
이제 다른 파티션에 복구해도 정상적으로 드라이브 문자가 나옵니다. 단일 윈도만 사용하고..기존 윈도는 건드리지 않습니다.
근데 모든 드라이브 문자를 저장하고 있는 위 레지스트리를 삭제해버리면 제가 지정해놓은 드라이브를 다시 할당해야 하는 불편이 있더군요
그래서 저는 기존 c:과 복구하는 드라이브 문자..여기서는 f:만 삭제했습니다
복구하고 아예 부팅하기 전에 삭제했습니다. 하이브 로드하는 방법으로...
reg load hklm\1 f:\windows\system32\config\system
레지스트리 저장된 파일을 로드하는 겁니다.
f:은 PE 또는 다른 윈도에서 봤을 때 복구하는 드라이브 문자로 하면 됩니다.
:reg delete HKLM\1\MountedDevices /f
:: 이건 윈도를 설치했을 때와 같이 모든 드라이브 문자를 할당하게 됩니다.
reg delete HKLM\1\MountedDevices /v "\DosDevices\C:" /f
reg delete HKLM\1\MountedDevices /v "\DosDevices\F:" /f
:: 이건 c:과 복구하는 f: 2가지만 삭제하는겁니다. 여러 테스트결과 c: 한개만 삭제하면 효과가 없었습니다.
:: 둘다 삭제해야 제대로 나옵니다.
:: 근데 복구하는 드라이브 문자를 모를때는? c:은 무조건 삭제해야 하고요. f: 인지 모를 때를 의미하는데요
:: 이때는 별 상관없으면 위에 레지스트리 전체를 삭제하는 걸로 하시면 되고...저 같이 새로 할당하면 수정해야 하므로 귀찮은 경우는
:: 수정해야 하는 드라이브 문자를 빼고 나머지 모든걸 위 방식으로 무작위로 삭제하시면 됩니다. 키가 없어서 에러나는건 상관없으니까요.
:: 그러면 그 중에 하나는 복구하는 드라이브 문자가 걸리겠죠. [추가: 이것이 일일이 확인하지 않아도 되니까 편리해서 해보려고 했더니..
:: 이상하게 변경되지 않습니다. 딱 2개만 삭제해야 하나보네요. 기존의 복구 드라이브 문자를 모르는 경우는 그냥 전체를 삭제하는게 낫겠네요
:: reg delete HKLM\1\MountedDevices /f 한줄로 전체 삭제됩니다. 또는 추가테스트처럼 부팅만 된다면 부팅후에 삭제할 수도 있습니다.]
reg unload hklm\1
마지막으로 언로드를 해야만 변경사항이 저장이 됩니다.
:: 이 표시는 bat 파일로 만드는 경우를 대비하여 이대로 복사하여도 에러가 나오지 않도록 하는 표시입니다.
복사/붙여넣기를 주욱 전체를 긁어도 에러 표시가 나오지 않습니다. : 한개만 앞에 표시하면 그 줄은 cmd 창에서 무시하게 됩니다.
이것 때문에 VHD를 번갈아가면서 복구한 적도 잠시 있었는데요
이제 그냥 다른 파티션에 복구를 해도 되겠습니다.
다른 파티션에 복구를 해도 정상적으로 복구된다면...
윈도를 복구하는 시간에도 재부팅하여 복구하지 않고 윈도에 가만히 앉아서 복구를 할 수 있습니다. 경우에 따라서 큰 장점이 될 수도 있겠네요.
----------------------
2015-03-05 22:43
다른 디스크에 한번 더 검증 차원에서 테스트해봤습니다
역시 다른 디스크에 복구를 해도 기존의 드라이브 문자를 그대로 유지하는군요.
이번에는 이렇게 짬뽕으로 부팅한 상태에서 바로 레지스트리를 삭제해봤습니다.
c:을 클릭하고 delete 키를 눌렀습니다.
e:도 삭제했습니다.
삭제는 아무 거부없이 잘 됐습니다.
이제 재부팅을 해줍니다
정상적으로 드라이브 문자가 할당된 걸 볼 수 있습니다. reg load를 하지 않아도 되는군요
다만 reg load 방식은 재부팅하지 않아도 된다는 잇점 정도만 있게 되네요.
* 참고로 위와 같이 원본 드라이브에 윈도가 존재하지 않는다면? 짬뽕 윈도에서 c:에 사용자가 설정되어 있습니다. 본문 제일 위에 보시면..
그래서 사용자가 없어서 로그온을 하지 못 합니다. 부팅을 못 한다는 거죠. 이때는 reg load가 절대적 힘을 발휘하겠군요. 부팅하지 않고도 수정하므로..
-----------------------
2015-03-07 09:50
부팅이 된다면 디스크관리에서 직접 드라이브 문자를 변경하면 되지 않을까? 하시는 분들도 계실 겁니다만
해보시면 아시겠지만 부팅 드라이브나 페이지파일[가상 메모리]가 있는 파티션은 디스크관리에서 드라이브 문자가 변경되지 않습니다.
또 하나, 계속 테스트하다 보니까 서로 번갈아가면서 문자를 할당하지 않고 다른 문자를 할당하는 일도 1번 겪었습니다
c와 f가 아니라 c와 i로 할당하더군요. f가 남아 있는데도 왜 그런지는 모르겠습니다. 그냥 참고로 썼습니다. c:는 정상적으로 인식하므로...
댓글 [10]
-
왕초보 2015.03.05 22:27
-
cungice 2015.03.05 23:05
suk님 수고 하셨습니다.
-
움이 2015.03.05 23:28
PE에서 복구를 한다고 가정할때
데이터 복구할 파티션의 드라이브 문자를 C로 지정해 준 후에.
복구했더니 해결이 되더군요. (Acronis True Image 사례입니다)
물론 다른 파티션이 C드라이브였지만 그 쪽은 드라이브 문자를 제거시켜 버렸습니다.
복구작업하는 당시의 드라이브문자가 영향을 미치는것 같았습니다.
-
suk 2015.03.05 23:52
아...그게 그 용도였군요. 트루이미지 몇년 사용해도 무심코 어쩌다 지나치면서 봤기 때문에
그 생각은 전혀 하지 못 했네요. 드라이브 문자 뭐 하는건가 했더니...이런 경우에 필요하겠군요.
그러면 트루이미지는 간단하게 해결되었고
imagex 등으로 wim으로 백업/복구할때도 위와 같은 현상이 생깁니다.
레지스트리는 동일하게 백업되니까 같은 현상이 생기나보네요.
-------------------
2015-03-06 00:18
드라이브 문자 변경은 처음 이용해봐서 그런지...맘대로 안 되네요
PE에서 c:을 삭제하고 복구하는 드라이브를 c:으로 할당했는데도 부팅하면 여전히 위와 같은 이중 윈도가 됩니다
제거해야만 c 할당이 되어서 했는데...실제 부팅하면 아무 것도 변경되지 않아서 무안하더군요 ;
일단은 본문의 방법은 트루이미지만 아니라 범용적이라서...또 제가 잘 하는 방식이라서 그쪽으로 해야겠군요
트루이미지가 된다고 해도 드라이브 문자 제거하고 하면 생각보다는 간단치가 않네요.
부팅 전에 bat 파일 한번 클릭해주는것이 간단한 것 같습니다.
-
.... 2015.03.06 04:01 좋은 테스트 감사드립니다.
-
Lucky 2015.03.06 23:29
수고 많으십니다.
-
희망성사 2015.03.07 08:26
오늘 아침에 이전에 백업해 두었던 wim 파일을 타 파티션 복구해 보았습니다.
이중 파티션 안 잡고 단독 파티션에 복구 잘됩니다.
하이브로드 이용해 봤습니다.
테스트하시느라 노고가 많으셨습니다.
좋은걸 배우고 갑니다.
감사드립니다.
-
왕초보 2015.06.23 19:18
복습하려 왔습니다..
이렇게 자세히 설명을 해주셨는데..까먹다니..머리가 너무 나쁜가 봅니다..
다시 한번 감사 인사 올립니다..
-
노익장 2015.09.05 05:58
자세한 사용기 감사합니다^^
-
Playing 2017.11.03 18:03
suk 님 글 잘 봤습니다
PE 에서 키보드 레이아웃을 바꿔볼려고 했더니 재부팅을 요구하더군요
그래서 레지스트리 관련된 글을 찾다가 들렀습니다
아쉽게도 말씀해주신 바를 충분히 이해하지 못하였지만 PE 에서 어떤 건 기존처럼 드라이브 할당이 되는데 어떤 건 마구잡이로 바뀌던 걸 경험하면서 흥미롭게 읽었습니다
.
지금 곰곰히 생각해보니 부팅과정에서 레지스트리를 읽어오는 과정이 있고 이 시점에는 재부팅을 요구하는 변경들도 괜찮게 수용되는 거 같네요
아우 아무튼 저는 조금 더 고심해보고 다시 찾아뵙겠습니다(이해하는 날!!)
언제나 써주시는 글을 볼때마다..대단하시구나 하는 감탄이 절로 나옵니다..
복사해서..bat 파일로 만들어 두었습니다...
밤샘작업을 하셨는데..오늘은..꿈나라에서 편안하게 주시시길 바랍니다..
멋진 강좌 감사합니다..
추천은 기본이죠..