ImageX 의 재분석 지점 경로 자동 수정 이해하기

재분석 지점이란 간단하게 심볼 링크정션을 의미합니다. [윈도우에서 링크란 무엇인가? - 하드 링크, 심볼 링크, 정션 -]

재분석 지점(Reparse Point) = 심볼 링크(Symbol Link), 정션(Junction)


앞으로 이 글에서는 그냥 간단하게 링크로 표현하도록 하겠습니다. 이미 링크에 대해서는 충분히 이야기를 했으니 결론부터 이야기할께요. ImageX 는 기본적으로 이미지 캡쳐 당시 캡쳐하는 드라이브에 포함된 링크들 중 원본 경로가 드라이브 내부로 향하는 링크를 파악해두었다가, 추후에 해제시 이들의 원본 경로를 자동으로 수정합니다. 이를 정리하면 아래와 같습니다.

1. 이미지 캡쳐 당시 캡쳐하는 드라이브의 드라이브 문자를 기준으로 해당 드라이브에 포함된 링크들 중 드라이브 내부로 향하는 링크를 파악하여 수정해야 할 링크로 이미지에 기록. [C: 상태에서 캡쳐한다면 C: 를 향하는 모든 링크를 파악]

2. 이미지 해제 당시 앞서 파악해둔 내부로 향하는 링크들의 원본 경로를 이미지 해제 당시 이미지를 해제하고 있는 드라이브의 드라이브 문자를 기준으로 자동으로 수정.



정확하게 무슨 이야기인지 직접 보도록 하죠. 아래와 같이 여러 심볼 링크와 정션들을 준비해보았습니다.


예제 링크들(재분석 지점)

해당 링크들을 두 가지로 분류하면 작업 당시를 기준으로 원본이 드라이브 내부로 향하는 링크들과, 원본이 드라이브 외부로 향하는 링크들, 이렇게 두 가지로 분류할 수 있습니다. ImageX 는 그 중에서도 드라이브 내부로 향하는 링크들을 기억하여 이것을 상대적으로 수정해야 할 링크들로 체크하여 이미지에 저장한다는 이야기입니다. 참고로 이를 ImageX 는 재분석 지점에 대한 상대 경로 연결(Relative path junction)라고 이야기합니다.

현재 예제를 기준으로 작업 당시 D: 드라이브에 위치한 링크들 중에 원본이 D: 를 가르키는 링크들, 바로 이러한 링크들을 ImageX 는 경로를 상대적으로 처리해야 할 링크로 저장을 한다는 이야기이죠.


그럼 실제로 ImageX 로 D: 드라이브를 캡쳐해보도록 하겠습니다.

imagex /Capture D: E:\Backup.wim "Drive D"



그리고 이렇게 캡쳐한 이미지를 T: 드라이브에 풀어보았습니다.

imagex /Apply E:\Backup.wim 1 T:



어떤가요? 캡쳐 당시 드라이브 외부로 향하던 링크는 그대로지만 드라이브 내부로 향하던 링크들은 원본 경로가 자동으로 현재 해제한 드라이브 경로에 맞춰 자동으로 수정되었죠? ImageX 의 재분석 지점 경로 자동 수정이란 바로 이것을 이야기하는 것입니다. 이러한 ImageX 의 재분석 지점 경로 자동 수정은 경우에 따라서 굉장히 유용할 수도, 문제를 야기할 수도 있습니다.






ImageX 의 재분석 지점 경로 자동 수정은 언제 문제가 되는가?

ImageX 의 재분석 지점 파악과 자동 수정은 모두 작업 당시를 기준으로 합니다. ImageX 를 사용할 땐 윈도우에서 뿐만 아니라 윈도우 PE 에서도 많이 사용하죠. 글의 예제에서는 윈도우에서 D: 드라이브일 때 백업하여 원본이 D: 를 향하는 링크들이 수정해야 할 링크들로 이미지 내에 저장이 된 상태입니다.

이러한 이미지를 가지고 작업 당시의 윈도우가 아닌 윈도우 PE 와 같은 다른 윈도우에서도 복원을 진행하는 상황이 충분히 있을 수 있습니다. 그럼 윈도우 PE 와 같은 다른 윈도우에서 동일 드라이브에 복원을 진행하더라도, 해당 드라이브가 항상 D: 드라이브일 거라는 보장은 없다는 겁니다. 드라이브 문자는 상황에 따라서 언제든지 변할 수 있으니까요.

실제로 글에서 예제로 들고 있는 D: 드라이브는 윈도우 PE 로 부팅하였을 때는 E: 드라이브로 인식이 되는 상태입니다. 이러한 상태에서 복원을 진행하면 링크들의 경로가 자동으로 현재 작업을 진행하고 있는 윈도우 PE 의 드라이브 문자에 맞춰 자동으로 E: 로 모두 바뀌게 됩니다.

imagex /Apply D:\Backup.wim 1 E:



그리고 윈도우로 돌아오면 해당 링크들은 더미 링크가 되어 있게 되는 것이죠.

더미 링크가 되어 버린 내부를 향하는 링크들







ImageX 가 재분석 지점 경로를 자동으로 수정하지 못하게 하기

그래서 ImageX 에서는 위의 예제에서와 같은 사태를 방지하기 위해 링크들을 자동으로 수정하지 못하게 하는 /Norpfix 옵션이 존재하고 있습니다. 해당 옵션은 드라이브를 이미징하는 /Capture, /Append 명령에서 사용할 수도 있고, 이미지를 해제하는 /Apply 명령에서도 사용할 수 있습니다.

/Norpfix 를 /Capture(/Append) 때에 사용하면 드라이브의 링크들을 분석하여 수정해야 할 링크들에 대한 정보를 이미지에 저장하는 작업 자체를 아예 하지 않고, 그냥 현재 링크 정보 그대로 이미지를 저장하는 것이고, [해당 이미지로 /Apply 해제를 진행하면 무조건 원래대로만 링크를 복원할 수 있음] /Apply 때 사용하면 해당 이미지에 저장되어 있는 수정해야 할 링크들에 대한 정보를 무시하고, 해당 링크들이 가진 원래의 경로대로 링크들을 복원하는 것을 의미합니다.

/Capture(/Append) 에서 사용 : 드라이브 내부로 향하는 링크들에 대한 분석 없이 이미지 생성(백업).
/Apply 에서 사용 : 현재 이미지에 저장되어 있는 수정해야 할 링크들에 대한 내용을 무시하고 원래대로 해제(복원).


실제로 앞서와 동일한 상황에서 /Apply 작업에 /Norpfix 옵션을 적용하여 작업을 진행해본 모습입니다.

imagex /Apply D:\Backup.wim 1 E: /Norpfix



보시는 것과 같이 내부를 향하는 링크들의 경로가 수정되지 않고 원본 그대로 복원된 것을 확인할 수 있습니다. 그리고 아래와 같이 윈도우로 다시 돌아와 확인해보아도 링크들이 정상 작동하는 것을 알 수 있습니다.

정상 작동하는 내부를 향하는 링크들



캡쳐는 /Norpfix 없이 기존과 동일하게 작업하고, 해제 작업에서 /Norpfix 옵션을 적용하는 것은 사용자의 판단과 필요에 따라 링크들의 경로 수정을 진행할 것인지 결정할 수 있는 장점이 있고, 아예 캡쳐 단계에서 /Norpfix 옵션을 적용하여 이미지를 생성하는 것은 해당 이미지에 포함된 링크들이 무조건 수정되지 않아야 할 때 이를 강제시킬 수 있다는 장점이 있습니다. 즉, 어떠한 작업에 해당 옵션을 적용할 것인지는 백업 이미지의 용도에 따라 적절히 선택하면 되는 겁니다.


참고로 Imagex /Info 명령을 통해 해당 WIM 파일이 /Capture 나 /Append 당시 /Norpfix 를 옵션을 적용하여 생성한 이미지인지 아닌지 확인할 수 있습니다. 하지만 포함된 이미지가 여러 개라면 그 중에 어떠한 이미지가 /Norpfix 옵션이 적용된 이미지인지는 확인할 수 없는 단점이 있습니다.

/Norpfix 옵션 없이 캡쳐한 이미지


/Norpfix 옵션을 통해 캡쳐한 이미지







ImageX 를 통한 윈도우 백업과 복원, 그리고 재분석 지점 경로 자동 수정

심볼 링크와 정션을 설명한 글에서도 이야기를 드렸지만, 윈도우 비스타 이후의 윈도우들은, 윈도우 드라이브에 수많은 내부 링크들이 존재하고 있습니다.



그래서 경우에 따라 ImageX 를 통해 윈도우를 백업하고 복원하는 경우 이러한 내부 링크들이 영향을 받을 수 있는 가능성이 있습니다. 하지만 보통 ImageX 를 통해 윈도우를 백업하고 복원할 때 시스템 내 디스크와 파티션의 구성에 변화가 없다면, 동일한 환경에서(ex. 윈도우 PE) 백업하고 복원하는 것이 대부분일테니, 백업 시점과 복원 시점에 해당 환경에서 드라이브 문자들이 변화할 가능성은 적고, 고로 별다른 문제가 없는 것이 보통입니다.

하지만 최악의 상황을 가정하자면, 시스템 예약 파티션 없이 파티션을 구성한 경우 많은 시스템들이 윈도우 PE 로 부팅한 상태에서도 윈도우 드라이브가 C: 를 할당 받는 것이 일반적인 모습입니다. 이러한 상황에서 /Norpfix 옵션 없이 ImageX 를 통해 윈도우를 백업하게 되면 윈도우의 이러한 내부 링크들이 수정을 필요로 하는 링크들로(Relative path junction) 인식이 되어 저장이 되죠.

그런데 이러한 이미지를 통해 윈도우를 다시 복원하는 시점에 시스템의 디스크나 파티션의 구성이 변화하여 윈도우 드라이브가 C: 를 할당 받지 못하였다면? 이러한 상황에서 복원된 윈도우의 내부 링크들은 모두 더미 링크가 되어 버리고, 이는 윈도우 내부적으로 여러 가지 문제들을 야기시킬 수 있습니다.


다시 한 번 말하지만 ImageX 의 이러한 내부 링크 자동 수정 기능이 윈도우의 백업과 복원에서 문제를 일으키는 경우는 여러 가지 조건이 맞아야 일어날 수 있는 문제입니다. 하지만 그러한 상황이 자신에게 발생하지 말라는 법은 없죠. 윈도우의 내부 링크들은 수정되지 않아야 합니다. 그러니 저는 ImageX 를 통해 윈도우를 백업하고 복원할 땐 가급적 복원 작업에서 /Norpfix 옵션을 추가하여 작업하길 권합니다. 특히나 ImageX 를 통해 윈도우를 다른 드라이브로 옮기려는 경우라면 이러한 상황이 발생할 가능성이 높으니 이번 글에서 이야기한 이 내용을 필히 기억하시길 바랍니다.


참고로 이는 꼭 윈도우 드라이브 뿐만 아니라 데이터 드라이브를 백업하고 복원할 때도 생각해보아야 겠죠? 적절히 알아서 잘 대처하세요. 이번 글은 여기까지 입니다. ^^

 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 돌산 2013.01.11 10:30 신고  댓글주소  수정/삭제  댓글쓰기
    음....그러니까 복원시 디스크나 파티션 구성이 바뀌었을 경우에는 더미링크가 될 가능성이 높으니 그 경우에는 적절히 /norpfix 옵션을 활용해서 복원을 해야 한다는 것이군요.

    imagex로 백업 복원 작업을 할 수 있다는 것을 알았을 때만 해도 전혀 생각치 못했던 내용인데,백업 복원 도구로 imagex를 사용할 때는 필히 복원시의 디스크,파티션 구성의 변화 여부를 반드시 생각해 봐야 하겠습니다.
    • BlogIcon CApple 2013.01.11 11:56 신고  댓글주소  수정/삭제
      정확하게 이야기하자면 디스크나 파티션 구성이 바뀌는 게 아니고 드라이브 문자가 바뀌었을 때 바뀐 드라이브 문자에 맞춰 링크들이 수정되어 더미 링크가 될 가능성이 있다는 것이죠.

      동일한 환경(윈도우에서 작업하면 윈도우, 윈도우 PE 에서 작업하면 윈도우 PE)에서 백업과 복원을 진행하는 경우 드라이브 문자가 바뀌는 경우는 보통 파티션 구성이 바뀌거나 디스크 구성이 바뀌는 경우 밖에 없으니까 그러한 이야기를 한 것입니다.

      디스크나 파티션의 구성이 바뀌지 않았더라도 다른 환경에서(윈도우에서 백업하고 다른 윈도우나 윈도우 PE 에서 복원하는 것과 같은) 작업을 진행하면 드라이브 문자가 바뀔 수 있기 때문에 이 또한 조심해야 하는 것이고요.
    • 돌산 2013.01.11 14:12 신고  댓글주소  수정/삭제
      드라이브 문자가 바뀔 수 있는 여러 가지 상황에 대해서 머릿속으로 한 번 정리를 해둬야겠습니다.캐플님 댓글을 읽고 나니 그런 생각이 드네요.ㅎㅎ
  2. BlogIcon Circleses 2013.01.26 14:34 신고  댓글주소  수정/삭제  댓글쓰기
    글들이 정말 내용이 좋고 정리도 깔끔하게 되어있어 보기 좋네요.
    이 글 내용을 읽다가 궁금해져서 질문좀 드릴께요..
    캐플님은 이렇게 스크린 샷을 찍으실 때 메인 윈도우? 에서 작업하시는 건가요? 아니면 가상 컴퓨터 프로그램을 이용하시는 건가요? 아니면 집에서 돌아다니는 컴퓨터를 활용하시나요?
    정확히는 글 내용이 아니라 블로그 팁이지만.. 질문드려 볼께요..ㅠㅠ
    • BlogIcon CApple 2013.02.05 12:50 신고  댓글주소  수정/삭제
      답변이 너무 늦어 죄송합니다. 그 때 그 때 상황에 맞춰 메인 컴과 VMware 가상 머신을 번갈아 가며 이용하고 있습니다. ^^ 특히나 윈도우 부팅 화면이나 그러한 부분들처럼 메인 컴으로는 캡쳐가 불가능한(사진으로 찍어야 하는) 부분들은 거의 대부분 가상 머신을 활용한다고 생각하시면 됩니다. ^^
  3. Ascii 2013.12.03 21:42 신고  댓글주소  수정/삭제  댓글쓰기
    좋은 팁 올려주셔서 감사합니다.
    imagex 올려주신 방법으로 잘 사용하다가 /Norpfix에 대해 혼동되는 부분이 있어서 그러는데 질문드려도 될까요?

    현재 윈도우를 설치해놓은 C가 윈도우 설치시디를 통해 PE 부팅시에는 E로 잡히고 있습니다.
    PE 부팅 이후 /Norpfix 없이 /Capture하였는데요, /Apply시에는 /Norpfix를 적용해야 하는 것이 맞나요?
    캡쳐 당시부터 E로 잡혀있던 것을 캡쳐한 후 다시 E에 풀게 되는 상황 같긴 한데 /Norpfix를 적용해야하는지 아닌지 확신이 안 섭니다.
    윈도우가 가지고 있는 junction들은 C를 향하는 외부 링크들 뿐이라 상관 없을것 같기도 한데...
    혹시 가능하시면 답변주시면 감사하겠습니다.
  4. 큐브 2014.06.10 21:05 신고  댓글주소  수정/삭제  댓글쓰기
    pe를 사용한 자동백업복구 솔루션을 만들었는데...
    /Norpfix 옵션없이 사용하면 경로가 변경되어 문제가 될 수 있겠군요.
    상세한 설명과 메뉴얼 감사합니다. ^^

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com