본문 바로가기

부팅과 멀티 부팅

시스템(활성) 파티션 바꾸기 - Bootmgr + NTLDR 부트 매니저 구성시

시스템(활성) 파티션 바꾸기 : Bootmgr + NTLDR 멀티 부팅



기본 설명

윈도우 7 (또는 비스타) 와 윈도우 XP 가 동시에 설치되어 있는 멀티 부팅 환경의 경우 현재 시스템 파티션에 Bootmgr 부트 매니저와 NTLDR 부트 매니저가 동시에 구성이 되어 있는 상태이죠.

사실 작업이 크게 다를 것은 없습니다. 이전 글들을 참고하여 두 작업을 동시에 진행해주면 되죠. 즉, NTLDR 부트 매니저 구성은 그대로 옮겨주고, Bootmgr 부트 매니저 구성은 먼저 BCD 를 백업하고 새로 설치한 후, 새로 활성 파티션을 마크해 주고, 부트 섹터 수정해준 후, 재부팅을 진행하여 일단 윈도우 7 으로 부팅한 후 원래의 BCD 로 다시 복원해주면 끝나는 것이니까요.

참고로 윈도우 7 과 윈도우 XP 의 멀티 부팅일 때는 주 부트 매니저가 Bootmgr 이기 때문에 이에 맞춰 새로운 시스템 파티션의 부트 섹터는 윈도우 7 형식(NT60) 으로 변경해주면 됩니다.

아무튼 이미 모두 설명한 내용들이기 때문에 이번 글은 스크린 샷보다는 추가적으로 알아두어야 할 내용을 설명하는 것을 위주로 하겠습니다.



필요한 것들

작업은 윈도우 7 이나 윈도우 XP 어디에서 작업을 진행하든 상관은 없습니다. 다만 윈도우 7 에서는 NTLDR 부트 매니저를 옮기기 위해 파일의 소유권과 권한을 가져와야 하고, 윈도우 XP 에서는 소유권과 권한 문제는 없지만 Bootsect.exe 뿐만 아니라 BCDEdit.exe 와 BCDBoot.exe 도 함께 준비를 해야 하는 불편이 있죠. 어디에서 작업을 진행할 것인지는 여러분이 편한 곳을 선택하세요.


1. 윈도우 7, 윈도우 XP 공통 준비 파일

일단 윈도우 7 이나 윈도우 XP 나 모두 동일하게 작업을 하려면 아래의 파일을 다운로드 받으셔야 겠죠?


해당 파일에서는 BCDEdit.exe, BCDBoot.exe, Bootsect.exe 세 가지 파일이 모두 포함되어 있고 자동으로 현재 사용자의 윈도우 버전을 파악하여 해당 윈도우에 포함되지 않은 파일들을 설치합니다.


2. 윈도우 7 에서 작업시 추가 준비 파일

윈도우 7 에서 작업을 진행하게 되면 NTLDR 부트 매니저 구성 파일들을 옮길 때 소유권과 권한 문제가 발생하게 됩니다. 자기 파일이 아니니까요. 그래서 takeown 명령과 icacls 명령을 통해 소유권과 권한을 가져와야 합니다. 아래의 배치 파일을 다운로드 받으신 후 NTLDR 파일이 위치한 드라이브만 입력해주면 자동으로 해당 작업을 진행합니다.



해당 배치 파일은 아래의 명령을 자동으로 진행하도록 구성한 것입니다.

takeown /F c:\ntldr
takeown /F c:\ntdetect.com
takeown /F c:\boot.ini
takeown /F c:\bootfont.bin
└ 소유권 가져오기

icacls c:\ntldr /grant %username%:F
icacls c:\ntdetect.com %username%:F
icacls c:\boot.ini %username%:F
icacls c:\bootfont.bin %username%:F

└ 권한 부여하기



부트 섹터 형식은 꼭 NT60 으로

다시 또 말하게 되는데요. 윈도우 7 과 윈도우 XP 가 멀티 부팅으로 꾸며져 있으면 무조건 Bootmgr 우선입니다. 그러니 꼭 부트 섹터는 NT60 형식으로 설정하세요.

bootsect /nt60 e:


안 그러고 NT52 로 하면 윈도우 XP 만 부팅이 되고 윈도우 7 으로는 부팅할 수 없습니다. 해결법은? 다시 NT60 으로 설정하면 됩니다.



BCD 복원 후 필요한 작업

작업을 다 마치고 윈도우 7 으로 부팅 후 이제 예전 멀티 부팅 환경을 복원하기 위해 미리 백업해뒀던 BCD 를 Import 한 후 {bootmgr}, {memdiag} 항목의 Device 를 새로운 시스템 파티션에 맞춰서 변경해주는 작업을 마지막에 진행하죠.

bcdedit /import c:\bcd
bcdedit /set {bootmgr} device partition=E:
bcdedit /set {memdiag} device partition=E:

여기에 더해 NTLDR 부트 매니저도 옮겨졌기 때문에 {ntldr} 항목의 Device 도 새로운 시스템 파티션에 맞춰 수정을 해줘야 합니다.

bcdedit /set {ntldr} device partition=E:

또는 예전에 잠깐 다른 글에서 언급했듯이 시스템 파티션에 위치한건 모두 boot 경로로 지정할 수 있으니

bcdedit /set {ntldr} device boot

로 지정해도 되죠. 둘 중에 취향대로 하세요. boot 로 지정해두면 다음에 다시 시스템 파티션의 위치를 바꾸더라도 {ntldr} 항목의 Device 를 수정할 필요가 없어지죠. 뭐 그런 장점이 있습니다.




정리

크게 정리할 내용은 없네요. 이전에 알아보았던 글들을 잘 짬뽕해서 추가적으로 조심해야 할 부분들만 잊지 않으시면 될 듯 합니다. 이 글은 여기까지 입니다.