
내 GPT/EFI 기반 새 Windows 7 PC에서 기존 PC의 MBR 기반 드라이브를 보조 SATA1 디스크로 설치하려고 했습니다. 새 SATA0에서 Windows 7 및 Linux Mint 이중 부팅이 가능하지만 여전히 이전 디스크를 보조 백업 드라이브로 사용하고 싶고 이전 MBR 드라이브가 SATA1에 연결되어 있으면 Windows 7에서 부팅을 계속 시도합니다. 그것에서. 아마도 드라이브를 지우고 GPT 파티션 구성표로 전환했다면 괜찮을 것입니다. 하지만 아직 거기에 있는 파티션(및 데이터)을 완전히 날려버릴 준비가 되지 않았습니다.
그래서 dd를 사용하여 446바이트의 0을 드라이브 시작 부분에 복사하여 MBR의 부트로더 부분을 제로화해 보았습니다. 그리고 그것은 효과가 있었습니다. 부트로더를 새로 초기화하면 Windows를 부팅할 수 있습니다.정확히 한 번두 번째 디스크는 SATA1에 연결되어 있습니다. 그 후, Windows 7은 다시 두 번째 디스크에서 부팅을 시도합니다. 단, 이제 거기에 있던 grub 로더를 로드하는 대신 'OS를 찾을 수 없음' 오류가 표시됩니다. 그리고 재미있는 점은 창을 부팅하기 전의 0이 된 MBR과 창을 부팅한 후의 MBR을 비교해 보면 다음과 같이 변경되었다는 것입니다.
cmp -l mbr.beforewindows mbr.afterwindows
441 0 161
442 0 342
443 0 312
444 0 50
분명히 Windows는 무한한 지혜로 빈 MBR을 수정했습니다. Wikipedia에 따르면 MBR 위치 440-443은 '32비트 디스크 서명(선택 사항, UEFI, Windows NT/2000/Vista/7 및 기타 OS)'이며 위치 444는 0으로 가정됩니다. 따라서 Windows 7은 드라이브를 확인하고 부팅 가능하게 만들기로 결정하면 드라이브가 있는 자체 부팅 기능이 엉망이 됩니다. 브라보, 마이크로소프트!
아마도 Windows가 처음 부팅될 때일 것입니다.하다그러면 장치 관리자에서 드라이브를 볼 수 있고 Windows에 이 드라이브에서 부팅을 시도하지 말라고 지시할 수 있습니다.
Windows가 보조 드라이브의 부트로더를 '수정'하려는 시도를 중지하는 방법에 대한 조언이 포함된 유사한 게시물을 어디선가 본 기억이 있는 것 같습니다. 이것에 대해 아는 사람 있나요?