부팅 섹터와 여러 드라이브는 어떻게 작동합니까?


17

나는 부트 섹터의 개념을 완전히 이해하지 못하고 누군가 누군가 나를 위해 이것을 정리할 수 있기를 바랐다.

각각에 OS가 설치된 두 개의 하드 드라이브가있는 경우 각 드라이브에 자체 부트 섹터가 있습니까? 각 드라이브에 MBR 파티션이 필요합니까?

두 개의 별도 드라이브에 Linux와 Windows가 있습니다. Linux 및 grub을 설치할 때 문제가 발생하여 마침내 Windows 부트 로더를 사용하여 시작하기로 결정했습니다. / fixmbr을 사용할 때 Windows가 grub을 제거 했습니까? 아니면 다른 드라이브의 부팅 섹터에 남아 있습니까?

답변:


17

Wil의 대답은 모호하지만 정확하지만 기술적으로 정확하지 않습니다. 예, 드라이브에는 MBR이 필요하지 않습니다. 하나가 없으면 해당 드라이브에서 부팅 할 수 없으며 해당 드라이브에서 파티션 을 만들 수 없습니다 . 그러나...

마스터 부트 레코드 (Master Boot Record ) 라는 용어 는 종종 두 가지를 가리키는 데 사용됩니다. 첫 번째 만 올 바르고 두 번째로 잘못 적용됩니다.

  1. 된 장소, 구체적으로는, 분할 된 데이터 저장 장치의 512 바이트의 섹터 ( "LBA 섹터 0"). 이 위치에는 처음 440 바이트의 부트 로더 코드 (1 단계 부트 로더)와 1 차 파티션 테이블이 있습니다. 일반적인 MBR의 구조에 대한 자세한 내용 은 Wikipedia의 MBR 기사 를 참조하십시오.

  2. 해당 위치에 저장된 부트 로더 코드. BIOS 시스템에서 이것은 BIOS가 드라이브에서 부팅 될 때 실행되는 첫 번째 코드입니다. 참조 MBR에 시스템 부트 스트랩첫 번째 단계 부트 로더 I386 시스템에서,이 코드는 chainloads : 2 단계 부트 로더 온 저장, 볼륨 부트 레코드 는 운영 체제의 실제 부팅을 수행하는 활성 파티션의합니다.

볼륨 부트 레코드 또는 파티션 부트 섹터는 파티션의 첫 번째 섹터이며, 해당 파티션에 설치된 운영 체제의 주요 부트 스트랩 코드를 저장하는 곳입니다. VBR은 파티션되지 않은 데이터 저장 장치 (플로피 디스크, USB 플래시 드라이브 또는 파티션되지 않은 역할에 사용되는 하드 드라이브)에도 사용됩니다.

다중 부팅 시스템은 부팅 관리자 (예 : Grub)를 사용합니다. 부팅 관리자는 자체 부트 로더 코드를 MBR에 넣고 사용자가 부팅 할 OS를 선택할 수있는 메뉴를 제공합니다. 기술적 인 측면에서 사용자는 사용할 2 단계 부트 로더를 선택합니다.


따라서 질문에 직접 대답하려면 다음을 수행하십시오.

  • 각각 OS가 설치된 두 개의 하드 드라이브에는 각각 고유 한 MBR이 있습니다.

    • 두 MBR 모두 하나 이상의 파티션을 포함합니다.
    • 해당 하드 드라이브의 각 파티션에는 자체 VBR이 있습니다. 운영 체제 설치가 포함 된 파티션은 2 단계 부트 로더를 해당 VBR에 저장합니다. 데이터 전용 파티션은 VBR에 유효한 부팅 코드가 없을 것입니다.
    • 이 시스템이 부팅되면 해당 MBR 중 하나 이상 에 유효한 1 단계 부트 로더가 포함되지만 BIOS가 부팅을 시도하는 드라이브에만 필요합니다.

  • 두 번째 드라이브에 Linux를 설치했을 때 아마도 Grub의 첫 번째 단계 부트 로더를 Windows 드라이브의 MBR에 썼을 것입니다 . 그것은 있습니다 또한 자신의 드라이브의 MBR에 대한 첫 번째 단계의 부트 로더를 작성하지만, 리눅스 드라이브로 부팅 BIOS가 결코 시도하면, 당신은 예고 않을 것이다. 마찬가지로 / fixmbr을 사용하면 Windows는 시스템 드라이브의 MBR에서 1 단계 부트 로더를 다시 씁니다.

    • Win-7의 Bootrec.exe 유틸리티가 다른 드라이브의 MBR에 쓸 것인지는 솔직히 모르겠습니다. 아마도 그렇게 할 수는 있지만 아마도 기본 동작이 아닐 수도 있습니다.
    • 또한 Ubuntu 9.04 설치 프로그램이 기본적으로 두 드라이브의 MBR에 Grub을 설치할지 여부를 모릅니다. 원하는 경우 직접 손으로 할 수 있습니다. Windows 드라이브 연결을 끊고 Linux 드라이브에서 부팅을 시도하는 경우 Grub의 첫 번째 단계 부팅 코드가 없으면 부팅되지 않는 경우도 있습니다.

매우 자세한 답변 주셔서 감사합니다
:-)

1
@GiH 천만에요. 이 질문을 해주셔서 감사합니다. 향후 독자를위한 MBR 및 부트 로더에 대한 기본 소개 역할을 할 수 있습니다.
quack quixote

"마스터 부트 레코드"라는 용어는 종종 두 가지를 가리키는 데 사용됩니다. 첫 번째 만 올 바르고 두 번째에는 잘못 적용됩니다. " 어딘가 ..하지만 당신이 그 소스를 가지고 있다면 흥미 롭습니다. 또한 여기에 부트 로더에 대한 용어가 있으므로 MBR의 비 부트 로더 부분에 대한 용어가 있습니까? GPT와 관련하여 GPT에 부트 로더와 파티션 테이블이 포함되어 있으며 GPT와 파티션 테이블을 구별하는 용어는 무엇입니까?
barlop

3

드라이브에는 MBR이 필요하지 않지만 MBR이 없으면 해당 드라이브에서 부팅 할 수 없습니다.

우선, 컴퓨터는 BIOS가 알려주는 모든 디스크로 부팅됩니다. 즉, MBR이 필요한 유일한 디스크입니다 (이는 EFI가 아닌 대부분의 시장 기반 BIOS 기반 머신에 있습니다).

MBR이 있으면 기본적으로 시스템에 드라이브가 부팅 가능함을 알리고 ( "무서운 디스크 또는 디스크 오류 없음"또는 이와 유사한 메시지를 반환하지 않음) 부트 로더가로드됩니다.

부트 로더가로드되면 기본적으로 지시 된대로 수행됩니다. 다른 부트 로더 (예 : Grub loading Windows boot loader) 또는 운영 체제를로드 할 수 있습니다. 예를 들어 드라이브 / 파티션을 선택할 수 있습니다.

따라서 실제 부팅 드라이브에는 MBR (및 부트 로더) 만 있으면됩니다.


좋아, 그러나 이전에 grub 작업을 한 이후 두 드라이브 모두에 ​​MBR이있을 수 있습니까? 기본적으로 알아 내려고하는 것은 grub을 사용하지 않아서 Linux 드라이브가 MBR에서 공간을 낭비하고 있는지 또는 Windows 부트 로더를 설치할 때 grub과 MBR을 제거 했습니까? 내 질문이 혼란
스럽다면

1
MBR은 파일이 아니기 때문에 하나의 MBR 만 가질 수 있습니다. 위치-다른 드라이브에 다른 OS를 설치 한 경우 여전히 다른 드라이브에있을 수 있지만 그 크기는 매우 작습니다. 나는 정말로 걱정하지 않을 것입니다 (우리는 수백 바이트에 이르는 드라이브에서 수백 바이트에 대해 이야기하고 있습니다 (최대 값은 ~ 500이라고 생각합니다!)). 그러나 여전히 grub 파일이있을 수 있지만 다시 한 번 매우 작습니다.
William Hilsum 2019

3
@GiH, re : 낭비되는 공간-아니요, MBR 은 드라이브 의 파티션 테이블 도 제공 하므로 유효한 부팅 레코드가 있는지 여부에 관계없이 공간이 예약되어 있습니다 (OS에서 사용하지 않음). 파일 시스템에 대한 약간의 오버 헤드로 생각할 수 있습니다. 최신 하드 드라이브 용량과 비교할 때 "낭비되는"공간의 양이 너무 작아 걱정할 수 없습니다.
quack quixote

1

MBR (Master Boot Record)은 쓰기가 가능한 첫 번째 섹터입니다. 위치와 크기가 매우 작기 때문에 (매우 작음) 디스크별로 하나의 MBR 만 가질 수 있습니다.

MBR은 BIOS가로드 된 후 부팅 순서에서 처음 읽은 섹터입니다. 로드 할 시스템을 선택하기 위해 하나의 운영 체제를 부팅하거나 grub 또는 lilo와 같은 부팅 로더를로드하는 데 사용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.