''EFI 부팅 파티션 ''및``biosgrub ''파티션


21

왜 이것들이 필요합니까? 비 UEFI (마스터 부트 레코드) 아래에 Ubuntu를 설치했으며 'biosgrub'없이 Ubuntu를 설치했으며 정상적으로 작동하지만 다른 경우에는 'biosgrub'파티션을 만들어야합니다. 나는 왜 때때로 내가 필요하고 다른 사람들이 필요하지 않은지 모른다.

UEFI (GUID Partition Table)를 사용할 때도 마찬가지입니다. 유일한 차이점은 'EFI 부팅 파티션'을 만들라는 요청을 받았지만 'biosgrub'과 마찬가지로 때때로 만들도록 요청하고 때로는 요청하지 않는 경우도 있습니다.

내 현재 설치의 경우 하나를 만들라는 요청을 받았지만하지 않았으며 시스템이 정상입니다. 시스템, 동일한 하드웨어, BIOS 등에는 변화가 없습니다. 누구든지 이것에 대해 밝힐 수 있습니까?


2
부팅에서 일관성을 유지해야합니다. UEFI 부팅 모드에서만 efi 파티션이 필요하고 gpt 파티션을 사용하는 BIOS 부팅 모드에서만 bios_grub 파티션이 필요합니다. UEFI를 사용하지만 BIOS 모드에서 Boot-Repair를 부팅하고 BIOS 모드에서 grub을 설치하려고하면 bios_grub 파티션을 만들라는 메시지가 표시됩니다.
oldfred

답변:


34

네 가지 조건 (BIOS vs. EFI 및 MBR vs. GPT)이 있지만 그 중 두 가지 요구 사항은 동일합니다 (그리고 그 중 하나는 매우 드 rare니다).

  • 기존 MBR 파티션 테이블이있는 기존 BIOS 기반 컴퓨터에서 GRUB의 실행 코드는 아기가 던지는 스파게티처럼 퍼져 나갑니다. 일부는 MBR의 부트 코드 섹션에 있으며, 일부는 공식적으로 할당되지 않은 MBR 이후 섹터에 있으며, 일부는 Linux /boot파티션에 있습니다. 이것은 정말 엉망이며 개발자가 말 그대로 수십 년 동안 영리한 해킹을 만들고 거의 모든 꼬임을 해결했기 때문에 작동합니다.
  • 새로운 GPT (GUID Partition Table)가있는 기존 BIOS 기반 컴퓨터에서 GRUB 코드는 이전의 경우와 유사합니다. 그러나 MBR 바로 다음의 섹터는 할당되지 않습니다. 그것들은 GPT 자체에서 사용됩니다. GPT는 GRUB이 도용 할 유사한 장소를 제공하지 않으므로 GRUB의 개발자는 BIOS 부트 파티션 (GParted 및 플래그로 parted식별 bios_grub)을 MBR 디스크의 MBR 이후 섹터에 들어갈 코드를 보유하도록 설정했습니다. 이것은 할당되지 않은 공간을 사용하려고 시도 할 수있는 다른 프로그램으로부터 GRUB 코드를 보호하는 역할을하기 때문에 실제로 MBR 방식보다 안전하고 깨끗합니다.
  • BIOS가 아닌 EFI가 최신 인 컴퓨터에서는 부트 로더가 MBR, 공식적으로 할당되지 않은 포스트 MBR 섹터 또는 BIOS 부트 파티션에 저장되지 않습니다. 대신 부트 로더는 EFI (EFI System Partition) 라는 FAT 파티션에 일반 파일로 상주합니다 . ( 혼란스럽게도 데비안 및 우분투 설치 프로그램은 "EFI 부팅 파티션"이라는 이름으로 ESP를 참조하지만이 이름은 비표준입니다. GParted 및 partedESP에 "boot이 용어는 MBR 디스크에서 완전히 다른 의미를 갖지만 플래그 "로 설정됩니다.) ESP는 GPT 디스크 또는 MBR 디스크에 존재할 수 있지만 전자는 EFI 기반 컴퓨터에서 훨씬 일반적입니다. EFI 방식은 훨씬 안전하고 안전합니다. 원시 코드를 이상한 장소에 집어 넣지 않기 때문에 BIOS 접근 방식보다 훨씬 더 유연합니다. 부트 로더는 OS 레벨 프로그램과 같은 파일에 상주하므로 식별 및 조작이 더 쉬워집니다 (OTOH, EFI는 데이터도 저장함) NVRAM의 부트 로더에서 부팅 프로세스에서 두 번째 오류 지점을 생성합니다 .EFI의 새로운 기능은 테스트가 잘되지 않았 음을 의미하며, 이는 EFI 관련 문제를 설명합니다.)

LiveWireBT의 답변에 대한 귀하의 의견 인 GhostMotleyX 는 "설치하는 가장 좋은"방법은 BIOS / MBR이라고 답했습니다 . 물론 이것은 주관적이지만 그 평가에 동의하지 않습니다. BIOS에서 / MBR 방식은이다 적어도 안전하고 가장방금 설명한 세 가지 접근 방식의 서투른. EFI 방식은 가장 안전하고 유연한 방식입니다. GRUB / GPT 및 EFI 접근에는 별도의 파티션이 필요하다는 사실에 푹 빠져있는 것 같지만 그다지 큰 문제는 아닙니다. 시스템을 설정하거나 파티션 유지 관리를 수행 할 때를 제외하고,이 파티션은 사용자에게 거의 보이지 않으며 많은 유연성을 제공합니다. MBR과 달리 GPT는 4 개의 기본 파티션으로 제한되지 않으므로 금을 보관하는 레프 러콘 요정처럼 기본 파티션을 보관할 필요가 없습니다.


응답 한 모든 사람에게 정말 유용한 정보 덕분입니다. 특히로드 스미스.
GhostMotleyX

따라서 EFI 부팅 시스템에서 여전히 작은 파티션이 하나만 필요합니까? MBR- 부트 섹터 및 gdisk- EF02파티션의 내용 (또는 이에 상응하는 내용)을 FAT 형식의 EFI 시스템 파티션 (gdisk 유형 EF00) 으로 파일에 저장할 수 있습니까?
Peter Cordes

피터, 네, 기본적으로 맞습니다. EFI 부트 로더는 디스크 또는 파티션 부트 섹터가 아닌 ESP에 저장된 파일입니다.
Rod Smith

UEFI 부팅과 BIOS 부팅을 모두 지원하려면 어떻게합니까? 그런 다음 grub 사본을 하나, 다른 하나 EFI System PartitionBIOS boot partition?
Hello World

Hello World, 당신은 하나의 EFI 모드와 하나의 BIOS 모드 부트 로더가 필요합니다. 둘 다 GRUB 일 필요는 없습니다. 사실, 나는 그 중 하나 이상은 사용하지 않는 것이 좋습니다 . 그러나 이러한 구성은 단일 OS를 부팅하는 데 무의미합니다. 일부 이중 부팅 시나리오의 경우 필요할 수 있습니다. 하나의 OS에 EFI 모드 부트 로더가없고 다른 하나는 어떤 이유로 EFI 모드로 부팅해야하는 경우 (예를 들어, Windows이고 디스크가 2TiB를 초과하는 경우) 전체 크기를 지원하려면 GPT가 필요합니다).
Rod Smith

7

Biosgrub 파티션 을 만들어야 합니다 GPT 디스크를 파티션 레거시 부팅하거나 설정할 때 EFI 부트 파티션 UEFI 부팅을 설정할 때 (GPT 또는 MBR 모두 디스크 파티션에 대한 참조).

  • GRUB에는 BIOS 부트 파티션이 필요합니다 (2 MiB, 파일 시스템 없음, EF02 GPT 디스크에 MBR 사후 삽입 간격 부족으로 인해core.img 파일 을 임베드하기 위해 BIOS 시스템에서 2MiB gdisk의 유형 코드 또는 GNU Parted의 bios_grub 플래그)이 필요 합니다 . [...]

https://wiki.archlinux.org/index.php/GPT#Bootloader_Support


1
고마워, 나는 지금 이해한다고 생각한다; MBR 디스크에 Ubuntu non-UEFI를 설치하는 경우 biosgrub이 필요하지 않습니다. UEFI에서 GPT 디스크의 Ubuntu를 설치하면 EFI 파티션을 만들어야합니다. 그리고 내가 경험 한 불일치는 GPT 디스크에 Ubuntu 비 UEFI를 설치하고 MBR을 사용하는 UEFI를 설치할 때였습니다. 따라서 Ubuntu를 설치하는 가장 좋은 방법은 MBR 파티션 테이블을 사용하는 비 UEFI 또는 GPT 파티션 테이블을 사용하는 UEFI입니다.
GhostMotleyX

@GhostMotleyX 맞습니다.
LiveWireBT

1MiB로도 충분합니다. en.wikipedia.org/wiki/BIOS_boot_partition#Overview (방금 편집 한) 의 마지막 단락에서 설명한대로 첫 번째 "일반"1MiB 정렬 파티션 앞에 배치하고 싶습니다 . gdisk sort명령을 사용 하여 시작 섹터 순서대로 파티션의 번호를 다시 매길 것인지, 아니면 그대로 sdc4또는 w / e 로 남겨두고 싶은지를 결정하지 않았습니다 . 아마 정렬이 덜 이상하기 때문에 내 grub 파티션은 항상입니다 sdX1.
Peter Cordes

3

EFI와 BIOS 그룹을 둘 다 가질 수있는 추가 포인트 / 동기 부여를하겠습니다.

Grub2에서 Live SystemRescueCD.iso 루프를 부팅하기위한 USB 스틱.

왜? 간단한 대답 : 많은 PC에서 부팅되고 일부는 UEFI가 있고 일부는 32 비트의 BIOS 만 있습니다.

실제 복잡한 동기 : 가능하면 고급 하드웨어 (UEFI)를 사용하십시오.

실제 사용 샘플 :

  • 파티션이 4 개인 USB 스틱 (GPT 모드로 포맷)
  • USB 스틱의 나머지 크기를 가진 NTFS의 첫 번째 파티션 (Windows 7 이상에서 볼 수 있음)
  • 최소한 1GiB를 가진 Grub2 및 SystemRescueCD.iso 파일의 두 번째 파티션 (2GiB의 경우 더 낫기 때문에 이전 버전을 교체하기 전에 새 버전을 테스트하기 위해 두 버전의 SystemRescueCD.iso를 동시에 운반 할 수 있음), 일반적으로 Ext4 파일 시스템을 사용합니다 그것을 위해
  • 최소 512MiB의 Fat32로 포맷 된 EFI (Windows는 ESP라고 함)의 세 번째 파티션
  • BIOS_Grub의 네 번째 파티션 (형식은 없지만 생성시 지워짐)

한 가지 중요한 점 : 8GiB LG USB stric (하나는 내가 소유 한)을 보았습니다. 파티션이 실린더에 정렬되지 않은 경우 물리적 UEFI PC 부팅에 나열되지 않고 다른 UEFI PC 및 UEFI 부팅이있는 VirtualBOX에서도 볼 수 없습니다. 모드 활성화 ... MiB에 정렬하면 파티션을 만들 때 모든 공간을 사용하고 끝에서 1MiB의 파티션되지 않은 공간이 거의 없지만 실린더에 정렬하면 마지막 불완전한 MiB가 사용되지 않습니다 ... MiB 파티션을 염두에두고 있다면 (즉, 수동 실린더 정렬을 수행합니다) 작동하지만 여전히 실린더 정렬 상태입니다 (파티션 도구가 대신 수동으로 수행하는 것입니다).

그런 훌륭한 USB 복구 스틱을 얻는 방법 (두 가지 트릭이 있음) :

  1. 파티션을 실린더에 맞추십시오 (MiB에 맞추기 위해 더 나은 호환성)
  2. grub-install --target = i386-pc를 수행 한 다음 동일한 grub 파티션에서 다른 grub-install --target = x86_64-efi를 수행하므로 두 부트 모드 모두에 대해 하나의 grub.cfg 만 사용합니다.

부팅 방법 :

  • a) 이전 BIOS 부팅에서 MBR을로드 한 다음 grub 형식 BIOS_grub 파티션의 Stage2, Grub2 파티션에서 core.img를로드합니다.
  • b) UEFI 호환 부팅 형식으로 ESP 파티션에서 .efi 파일을로드합니다
  • grub.cfg를 읽습니다 (grub2 파티션에있는 경우).
  • 그런 다음 grub2 메뉴가 표시됩니다
  • 그런 다음 루프 SystemRescueCD.iso (dochace 매개 변수 사용)에서 부팅하도록 선택하면 grub.cfg에 두 가지 옵션을 설정했습니다. 하나는 32Bits, 하나는 64Bits입니다 (나는 두 개의 dostartx 매개 변수를 GUI에서 직접 부팅).
  • 부팅 후 USB 스틱을 꺼낼 수 있습니다 (모든 Live Linux는 docache 덕분에 램 드라이브에 있음). 명령을 입력 할 필요가 없으며 pendrive가 마운트되지 않습니다 (docache 매개 변수 덕분에).

이 스틱을 사용하면 32 비트 또는 64 비트 (확장자가 프로세서에 확장 기능이있는 경우)로 기존 PC (USB에서 부팅 할 수있는 경우)를 부팅 할 수 있지만 BIOS 모드에서 부팅 할 수 있습니다.

이 스틱을 사용하면 32 비트 및 64 비트로 새 PC (USB에서 부팅 할 수있는 경우)를 부팅 할 수 있지만 UEFI 모드 (예, UEFI 모드로 부팅 한 다음 32 비트로 Linux Live SystemRescueCD로 부팅 할 수 있음)로 부팅 할 수 있습니다 64 비트 모드뿐만 아니라 모드).

그래서 32 비트 또는 64 비트, BIOS 또는 UEFI 등에 관계없이 모든 USB 스틱 복구 부팅 미디어에 모두 현대 또는 이전 (USB 부팅 지원 만 필요) 근처에서 부팅 할 수 있습니다. 32 비트 또는 64 비트를 실행할 것을 선택하십시오.

또한 Windows 64 비트 (이전 32 비트 프로세서) 설치를 거부하지만 64 비트 Linux Live (PAE 기능이 해당 프로세서에 있기 때문에)를 실행할 수있는 PC에서 테스트했습니다.

참고 : NTFS와 같은 첫 번째 파티션은 Windows 7 이상과 공유 할 수있는 데이터를 저장하기위한 것입니다 (XP는 GPT 파티션을 지원하지 않기 때문에 XP에서 볼 수 없습니다) ... 첫 번째 파티션이어야하며 처음에는 필요하지 않습니다. 디스크의 일부는 원하는 위치에있을 수 있지만 mush는 파티션 테이블의 첫 번째 항목으로 상주합니다.이 파티션은 이동식 파티션에 파티션을 마운트하는 증오가 가능한 Windows 모드로 인해 발생합니다. 다른 사람을 동시에 장착 할 수 없습니다.

Windows 및 USB 파티션에 대한 추가 사항 : partitiong 테이블에서 파티션 항목을 바꾸는 경우, 즉 액세스하려는 파티션을 테이블의 첫 번째 파티션으로두면 Windows에서 해당 파티션에 액세스 할 수 있습니다 (포맷이 이해되면 fat32). NTFS, 직접 ext2 (특수 드라이버 포함) 등이 있지만 파티션 테이블의 첫 번째 항목에있는 항목에만 액세스 할 수 있습니다. Windows에서 이러한 작업을 수행 할 수있는 도구 (BootICEx86.exe)가 있습니다. USB 스틱을 뽑지 않아도됩니다.

슈퍼 엑스트라 : 특수 도구 (렉사 도구로 광산)로 비트 변경 할 수있는 것보다 펜 드라이브 (소니 16GiB를 소유하는 것이 매우 운이 좋음)도 있으므로 USB 스틱 대신 USB HDD로 Windows에 표시됩니다 변경 후 모든 창에서 파티션을 삭제, 생성 및 관리 할 수 ​​있으며 동시에 자체 문자로 하나 이상을 마운트 할 수 있습니다.

Linux 사용자는 Linux를 파티션 가능한 블록 장치로 인식하고 창과 같이 파티션 마운트 등을 차단하는 특수 코드를 구현하지 않으므로 걱정하지 마십시오.

오, 그렇습니다.이 마지막 단락은 M $의 일부가 읽을 때를 대비하여 작성되었으므로 그들의 얼굴이 바닥으로 떨어졌습니다. 나는 그것을 제거하기 위해 노력하고 있습니다 (절대로 얻지 못할 것입니다. Windows의 추악한 코드와 사용자가 기본 방식으로 USB 스틱의 파티션을 가질 수 있습니다.

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