USB 장치에 부팅 섹터가 없습니다.

USB 장치에 부팅 섹터가 없습니다.

여기에서 최소 CentOS 32비트 ISO 이미지를 다운로드했습니다.

http://mirror1.hs-esslingen.de/pub/Mirrors/centos-altarch/7.9.2009/isos/i386/

$ curl -O http://mirror1.hs-esslingen.de/pub/Mirrors/centos-altarch/7.9.2009/isos/i386/CentOS-7-i386-Minimal-2009.iso -C -

ISO 이미지를 USB 드라이브에 쓰려면:

  • ddLinux에서 명령을 시도했습니다.
  • Windows에서 FedoraMediaWriter를 사용해 보는 것이 좋습니다.여기
  • 8GB USB 드라이브를 사용해 보았습니다.
  • 다른 2GB USB 드라이브를 사용해 보았습니다.

모든 경우에 USB로 부팅할 때 다음 오류가 발생합니다.

USB 장치에 부팅 섹터가 없습니다.

ISO 이미지에는 다음이 포함됩니다.

ISO 이미지 콘텐츠

ISO 이미지를 사용하는 이유아니요시작할 수 있나요? 내가 뭐 놓친 거 없니?

답변1

이 ISO 이미지는 (실제 또는 가상) CD-ROM으로만 부팅할 수 있으며 유효한 부팅 가능한 하드 디스크 이미지로 표시되는 추가 구조는 없습니다.

BIOS가 있는 시스템의 USB 드라이브에서 부팅하는 것은 일반적으로 USB 드라이브를 하드 디스크로 표시하여 처리됩니다. 첫 번째 블록에 유효한 마스터 부트 레코드(MBR)가 있는 경우 하드 드라이브는 BIOS를 통해 부팅 가능합니다.

반면, ISO 9660 파일 시스템 확장자에 Eltorito 부팅 헤더가 포함되어 있으면 CD-ROM을 부팅할 수 있습니다. 이러한 확장자는 일반적으로 디스크의 맨 처음 부분이 아니라 위치 결정 9660 파일 시스템 구조의

.ISO 이미지 파일을 생성할 수 있습니다.반품디스크 맨 처음에 MBR을 추가하고 ISO9660 파일 시스템의 내용을 호환 가능한 방식으로 정렬하면 유효한 하드 디스크 이미지로 구문 분석할 수 있습니다.그러나 이는 기본 설정이 아닙니다.대부분의 최신 Linux ISO 설치 이미지는 이런 방식으로 준비되지만 전부는 아닙니다.

ISO 이미지의 처음 512바이트를 덤프하고 0만 포함되어 있음을 확인할 수 있으므로 이 특정 ISO는 확실히 그렇지 않습니다.

$ dd if=CentOS-7-i386-Minimal-2009.iso bs=512 count=1 | od -t x1z -A x
1+0 records in
1+0 records out
512 bytes copied, 7.6959e-05 s, 6.7 MB/s
000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
*
000200

ISO 이미지의 처음 512바이트가지다BIOS 부팅 가능 하드 드라이브 이미지가 더 복잡해 보일 수 있으므로 준비하고 사용할 준비를 하십시오. 예:

$ dd if=/usr/lib/ipxe/ipxe.iso bs=512 count=1 | od -t x1z -A x
1+0 records in
1+0 records out
512 bytes copied, 0.00298604 s, 171 kB/s
000000 33 ed 90 90 90 90 90 90 90 90 90 90 90 90 90 90  >3...............<
000010 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90  >................<
000020 33 ed fa 8e d5 bc 00 7c fb fc 66 31 db 66 31 c9  >3......|..f1.f1.<
000030 66 53 66 51 06 57 8e dd 8e c5 52 be 00 7c bf 00  >fSfQ.W....R..|..<
000040 06 b9 00 01 f3 a5 ea 4b 06 00 00 52 b4 41 bb aa  >.......K...R.A..<
000050 55 31 c9 30 f6 f9 cd 13 72 16 81 fb 55 aa 75 10  >U1.0....r...U.u.<
000060 83 e1 01 74 0b 66 c7 06 f3 06 b4 42 eb 15 eb 02  >...t.f.....B....<
000070 31 c9 5a 51 b4 08 cd 13 5b 0f b6 c6 40 50 83 e1  >1.ZQ....[...@P..<
000080 3f 51 f7 e1 53 52 50 bb 00 7c b9 04 00 66 a1 b0  >?Q..SRP..|...f..<
000090 07 e8 44 00 0f 82 80 00 66 40 80 c7 02 e2 f2 66  >[email protected]<
0000a0 81 3e 40 7c fb c0 78 70 75 09 fa bc ec 7b ea 44  >.>@|..xpu....{.D<
0000b0 7c 00 00 e8 83 00 69 73 6f 6c 69 6e 75 78 2e 62  >|.....isolinux.b<
0000c0 69 6e 20 6d 69 73 73 69 6e 67 20 6f 72 20 63 6f  >in missing or co<
0000d0 72 72 75 70 74 2e 0d 0a 66 60 66 31 d2 66 03 06  >rrupt...f`f1.f..<
0000e0 f8 7b 66 13 16 fc 7b 66 52 66 50 06 53 6a 01 6a  >.{f...{fRfP.Sj.j<
0000f0 10 89 e6 66 f7 36 e8 7b c0 e4 06 88 e1 88 c5 92  >...f.6.{........<
000100 f6 36 ee 7b 88 c6 08 e1 41 b8 01 02 8a 16 f2 7b  >.6.{....A......{<
000110 cd 13 8d 64 10 66 61 c3 e8 1e 00 4f 70 65 72 61  >...d.fa....Opera<
000120 74 69 6e 67 20 73 79 73 74 65 6d 20 6c 6f 61 64  >ting system load<
000130 20 65 72 72 6f 72 2e 0d 0a 5e ac b4 0e 8a 3e 62  > error...^....>b<
000140 04 b3 07 cd 10 3c 0a 75 f1 cd 18 f4 eb fd 00 00  >.....<.u........<
000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
*
0001b0 48 07 00 00 00 00 00 00 c4 7a ef 12 00 00 80 00  >H........z......<
0001c0 01 00 17 3f 20 01 00 00 00 00 00 10 00 00 00 00  >...? ...........<
0001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
*
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa  >..............U.<
000200

첫 번째 부분은 MBR의 부팅 코드입니다(이 경우에는 분명히 SYSLINUX 부트로더 제품군의 ISOLINUX를 사용하고 있습니다. 이는 디스크 이미지의 주요 부분에 있는 파일 시스템 유형이 ISO9660이므로 의미가 있습니다). 그런 다음 실제 MBR 파티션입니다. 테이블에서 마지막 2바이트에는 0x55 0xaa 서명 바이트가 포함됩니다.

이 특별한 경우에 CentOS 배포 빌더가 ISO 이미지 준비 단계를 생략한 이유는 무엇입니까? 오직 그들 자신만이 알 수 있습니다: 어쩌면 그것은 버그일 수도 있고 누군가가 32비트 최소 설치 미디어의 출시 과정에 그것을 포함시키는 것을 잊어버렸을 수도 있습니다. 아니면 어떤 이유로든 이 작업을 선택했을 수도 있습니다.


완전성을 위해 :

ISO 이미지가 UEFI 기본 부팅 프로세스(BIOS 호환성 지원 메커니즘 대신)를 사용하여 UEFI 펌웨어에서 부팅해야 하는 경우 다른 요구 사항 집합이 적용됩니다. 이미지 시작 부분의 파티션 테이블(MBR 또는 GPT)에는 특수 플래그가 표시된 FAT32 파티션이 하나 이상 포함되어야 합니다.EFI 시스템 파티션유형 식별자(MBR 파티션의 경우 0xef, GPT 파티션의 경우 특정 파티션 유형 GUID)입니다. 이 파티션에는 특별히 명명된 파일인 부트로더가 필요합니다. 32비트 x86 아키텍처의 경우 이는 \EFI\BOOT\BOOTIA32.EFIWindows 스타일 경로 이름으로 표시됩니다 . 64비트 x86 아키텍처의 경우 UEFI 부팅 경로 이름은 입니다 \EFI\BOOT\BOOTX64.EFI.

실제로 일부 UEFI 펌웨어 구현에서는 이러한 요구 사항을 어느 정도 완화합니다. 이동식 미디어가능한UEFI 펌웨어는 올바른 경로에 적절한 이름의 부트로더 파일이 포함된 경우 부팅 가능한 것으로 간주됩니다.특정 UEFI 펌웨어 구현으로 읽을 수 있는 모든 파일 시스템에서. 모든 UEFI 펌웨어 구현은 FAT32를 UEFI 사양의 일부로 이해해야 하지만 구현에 따라 다른 파일 시스템 유형이 추가될 수 있습니다. 예를 들어 Apple의 UEFI는 기본적으로 HFS+ 파일 시스템을 이해합니다.

관련 정보