MBR의 부팅 코드를 어떻게 초기화할 수 있나요?

MBR의 부팅 코드를 어떻게 초기화할 수 있나요?

내 Windows 시스템에는 두 개의 드라이브가 있습니다.

  • 드라이브 1, 시스템 및 부팅.
  • 드라이브 2, 데이터 저장 장치.

얼마 전에는 두 번째 드라이브에 Windows를 설치했습니다. 이제 현재 설정이 완료되었으므로 드라이브 2의 부팅 섹터에서 Windows의 부팅 코드를 제거하고 싶습니다. 구체적으로 말하자면, 파티션 테이블이나 기타 항목을 지우고 싶지는 않습니다. NTLDR을 찾는 약간의 코드입니다.

이를 수행하는 소프트웨어나 명령이 있습니까?

답변1

DOS 스타일 파티션 테이블의 경우 MBR은 항상 드라이브 시작 부분에 아주 작은 섹터 모음으로 드라이브에 존재합니다.

여기에는 부팅 코드 외에 드라이브의 파티션 테이블도 포함되어 있으므로 제거할 필요가 없습니다. 손실은 디스크에 있는 데이터가 손상되지 않은 상태에서 갑자기 접근하기가 훨씬 더 어려워진다는 것을 의미합니다. (내가 본 대부분의 OS는 잘못된 형식을 보고하고 그렇지 않은 경우 Windows에서 드라이브를 포맷할 것인지 묻습니다. 파티션 테이블을 이해하세요).

더 많은 정보:http://technet.microsoft.com/en-us/library/cc976786.aspx

편집: 질문을 편집했으므로 답변을 업데이트하겠습니다. dd로 지울 수 있어요. Linux livecd로 부팅하고 마운트 해제된 데이터 드라이브를 실행합니다.

dd if=/dev/<path to data drive> of=/dev/<somewhere safe on windows drive>/mbr.img bs=512 count=1

이렇게 하면 문제가 발생할 경우를 대비해 파티션 테이블을 포함하여 MBR의 512바이트 백업이 제공됩니다.

446바이트 부트스트랩을 지우려면:

dd if=/dev/zero of=/dev/<path of data drive> bs=446 count=1 seek=0

달성하려는 목표에 따라 MBR의 처음 440바이트만 지우고 싶을 수도 있습니다. 처음 440바이트 뒤의 4바이트에는 유지하려는 Windows 고유 디스크 서명이 포함되어 있습니다. 처음 440바이트만 지우려면 다음 명령을 사용하십시오.

dd if=/dev/zero of=/dev/<path of data drive> bs=440 count=1 seek=0

답변2

디스크 관리에서 비활성으로 표시하면 상황에 충분합니다.

답변3

복잡한 답변에 대해 미리 양해를 구합니다만, 귀하가 원하는 것이 무엇인지 잘 모르겠습니다(또는 더 나은 방법: ).

나는 당신이 명령을 찾고 있다고 생각합니다 FDISK /CMBR. Paragon Partition Magic 또는 Boot/Partition Editor와 같이 동일한 작업을 수행하는 유틸리티도 있습니다.

당신이하고 싶은 것은 MBR을 다시 작성하는 것입니다그리고D: 파티션을 다음으로 설정합니다.비시스템(활성화되지 않음, 부팅 불가능, B 플래그 없음 등).

FDISK /CMBR은 시스템 디스크가 아닌 디스크에서만 작동해야 합니다. 많은 부트로더는 다음과 같은 코드를 설치합니다.필요한나중에 올바른 형식이나 구조를 가진 디스크를 "확인"합니다. 이를 스톡 로더(/CMBR이 수행하는 작업)로 교체하면 이전 코드가 복원될 때까지 디스크에 액세스할 수 없게 될 수 있습니다.

부팅 순서 등을 방해하기 때문에 디스크를 부팅 불가능하게 만들어야 하는 경우(예를 들어 부팅 대신 "NTLDR 찾을 수 없음" 오류 표시) 부팅 장치 순서에 대한 BIOS 매개변수를 수정하는 것이 더 좋습니다. 또는 FDISK와 유사한 유틸리티를 사용하여 해당 드라이브의 모든 파티션을 비시스템으로 표시합니다. 긴급하게 두 개의 하드 디스크를 교체하면 동일한 결과를 얻을 수 있습니다.

그렇지 않으면 유연한 부팅 옵션(예: 시작 메뉴 화면에서 Linux, Windows 또는 다른 Windows 부팅)을 구현하는 데 도움이 될 수 있는 "선택적 부트 로더"(예: GRUB)가 있습니다.

관련 정보