디스크 또는 파티션이 BIOS 부팅 가능인지 UEFI 부팅 가능인지 표시합니다.

디스크 또는 파티션이 BIOS 부팅 가능인지 UEFI 부팅 가능인지 표시합니다.

액세스할 수 있는 펜 드라이브나 디스크가 있습니다.

/dev/sda

파티션의 위치는 다음과 같습니다.

/dev/sda1
/dev/sda2
/dev/sda...

디스크 자체와 각 파티션에 대해 알고 싶습니다.

  • 클래식 부팅 가능(BIOS 부팅 모드/pre-UEFI)(MBR을 사용하는 것 같습니다)
  • UEFI 부팅이 가능한가요?(당시에는 MBR을 사용하지 않았나봐요)
  • 위에 해당사항 없음
  • 위의 두 가지 모두

fdisk가 있는 것으로 알고 있는데 GPT를 지원하지 않아서 GPT 디스크와 함께 사용할 수 없습니다. 그리고 parted는 "부팅" 플래그만 표시할 뿐 BIOS 부팅 가능인지 UEFI 부팅 가능인지는 알려주지 않습니다.

모든 최신 BIOS는 부팅 가능한 장치를 나열하고 UEFI인지 여부도 표시할 수 있으므로 이 작업이 그리 어렵지 않을 것이라는 것을 알고 있습니다.

답변1

첫 번째 512바이트 블록(블록 #0)의 마지막 2바이트가 0x55 및 0xaa인 경우 디스크는 부팅 가능한 BIOS 스타일입니다. 이것이 사실이라면 BIOS 펌웨어는 블록에 유효한 MBR(마스터 부트 레코드)이 포함되어 있다고 가정하고 이를 실행하려고 시도합니다. 처음 446바이트 정도에는 16비트 8086 호환 모드의 x86 프로세서에 대한 실행 코드가 포함되어야 합니다.

# dd if=/dev/sda bs=512 count=1 2>/dev/null | od -t x1z -A x | tail -2
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa  >..............U.<
000200              

그 이상의 것은 MBR 코드의 기능에 따라 달라집니다. 대부분의 표준 Microsoft MBR은 활성으로 표시된 기본 파티션을 찾고 해당 파티션의 첫 번째 블록을 로드하고 실행합니다. 그러나 GRUB와 같은 다른 부트 로더는 파티션 플래그를 완전히 무시하고 필요한 경우 완전히 다른 작업을 수행할 수 있습니다.


UEFI 펌웨어에서 인식되는 파일 시스템이 포함된 경우 이동식 미디어는 부팅 가능한 UEFI 스타일입니다(사양은 원래 FAT32의 특정 버전을 지정했지만 FAT12 및 FAT16을 포함하도록 확장되었습니다. 추가적으로 펌웨어 구현도 자유롭게 추가할 수 있습니다). 다른 파일 시스템 유형이 지원됨), 파일 시스템에 EFI이름이 지정된 디렉터리(대소문자 구분 안 함)가 있고, 해당 디렉터리에 이름이 지정된 하위 디렉터리가 있으며 boot, 해당 하위 디렉터리에 시스템별 이름이 Architecture인 부트로더 파일( *.efi)이 있습니다. 즉, Windows 스타일 절대 경로에서 알 수 있듯이 특정 파일 시스템의 루트에서 시작합니다.

  • \EFI\boot\bootx64.efi64비트 x86 시스템의 경우
  • \EFI\boot\bootia32.efi32비트 x86 시스템(일부 미니 노트북 및 구형 x86 Mac)에서 작동합니다.
  • \EFI\boot\bootia64.efiIntel Itanium 시스템(주로 Windows, HP-UX 또는 OpenVMS의 일부 버전을 실행하는 서버)의 경우
  • \EFI\boot\bootarm.efiUEFI 펌웨어가 포함된 32비트 ARM 프로세서용
  • \EFI\boot\bootaa64.efiUEFI 펌웨어가 포함된 64비트 ARM 프로세서용
  • \EFI\boot\bootriscvNN.efiUEFI 펌웨어가 포함된 32비트, 64비트 및 128비트 RISC-V 프로세서에 사용 가능( NN각각 32, 64 또는 128일 수 있음)
  • ...새로운 프로세서 아키텍처에 대해 UEFI 펌웨어가 구현되면 이 목록이 확장될 수 있습니다.

C12A7328-F81F-11D2-BA4B-00A0C93EC93B디스크에 GPT 파티션 테이블이 있는 경우 UEFI 부트 로더가 포함된 파티션에는 이를 식별하는 파티션 유형 GUID가 있어야 합니다 .EFI 시스템 파티션, 줄여서 ESP입니다. UEFI 펌웨어가 있는 모든 시스템은 GPT 파티션을 지원해야 합니다.

디스크에 MBR 파티션 테이블이 있는 경우 UEFI 부트 로더가 포함된 파티션의 0xefMBR 파티션 유형 코드는...이지만 이는 엄격한 요구 사항은 아닙니다.

설치된 운영 체제의 부트 로더 경로 이름은 다른 UEFI 펌웨어 설정을 저장하는 데 사용되는 것과 동일한 비휘발성 메모리에 저장되기 때문에 이동식 디스크에는 다른 경로에 추가 UEFI 부트 로더가 포함될 수 있습니다. 이는 ESP 파티션에 있는 디렉토리의 공급업체별 하위 디렉토리에 배치되어야 합니다 \EFI. efibootmgr -vUEFI 부트 로더 경로 이름 및 관련 부팅 설정을 보려면 Linux에서 루트로 사용하십시오 .

비이동식 디스크는 위에 이동식 미디어에 대해 지정된 고정 경로 중 하나에 UEFI 부트로더 파일을 포함할 수도 있습니다. 이를 호출합니다.대체 부트로더 경로비휘발성 메모리 설정은 손실된 경우 사용할 수 있습니다. Windows는 기본적으로 이와 같은 복사본을 저장합니다 bootmgfw.efi. Linux 배포판의 설치 프로그램은 일반적으로 특별히 요청하지 않는 한 이 작업을 수행하지 않습니다.

ESP는 일반적으로(항상 그런 것은 아님) /boot/efi/Linux에 설치되므로 RHEL의 Secure Boot shim 부트로더는 에서 찾을 수 있고 /boot/efi/EFI/redhat/shimx64.efi실제 GRUB는 에서 찾을 수 있습니다 /boot/efi/EFI/redhat/grubx64.efi. 첫 번째 efi는 마운트 지점 디렉터리의 이름이고, 두 번째는 EFIUEFI 사양에 필요한 하위 디렉터리의 이름입니다.


GPT 사양에 따르면 GPT 파티션 테이블은 디스크 블록 #1부터 시작하고 블록 #0은 ​​예약되어 있습니다.보호 MBR: 파티션 유형이 로 설정된 전체 디스크(또는 약 2TiB의 절대 최대 MBR 크기 중 더 작은 크기)를 차지하는 파티션을 설명하는 파티션 항목이 하나만 있어야 하는 가상 MBR 파티션 테이블입니다 0xee.

이는 GPT를 지원하지 않는 시스템에 "예, 이 디스크는 포맷 및 파티셔닝되어 사용 중입니다. 아니요. 사용자가 알고 있는 파티션 유형이 아닙니다."라고 알려줍니다.이러지마 제발사용자에게 한 번의 클릭으로 쉽게 형식을 지정할 수 있는 방법을 제공합니다. "

물론 이를 통해 디스크 구축이 가능해집니다.하이브리드 GPT/MBR 파티션: GPT를 지원하지 않는 시스템의 경우 유효한 MBR(부팅 코드를 포함할 수 있음)을 제공하고, GPT를 지원하는 시스템의 경우 유효한 GPT 파티션 테이블을 제공합니다. 여기서 ESP 파티션에는 다양한 시스템 아키텍처에 대한 UEFI 부트 로더가 포함되어 있습니다.

답변2

~에서시동 수리, 달려갔다정보 스크립트 시작자동 복구가 수행되지 않습니다., 드라이브(및 기타 드라이브)의 부팅 구조에 대한 정보를 얻어야 합니다.

부팅 구조가 Ubuntu의 부팅 구조와 너무 많이 다르면 부팅 정보 스크립트가 실패할 수 있습니다. 그런 다음 FAT 파일 시스템에 ESP(EFI 시스템 파티션)가 있는지, 그리고 "bios_grub" 플래그가 있는 매우 작은 파티션이 있는지 확인해야 합니다. 바라보다이 링크자세한 내용은. 상황은 부팅 가능한 드라이브와 운영 체제에 따라 복제된 하이브리드 iso 파일 간에 크게 다를 수 있습니다.

따라서 UEFI 모드와 BIOS 모드(별칭 CSM 레거시 부팅)에서 모두 부팅할 수 있는 컴퓨터에서 테스트하는 것이 가장 좋습니다.

관련 정보