Linux에서 GRUB과 MBR의 차이점은 무엇입니까?


대답 1:

아래 이미지는 운영 체제의 부팅 프로세스에 대한 좋은 아이디어를 제공합니다.

MBR (Master Boot Record)은 하드 디스크 또는 디스켓의 첫 번째 섹터에있는 정보로서 운영 체제가 컴퓨터의 주 저장 장치 또는 랜덤 액세스 메모리로 부팅 (로드) 될 수 있도록 위치 및 위치를 식별합니다. 마스터 부트 레코드는 하드 디스크가 포맷 된 각 파티션을 찾는 테이블을 포함하기 때문에 "파티션 섹터"또는 "마스터 파티션 테이블"이라고도합니다.

MBR은 부트 로더, 파티션 테이블 및 매직 번호의 세 부분으로 구성됩니다. 부트 로더는 컴퓨터를 켤 때 운영 체제를로드하는 프로그램입니다. 파티션 테이블은 로컬 디스크의 파티션 정보를 기록합니다. 매직 번호 (0xAA55 / 0x55AA)는 장치를 유효한 부팅 가능한 미디어로 표시합니다. 유효하지 않은 매직 번호는 MBR이 손상되었거나 누락되었음을 나타냅니다.

마스터 부팅 레코드가 손상된 경우 컴퓨터가 부팅되지 않고 다음 오류 중 일부가 표시됩니다.

1. "운영 체제 _"2. "운영 체제를 찾을 수 없음 _"또는 "운영 체제가 누락되었습니다"_ "3."잘못된 파티션 테이블 _ "4."부팅 장치를 선택하고 선택한 부팅 장치에 부팅 매체를 삽입하고 열쇠 _ "

지금,

GRUB (Grand Unified Bootloader)는 MBR에 자주 설치되는 부트 로더입니다.

대부분의 경우 운영 체제 커널 이미지는 적절한 파일 시스템에 상주하지만 파일 시스템의 개념은 BIOS에 알려져 있지 않습니다. 따라서 BIOS 기반 시스템에서 부트 로더의 의무는 해당 파일의 내용에 액세스하는 것이므로 RAM에로드하여 실행할 수 있습니다.

참조 링크 :

  1. 운영 체제가 BootMaster 부팅 레코드를 부팅 할 수없는 경우 Windows 8 용 MBR을 수정하는 방법-WikipediaGNU GRUB-WikipediaLinux 부팅 프로세스. 리눅스 커널은 언제 물리적 메모리에로드됩니까? 리눅스 커널은 어떻게로드됩니까?

대답 2:

이것은 매우 흥미로운 답변이있는 매우 흥미로운 질문입니다. 내 자신의 일을하고 싶어서 다른 답변을 읽지 않았습니다.

부팅은 컴퓨터가 존재한다는 사실에 놀라게 만드는 것들 중 하나입니다. 디스크 드라이브는 파일의 무작위 혼란입니다. 파일을 물리적 플래터 전체에 걸쳐 작은 조각으로 나눌 수 있습니다. 운영 체제 (OS)는 각 부분을 찾아서 필요할 때 액세스 할 수있는 위치를 알기에 영리합니다. 그러나 부팅은 OS가로드되기 전에 발생합니다. 부팅은 기본적으로 OS를로드하는 프로세스입니다.

따라서… OS를로드하는 데 도움이되는 OS가 필요합니다. 그리고 그것은 GRUB과 비슷합니다.

그러나 GRUB은 어떻게로드됩니까? 그것이 마법이있는 곳입니다. 모든 디스크에는 디스크의 기본 첫 부분 인 마스터 부트 레코드라고하는 특별한 장소가 있습니다. 디스크를 시작할 때 물리적으로있을 필요는 없지만 디스크를 처음 시작할 때 항상 디스크가있는 곳입니다. 작은 파일 (절대 분할되지 않음)이 메모리에로드되어 실행됩니다.

이 파일은 크기가 작고 항상 같은 위치에 있기 때문에 OS를 가리킬 필요가 없습니다. 그러나 크기가 작기 때문에 GRUB에 필요한 모든 훌륭한 기능을로드 할 공간이 충분하지 않지만 (그래픽 및 비디오 드라이버는 물론) GRUB의 나머지 부분을 찾아서로드 할 수있는 충분한 두뇌가 있습니다. 드라이브가 분리되어 있어도 드라이브에 있어야합니다. GRUB은 필요에 따라 점점 더 많은 "물건"을로드하여이를 수행합니다. 부팅 할 OS를 선택하면 해당 OS가 먼저로드되고 GRUB이로드되지 않은 것처럼 GRUB에로드됩니다.

실제 질문에 대답하기 위해 – MBR은 디스크에서 기본적으로 가장 먼저로드되는 영역이며,이를 찾는 데 도움이되는 OS가 없기 때문에 알아야합니다. 모든 것을 시작하는 GRUB의 첫 번째 작은 부분은이 영역에 있으며 분할되지 않습니다. GRUB의 첫 번째 비트가이를 찾을 수 있기 때문에 나머지 GRUB은 디스크의 다른 곳에있을 수 있습니다.

GRUB이이 마술을 할 수 있다면 OS가 그 일을하지 못하게하는 이유는 무엇입니까? 그리고 답은 아무것도 아닙니다. OS가 하나 인 경우 MBR에 작은 코드를 넣고 시스템을 처음 켤 때로드됩니다. GRUB은 운영 체제가 두 개인 시스템에 유용합니다. 그들 각각은 MBR에서 시작 코드를 원하고 GRUB은 그들이 좋은 플레이를하도록 도와줍니다.

-참고 – 위의 거의 모든 것이 크게 단순화되었습니다. 대부분 정확하지만 모든 문장은 이에 대해 경고 할 수 있습니다. 당신이 기술을 주장하고 싶다면 이것은 당신을위한 게시물이 아닙니다.