Freigeben über


KB919529 Windows Vista 또는 7이 설치된 장비에 이전 Version 의 Windows 를 설치한 후 부팅 실패

Windows no longer starts after you install an earlier version of the Windows operating system in a dual-boot configuration

https://support.microsoft.com/kb/919529/en-us

 

Windows Vista 나 Windows 7이 설치되어 있는 장비에 Windows XP를 설치할 경우 부팅관련 설정이 손상되게 되어 부팅이 정상적으로 되지 않습니다.

Windows Vista 부터 부팅이 Boot Configuration Database (BCD) 라는 것으로 변경되어서 발생하는 문제 입니다. (Windows Vista 이후에서는 Kernel debugging 설정을 할 때 boot.ini를 사용하지 않고 bcdedit을 사용하는 것도 같은 이유 입니다.)

XP 에서는 부팅이 되는 과정에서 MBR에 있는 코드가 ntldr을 로드하고 ntldr은 boot.ini를 참조하여 부팅을 하게 됩니다. 하지만 Windows Vista 이후에서는 MBR에 있는 코드가 bootmgr(boot manager)를 로드하고 bootmgr 은 BCD의 내용을 사용해서 부팅을 진행하게 됩니다.

Windows XP가 설치되는 과정에서 MBR 에 있는 코드가 덮어써지게 되고 부팅 관련 파일도 XP의 것으로 변경되게 되어 부팅이 안 되는 것 입니다.

 

아래 과정을 통해 복원 작업을 합니다.

  • bootsect 라는 명령으로 MBR을 복구
  • bcdedit 으로 이전 Windows에 대한 항목 생성 (Windows XP 또는 Windows 2003), 파티션 정보 변경, 경로 변경