복사 / 붙여 넣기를 통해 전체 C 드라이브를 복사하십시오. 작동합니까? 할 C 드라이브

Windows 시스템의 전체 C 드라이브를 새 드라이브 (사본 붙여 넣기 또는 미러링 도구를 통해)에 복사하면 C : 드라이브를 부팅 할 수없는 이유가 있습니까?

이것은 보조 드라이브 EDIT 에서 MBR이 올바르게 설정되어있는 상태 입니다. 파일 잠금은 문제가되지 않습니다. 복사 붙여 넣기는 복사 할 C 드라이브 창 내부에서 발생할 필요가 없으며 마운트 될 수 있습니다. 드라이브.

전체 스냅 샷을 수행하는 것이 백업 관점에서 “더 나은”것으로 이해하지만이 질문은 “최상의”실천에 관한 것이 아닙니다.

드라이브 파일을 미러링하여 시스템을 백업하고 실행할 수 없다는 말을 들었습니다. 이유를 이해할 수 없습니다! 1 : 1 사본 (모든 파일이 두 번째 드라이브에있는 것으로 확인 됨) 인 경우 필요한 모든 것이 있어야합니다 ??

내가 들었던 주된 이유는 레지스트리가 복사되지 않는다는 것입니다. 그러나 머신의 모든 것이 어딘가에 파일입니까?



답변

이 작동하지 않을 수 있습니다.

이 답변은 일반적인 설정을 가정했을 수 있습니다. 여기서 C :는 운영 체제를 보유합니다.

정확한 사본을 얻지 못하는 이유에 대한 예를 하나 들어 보겠습니다.

이유 # 1 : 탐험가가 멋지다

Microsoft Windows의 GUI (Explorer)를 사용하여 그림을 새 폴더에 복사하면 Windows는 “사용자 친화적”작업을 시도합니다. 사진을보고 축소판 이미지를 만들어 thumbs.db라는 파일에 저장합니다.

따라서 많은 파일을 복사하고 ApicOne.jpg로 시작한 다음 BpicTwo.jpg로 시작한 다음 CpicThree.jpg로 시작하면이 세 이미지를 복사 할 때 3 개의 축소판이 만들어집니다.

그런 다음 이전 thumbs.db 파일을 복사하려고하면 (모든 파일을 복사하기 때문에) 새로운 thumbs.db 파일이 이미 존재하기 때문에 충돌이 발생합니다. 최신 thumbs.db 파일에는 ZpicTwentySix.jpg 파일이 아직 포함되어 있지 않습니다 (파일이 알파벳순으로 복사되어 있다고 가정). 따라서 GUI는 이름이 기존의 thumbs.db 파일을 덮어 쓸지 묻는 메시지를 표시하는 동안 복사를 중지합니다.

간단한 현실은 고통입니다.

이제 이론적으로는 새 파일에 동일한 축소판이 포함되어 있어야하므로 (최종 사진이 복사 된 후) 해당 파일을 건너 뛰거나 이전 파일을 유지하거나 이전 파일을 덮어 쓸 수 있습니다. 그러나 새 파일의 수정 날짜가 달라집니다. 따라서 거기에는 정확한 사본이 없습니다. 또한 파일이 이전에 다른 방식으로 정렬 된 경우 (시간이 지남에 따라 다운로드 한 파일 날짜를 기준으로 디렉토리에 추가됨) 탐색기에서 파일을 알파벳순으로 복사하는 방식으로 정렬 된 다음 다시 한 번, 모든 것을 정확하게 같은 방식으로 저장하지는 않습니다.

이유 # 2 : 파일이 나타나지 않을 수도 있습니다

일부 파일은 실제로 나타나는 방식으로 존재하지 않습니다. C : \ Windows \ WinSXS \에는 “나란히 어셈블리”가 포함되어 있습니다. 기본적으로 공유 파일을 사용하는 두 개의 프로그램을 설치하면 최신 버전의 Microsoft Windows는 파일 이름이 같더라도 두 버전의 파일을 모두 유지합니다. 파일을 업데이트하면 Microsoft Windows가 새 파일과 이전 파일을 모두 저장할 수 있습니다. 이러한 종류의 기술은 여러 소프트웨어가 설치된 경우 호환성이 향상되었으며 문제가있는 경우 이전 상태 ( “시스템 복원”)로 롤백하는 기능을 지원합니다. 그러나 이것이 구현되는 방식은 복잡합니다.

WinDirStat ( WinDirStat 페이지 에서 다운로드)를 실행하면 이 프로그램이 하드 드라이브의 파일 크기를 표시합니다. C : \ Windows \ WinSXS 디렉토리는 방대합니다.

그러나 그것은 잘못된 것입니다. WinSXS 디렉토리는 특별합니다. 디렉토리는 파일이 특정 크기임을보고합니다. 그러나 실제로 Windows는 해당 폴더에 특별한 트릭을 사용하고 있습니다. 실제로 해당 폴더에있는 것은 일부 데이터를 공유하는 여러 부분 파일입니다. 내 생각에 그런 것. 요점은 어떤 종류의 속임수가 사용된다는 것입니다. 그리고 WinDirStat는 이러한 트릭을 이해하지 못합니다. 따라서 WinDirStat는 Windows가 알려주는 모든 거짓말을 믿으며, WinDirStat는 결국 WinSXS 디렉토리의 파일이 엄청난 양의 디스크 공간을 차지한다고 말합니다.

프로그램을 실행하려고하면 Windows는 DLL 파일 조각을 조합하고 프로그램이 필요한 데이터의 복사본을 볼 수 있도록 충분히 똑똑하여 프로그램이 제대로 작동합니다.

탐색기 GUI를 사용하여 해당 디렉토리를 복사하려고 할 때 탐색기 GUI의 “복사”기능은 WinSXS가 특별하다는 것을 이해하지 못합니다. 따라서 “복사”기능은 각 개별 파일을 전체 파일 인 것처럼 복사하려고 시도합니다. 결과는 특수하게 처리되지 않은 대상 디렉토리에 파일이 복사됩니다. 따라서 대상이 특수 소스와 일치하지 않습니다.

이유 # 3 : 부팅 프로세스가 복잡 할 수 있음

부팅 코드는 몇 가지 흥미로운 일을 할 수 있습니다. 다른 운영 체제의 다른 버전은 다르게 작동 할 수 있으므로 여기에서 언급 한 특정 세부 사항은 사용중인 특정 Windows 버전과 정확하게 일치하지 않을 수 있습니다. 기본적으로 시스템 시작 (BIOS / (U) EFI)은 파일 위치를 가리키는 부팅 코드 (MBR / GPT)로 디스크 섹션을 확인합니다. 컴퓨터가 매우 단순 할 수있는 코드를 실행하고 있음을 이해하십시오. 이 간단한 코드는 파일 시스템의 복잡한 세부 사항을 완전히 이해하지 못할 수도 있습니다. 예를 들어 NTFS 정션을 이해하지 못할 수 있습니다. 하지만 괜찮습니다. 부팅 코드는 필요한 파일이 디스크의 섹터 번호 6,189,247,145에 있다는 것을 이해합니다. 운영 체제가 설치되면

루트 디렉토리 (C : *. )의 모든 파일을 새 드라이브 (D : *. )로 복사하면 Windows 탐색기의 GUI가 데이터를 알파벳순으로 복사하는 것과 같은 매우 간단한 방법으로 작업을 수행 할 수 있습니다. 운영 체제에서 파일 (예 : C : \ BootLog.txt라는 숨겨진 파일)을 추가 한 경우 C : \ bootmgr (알파벳순) 앞에 올 수 있습니다. 따라서 C : \ bootmgr은 Windows가 C : \ 드라이브에 설치되었을 때와 같이 파일 목록에 표시되지 않습니다.

이것은 보조 드라이브에서 MBR이 올바르게 설정된 상태입니다.

자, MBR이 파일을 찾아야 할 수도 있음을 이해했습니다.

일반적으로 디스크 부팅 코드의 역할은 시스템 부팅 방법에 대한 자세한 내용이 들어있는 파일을 찾는 것입니다. 예를 들어, Windows 95의 경우 이러한 세부 정보는 일반적으로 \ IO.SYS라는 파일에 저장되었습니다 (그러나 대신 사용할 수있는 다른 파일 이름도있었습니다). IBM PC DOS에서는 C : \ IBMBIO.COM 및 C : \ IBMBIO.SYS에 동일한 유형의 기능이 저장되었습니다. 따라서 함께 작동 할 수있는 여러 부팅 파일이있었습니다.

따라서이 문제는 MBR을 넘어 확장 될 수 있습니다. 운영 체제가 시작된 후에도 부트 로더에 여러 “단계”가있을 수 있으며 이는 여러 파일에 영향을 줄 수 있습니다. 나중에 시작되는 “커널”은 말할 것도없고 “첫 번째 단계 부트 로더”와 “두 번째 기반 부트 로더”를 문서화하는 운영 체제를 하나 이상 알고 있습니다. 따라서 부팅에 대한 관심은 초기 부팅 부문에 대한 관심에만 국한되지 않습니다.

이유 # 4 : 데이터가 사용 중일 수 있음

내가 들었던 주된 이유는 레지스트리가 복사되지 않는다는 것입니다. 그러나 머신의 모든 것이 어딘가에 파일입니까?

나는 그것을 믿지 않을 것입니다. Windows가 시작되면 일부 레지스트리를 메모리 또는 캐시 파일에 저장할 수 있다고 생각합니다. 레지스트리가 디스크에 저장되어 있어도 일부 파일은 다른 파일 (예 : “DataThatStillNeedsToBeWritten”파일)에있을 수 있으며 실행중인 Windows 복사본에 “필요한 일부 데이터가 남아 있습니다”라는 메시지가 표시 될 수 있습니다.

Windows GUI가 기본 레지스트리 파일을 복사 한 후 Windows는 캐시 파일에서 데이터를 이동하기 위해 파일을 가져 오는 것과 같이 수행해야하는 일부 작업을 수행 할 수 있습니다 (이 샘플에서는 “DataThatStillNeedsToBeWritten “)를 기본 레지스트리 파일에 넣습니다.

Windows GUI가 “DataThatStillNeedsToBeWritten”캐시 파일을 복사 할 때 해당 파일에 더 이상 레지스트리에 복사 된 세부 사항이 없습니다.

이제 컴퓨터의 전원이 꺼지면 Windows가 frkesk를 상당히 잘 복구합니다 (ChkDsk 실행 지원을 통해). 그러나 D :에서 만든 파일을 복사하면 일부 중요한 데이터가 성공적으로 복사되지 않았으므로 Windows의 새로운 “복사본”이 성공적으로 복구되지 않을 수 있습니다.

이 전체 개념은 Microsoft가 Windows의 “볼륨 섀도 복사본 서비스”(종종 VSS 또는 VSC로 약칭 함)와 같은 복잡한 기술을 만든 이유입니다. 두 약어는 모두 동일한 것을 나타냅니다. 이러한 종류의 문제는 백업 소프트웨어가 “시스템 상태”를 잡을 수있는 이유이며, 인기있는 백업 소프트웨어 제품에는 SQL 데이터베이스 및 전자 메일과 상호 작용하기위한 특수한 플러그인이있을 수 있습니다 (데이터는 종종 온라인 / 사용 가능하고 적극적으로 사용되기 때문에) 익숙한).

해설

나는 이것이 유일한 문제라고 말하지는 않습니다. 이것들은 내 마음에 빨리 튀어 나오는 것입니다. Microsoft Windows 플랫폼은 최신 버전으로 훨씬 더 복잡해졌습니다. (XP는 2K / ME보다 훨씬 더 복잡했으며 XP 서비스 팩 2는 Vista, 7, 7, 8과 마찬가지로 주목할만한 복잡성을 도입했으며이 실적을 바탕으로 10도 마찬가지였습니다.) 특히 최신 버전이 앞으로 더 복잡해지기 때문에 몇 가지 이유가 없을 것입니다.

솔루션

이러한 문제를 해결하기위한 두 가지 팁 :

  • Windows가 다른 하드 드라이브에서 부팅 된 경우 휴면 Windows 복사본을 복사하여 이러한 문제 중 적은 수의 문제가 발생할 수 있습니다.
  • “스냅 샷”을 지원하는 소프트웨어에는 종종 이러한 많은 문제를 고려하기위한 특수 코드가 있습니다.

답변

부팅 디스크를 사용하여 운영 체제를 실행 한 다음 운영 체제를 실행하지 않고 복사하는 경우 사용자 파일과 문서를 복사하려는 경우에도 작동합니다. 하드 드라이브의 이미지를 만들기 위해 과거를 복사하려고하면 손상된 파일 및 레지스트리 시스템과 함께 실패합니다. 이미징 프로그램을 사용하는 경우 제대로 작동합니다. 클라이언트 컴퓨터에서 작업 할 때 여기에있는 DriveSnapshot을 개인적으로 사용 합니다. 나는 프로그램이 더 오래된 느낌을 가지고 있다고 말할 것이다. 그러나 그것이 내가 그것을 좋아하는 한 가지 이유이며, 그것은 잘 작동한다. 당신이 보면 몇 가지 무료 이미징 프로그램이있을 것입니다. 이미징 프로그램이 디스크를 복사하는 데 잘 작동하는 주된 이유는 바이트 복사 용 바이트이기 때문에 모든 것이 동일하기 때문입니다. copy paste 명령을 사용하면 문제가 발생합니다 (제 경험상 문제가 발생하면 손상된 시스템 파일을 의미합니다). 또한 복사 붙여 넣기는 레지스트리가 현재 두 번째 드라이브에서 실행되어 시스템이 올바른 파일을 가리 키지 않기 때문에 레지스트리에 항목을 올바르게 등록하지 않습니다. 이것이 귀하의 질문에 도움이되기를 바랍니다.


답변

복사하여 붙여 넣기가 작동하지 않습니다. 처음에 MBR / GPT의 많은 가치는 역동적이고 상대적으로 역동적입니다. 하드 드라이브 A는 400GB이고 하드 드라이브 b : 3TB의 모든 섹터 카운트 시작 및 종료 파티션이 모두 잘못됩니다.

파티션의 첫 번째 섹터 안에있는 부팅 레코드에도 다른 값이 있습니다. 실린더, 헤드 및 섹터는 이제 모두 에뮬레이션 된 값이지만 오류가 발생할 수도 있습니다.

오프라인으로 복사하여 붙여 넣을 수는 있지만 MBR / GPT를 미리 만들어야합니다. 그런 다음 파티션을 만들고 포맷하십시오. 그런 다음 부팅 플래그를 올바르게 설정 한 다음 파일을 다시 복사하십시오. 또한 bcdedit를 사용하여 부팅 메뉴를 다시 실행해야 할 수도 있습니다.

Windows PE 또는 유사한 디스크에서 부팅 할 때 Microsoft에서 제공하지 않은 imagex를 사용하는 것이 더 쉽습니다. 파티션이 존재하지 않는 경우 여전히 diskpart를 사용하여 파티션을 만들어야합니다.


답변

컴퓨터를 부팅하는 데 필요한 다양한 주요 정보는 하드 드라이브의 파일 시스템에 저장되지 않으며 특정 위치 (때로는 시스템이 실행되는 동안 볼 수없는 별도의 파티션)에 저장됩니다.

따라서 시스템의 모든 것이 파일이라는 것은 사실이 아닙니다.

Windows 8 및 EFI 이전의 세계에서는 이것이 매우 쉬웠습니다. 컴퓨터를 부팅하는보다 유연한 방법으로 인해 훨씬 ​​더 복잡해졌습니다.

그래도이를 수행 할 수있는 상용 소프트웨어 패키지가 많이 있습니다.