X86-64 플랫폼(위)에 부팅 약간의 시간 중절모 릴리스가 UEFI을 지지했다(EFI으로서 더 일반적으로 알았다)이기 때문에. IA64 플랫폼(위)에 수년 동안 EFI을 이용하는 약간의 경험을 가져서 나는 부팅 built-in 지원과 더불어 EFI을 위해 오는 Intel DX48BT2 Bonetrail 2 플랫폼인 나의 시스템 중의 하나(위)에 중절모 12을 부팅해서 EFI out 테스트를 치르기로 결정했다.
나는 중절모 12와 같은 운영 체제를 부팅해서 EFI에 의하여 무슨 말을 하는 겁니까? 부팅 EFI을 지지하는 플랫폼이 하드 디스크의 부트 레코드에 저장해 진 부트스트랩 프로그램을 믿지 않는다. 플랫폼 펌웨어에(서)부트 매니저가 디스크를 읽는 법을 안다. ’그리고 s 분할 테이블 지시한 분할에(서)있는 살찐 filesystem의 레이아웃을 이해한다. 잘 알려진 세계적인 EFI 변수를 이용하는 부트 매니저의 상세한 내용이 정의해서 실행이지만 부트 매니저가 configurable이어야 한다. 예를 들면 부트 매니저가 부트 옵션의 목록을 위해 세계적인 BootOrder 변수를 검사해야 한다. 부트 옵션이 형태 BootXXXX의 세계적인 하나 이상 EFI 변수이다. 어디에(서)XXXX은 짐을 싣고 달릴 부트 로더의 이름과 그 부트 로더에게 전해질 옵션 아마 한 세트를 장치와 길을 가지고 있는 0000부터 시작해서 4 자리수이다. 세계적인 BootOrder 변수가 없다면 부트 매니저가 명시된 디폴트 많은 위치에(서)디폴트 부트 로더를 검사해야 한다. 디폴트 부트 로더의 실제 이름이 건축 부양 가족이다 x86-64을 위해 예를 들면 그것은 \EFI\BOOT\BOOTX64.EFI이다.
EFI을 가능하게 하기 위해 DX48BT2(위)에 당신에게 구두를 신기는 것은 약간의 약력 세팅을 바꾸어야 한다. 주요한 SATA 컨트롤러가 IDE 방식을 이용하기 위해 만들어 져야 하고 즉이다 앞선 AHCI 호스트 컨트롤러 인터페이스 방식은 장애가 있음에 틀림 없다. AHCI 방식에(서)확실히 SATA 컨트롤러 펌웨어가 CSM(호환성 지원 모듈)의 부분이고 EFI 드라이버를 지지하지 않는다. 심지어 인텔(위)에 ’최근 s 서버가 예를 들면 S5500BC 판자로 막는다 당신이 EFI이 부팅하는 것을 원한다면 당신은 아직도 IDE 방식을 이용해야 한다! 당신이 매트릭스 소프트웨어 급습을 컨트롤하는 두 번째 SATA 컨트롤러를 이용하고 있다면 EFI 부트 방식에(서)SW 급습을 지지하지 않아서 당신은 또한 그것을 억제해야 한다. 마침내 당신은 부트 옵션 메뉴에(서)UEFI 옵션을 가능하게 해야 한다. 나는 또한 비록 그것이 의무적이 아니기는 하지만 당신이 앞선 부트 옵션을 선택하도록 권한다.
내가 윈도즈 조망 SP2 x86-64 DVD을 부팅해서 약간 EFI을 잘 알고 있었고 내가 EFI에(게)할 수 없었다는 것을 알기 위해 그것이 /EFI/BOOT/BOOTX64.CONF 파일을 가지고 있기 때문에 중절모 12 x86-64 DVD을 부팅해라,그것이 대응한 EFI bootloader,즉 /EFI/BOOT/BOOTX64.EFI을 가지고 있지 말아라 놀랐다. 이들 2에 관한 추가정보는 나중에 줄지어 간다.
다음에 나는 이들 이미지가 실제로 가지고 있고 어디에(서)그들이 있/할 것이었었는지이 써 지는 것이 undocumented 것같이 보였거나 아마 적어도 내가 문서화를 찾을 것이서 efidisk.img와 efiboot.img 간의 차이를 알아내는 것으로 돌았다. 내가 개별적인 2 DVDs 위에 이미지를 태웠고 내용을 보기 위해 그들을 배치했다. 나는 다음과 cd와 같은 명령을 이용해서 분명히 이미지에 오를 것이다. ’내용에 주목할 산 산으로 ed.
mount -o loop -efiboot.img /mnt
여기 efiboot 이미지의 목록이 있다.
efi: total 20 drwxr-xr-x. 3 root root 2048 2009-11-08 19:06 . drwxr-xr-x. 3 root root 16384 1969-12-31 19:00 .. drwxr-xr-x. 2 root root 2048 2009-11-08 19:06 boot efi/boot: total 246 drwxr-xr-x. 2 root root 2048 2009-11-08 19:06 . drwxr-xr-x. 3 root root 2048 2009-11-08 19:06 .. -rwxr-xr-x. 1 root root 168 2009-11-08 19:06 BOOTX64.conf -rwxr-xr-x. 1 root root 225633 2009-11-08 19:06 bootx64.efi -rwxr-xr-x. 1 root root 17488 2009-11-08 19:06 splash.xpm.gz
파일 bootx64.efi이 실제로 땅벌레 v0.97이고 BOOTX64.conf은 땅벌레이다. ’s 환경설정 파일. 즉 그것은 단 하나의 땅벌레 연을 가지고 있다.
#debug --graphics default=0 splashimage=/EFI/BOOT/splash.xpm.gz timeout 5 hiddenmenu title Fedora 12 kernel /images/pxeboot/vmlinuz initrd /images/pxeboot/initrd.img
중심부나 initrd 이미지가 efiboot.img에 포함되지 않기 때문에 나는 USB 규격 드라이브나 이 이미지를 가지고 있는 DVD을 부팅해서 당신이 EFI에 의하여 얻을 수 있는 것의 unsure이다.
나는 efidisk.img와 더불어 행운을 가졌다. 여기 그것의 내용의 목록이 있다:
EFI/BOOT: total 23 drwxr-xr-x. 2 fpm fpm 2048 2009-11-08 19:06 . dr-xr-xr-x. 3 fpm fpm 2048 2009-11-08 19:07 .. -r--r--r--. 1 fpm fpm 168 2009-11-08 19:06 BOOTX64.conf -rw-r--r--. 1 fpm fpm 17488 2009-10-01 12:08 splash.xpm.gz -r--r--r--. 1 fpm fpm 449 2009-11-08 19:07 TRANS.TBL images: total 146866 drwxr-sr-x. 3 fpm fpm 2048 2009-11-08 19:07 . dr-xr-xr-x. 5 fpm fpm 2048 2009-11-08 19:07 .. -rw-r--r--. 1 fpm fpm 397312 2009-11-08 19:06 efiboot.img -rw-r--r--. 1 fpm fpm 27441152 2009-11-08 19:06 efidisk.img -rw-r--r--. 1 fpm fpm 122544128 2009-11-08 19:07 install.img drwxr-sr-x. 2 fpm fpm 2048 2009-11-08 19:06 pxeboot -rw-r--r--. 1 fpm fpm 400 2009-11-08 19:04 README -r--r--r--. 1 fpm fpm 1106 2009-11-08 19:07 TRANS.TBL images/pxeboot: total 26339 drwxr-sr-x. 2 fpm fpm 2048 2009-11-08 19:06 . drwxr-sr-x. 3 fpm fpm 2048 2009-11-08 19:07 .. -rw-r--r--. 2 fpm fpm 23540852 2009-11-08 19:06 initrd.img -rw-r--r--. 1 fpm fpm 265 2009-11-08 19:06 README -r--r--r--. 1 fpm fpm 659 2009-11-08 19:07 TRANS.TBL -rwxr-xr-x. 2 fpm fpm 3423296 2009-11-08 19:06 vmlinuz isolinux: total 27041 drwxr-sr-x. 2 fpm fpm 2048 2009-11-08 19:06 . dr-xr-xr-x. 5 fpm fpm 2048 2009-11-08 19:07 .. -r--r--r--. 1 fpm fpm 2048 2009-11-08 19:07 boot.cat -rw-r--r--. 1 fpm fpm 84 2009-11-08 19:06 boot.msg -r--r--r--. 1 fpm fpm 142 2009-11-08 19:06 grub.conf -rw-r--r--. 2 fpm fpm 23540852 2009-11-08 19:06 initrd.img -r--r--r--. 1 fpm fpm 14336 2009-11-08 19:06 isolinux.bin -r--r--r--. 1 fpm fpm 1010 2009-11-08 19:06 isolinux.cfg -r--r--r--. 1 fpm fpm 160280 2009-11-08 19:06 memtest -r--r--r--. 1 fpm fpm 390373 2009-11-08 19:06 splash.jpg -r--r--r--. 1 fpm fpm 2215 2009-11-08 19:07 TRANS.TBL -r--r--r--. 1 fpm fpm 147728 2009-11-08 19:06 vesamenu.c32 -rwxr-xr-x. 2 fpm fpm 3423296 2009-11-08 19:06 vmlinuz
이미지에(서)efiboot.img에(서)as /EFI/BOOT/BOOTX64.conf의 내용이 같지만 이번에는 initrd와 중심부 이미지가 명시된 디렉토리에(서)실제로 존재했다. 그러나 실제 EFI bootloader,i.e BOOTX64.EFI의 사인이 없다. OK 나는 내가 EFI 부트 중절모 12에(게)어떻게 대해 이해하지 못하는 뭔가가 있음에 틀림없다고 생각했다.
부팅 EFI을 가능하게 할 위에 의논된 약력을 만든 후에 나는 DVD 드라이브에(서)중절모 12의 UEFI 버전(efidisk.iso)와 더불어 DX48BT2을 재부팅했다. 불행히도 시스템은 어떤 bootable 장치도 발견되지 않았다고 알렸다. 심지어 중절모 12이 노력했고 유산 부트 방식 설치와 더불어 일어났을 것이서 설치하지 않았다. 무엇이 일어나고 있었는지 보기 위해 내가 USB 규격 키(위)에 이중창을 이용하여 EFI 껍질로 부팅했고 DVD filesystem 레이아웃을 체크했다. 내가 EFI와 UEFI 설계명세당 DVD을 고쳐라을 BOOTX64.EFI이(위)에 없었던 것을기를 기대하지 않지만을 때와 그것은 그대로이었다.
나는 내게 문제가 무엇일 수 있는지에 관해서 힌트를 줄 수 있는 약력에(서)텍스트 어떤 스트링도 있었는지 보기 위해 또한 DX48BT2(위)에 약력의 덤프를 검사했다. 적절한 텍스트 스트링이 없었다. 그러나 나는 당신이 2진수의 처음 몇 바이트의 이 덤프를 보는 것을 볼 수 있어서 EFI 약력이나 내가 검사한 적어도 부분의 기초를 쌓는다고 확인했다. 첫번째 16 바이트는 간략한 EFI GUID,즉 3B6686BD-0D76-4030-B70E-B5519E2FC5A0이다. 문자열은 UTF 16든 UCS 2,든 유니코드 명세에(서)정의한 계획을 부호화하는 즉 비트 캐릭터 16 명이다.
0000000: bd86 663b 760d 3040 b70e b551 9e2f c5a0 ..f;v.0@...Q./.. 0000010: 5000 0000 0000 0000 14a0 2600 0000 0000 P.........&..... 0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0000030: 0000 0000 1402 0000 5000 0000 6600 0000 ........P...f... 0000040: ca00 0000 1601 0000 8201 0000 0000 0000 ................ 0000050: 2832 0863 2981 1244 1215 9514 5034 4036 (2.c)..D....P4@6 0000060: 1600 0000 0102 6500 6e00 6700 2000 4900 ......e.n.g. .I. 0000070: 6e00 7400 6500 6c00 2000 4400 6500 7300 n.t.e.l. .D.e.s. 0000080: 6b00 7400 6f00 7000 2000 4200 6f00 6100 k.t.o.p. .B.o.a. 0000090: 7200 6400 2000 4500 4600 4900 2000 4600 r.d. .E.F.I. .F. 00000a0: 6900 7200 6d00 7700 6100 7200 6500 2000 i.r.m.w.a.r.e. . 00000b0: 4500 6e00 6700 6900 6e00 6500 6500 7200 E.n.g.i.n.e.e.r. 00000c0: 6900 6e00 6700 0000 0000 6500 6e00 6700 i.n.g.....e.n.g. 00000d0: 2000 4200 5400 5800 3300 3800 3100 3000 .B.T.X.3.8.1.0. 00000e0: 4a00 2e00 3800 3600 4100 2e00 3200 3000 J...8.6.A...2.0. 00000f0: 3000 3600 2e00 3200 3000 3000 3900 2e00 0.6...2.0.0.9... 0000100: 3100 3000 3200 3300 2e00 3100 3000 3500 1.0.2.3...1.0.5. 0000110: 3700 0000 0000 6500 6e00 6700 2000 4600 7.....e.n.g. .F. 0000120: 6900 7200 6d00 7700 6100 7200 6500 2000 i.r.m.w.a.r.e. . 0000130: 7500 7000 6400 6100 7400 6500 2000 4200 u.p.d.a.t.e. .B. 0000140: 5400 5800 3300 3800 3100 3000 4a00 2e00 T.X.3.8.1.0.J... 0000150: 3800 3600 4100 2e00 3200 3000 3000 3600 8.6.A...2.0.0.6. 0000160: 2e00 3200 3000 3000 3900 2e00 3100 3000 ..2.0.0.9...1.0. 0000170: 3200 3300 2e00 3100 3000 3500 3700 0000 2.3...1.0.5.7... 0000180: 0000 6500 6e00 6700 2000 4500 4600 4900 ..e.n.g. .E.F.I. 0000190: 2000 6300 6100 7000 7300 7500 6c00 6500 .c.a.p.s.u.l.e. 00001a0: 2000 6300 6f00 6e00 7400 6100 6900 6e00 .c.o.n.t.a.i.n. 00001b0: 6900 6e00 6700 2000 6d00 6f00 7400 6800 i.n.g. .m.o.t.h. 00001c0: 6500 7200 6200 6f00 6100 7200 6400 2000 e.r.b.o.a.r.d. . 00001d0: 6600 6900 7200 6d00 7700 6100 7200 6500 f.i.r.m.w.a.r.e. 00001e0: 2000 7500 7000 6400 6100 7400 6500 2000 .u.p.d.a.t.e. . 00001f0: 6600 6f00 7200 2000 4200 5400 5800 3300 f.o.r. .B.T.X.3. 0000200: 3800 3100 3000 4a00 2e00 3800 3600 4100 8.1.0.J...8.6.A. 0000210: 0000 0000 0000 0000 0000 0000 0000 0000 ................
나는 그때 F10 부트 옵션 메뉴로부터 내가 유산과 더불어 설치를 부팅하는 것처럼 DVD을 부팅하려고 하기로 결정했다. 이것은 중절모 12 설치를 시작했다. 그 곳으로부터 모든 것은 사용자에 기인했다. ’소프트웨어 패키지 중 대부분이 있는 그것을 제외하고 유산 부트 설치와 더불어 다운로드해서 DVD으로부터기보다 인터넷으로부터 s 시각. 여기 아나콘다가 나의 하드 디스크를 어떻게 세웠다이 있다:
dev/mapper/vg_ultra-lv_root / ext4 defaults 1 1 UUID=4d93d152-2877-4447-92e8-18d668daba01 /boot ext4 defaults 1 2 UUID=B75E-CB6E /boot/efi vfat umask=0077,shortname=winnt 0 0 /dev/mapper/vg_ultra-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
부트와 EFI 부트가 설치하는 유산 간의 유일한 차이가 중절모 12이 MBR보다 GPT GUID 분할 테이블을 이용해서 디스크를 분할한다는 것이었고 FAT32 filesystem 대략 200mb으로서 크기에(서)첫번째 분할,B75E-CB6E(EFI 분할)의 UUID이 있는 즉 분할의 포맷을 만들었다. 유일한 유형의 EFI이 이해하는 filesystem이 살찐 filesystem이기 때문에 EFI 관련된 모든 코드는 이 분할에서 있다. 이것은 당신이 EFI 껍질에(서)있을 때 당신이 이용하고 있는 filesystem이다. 그것은 일반적으로 알려 져서 EFI 시스템 분할(ESP)으로서 있다.
이것은 그 중절모가 당신이 보존하기를 원하는 기존의 MBR 분할을 가지고 하드 디스크 위에 EFI 부트 설치를 할 수 있을 수 없다는 것을 암시한다. 어디에(서)운영 체제가 MBR을 보기를 바라고 있지만 갈린 캔과 같은 도구가 이들 복합적인 분할 계획을 다루지 않고 많은 케이스에(서)구성을 엉망으로 만들 것인 케이스를 다루기 위해 MBR을 GPT 테이블에 새겨 둘 해킹 GPT의 길(방법)이 있다. 당신이 GPT 안에서 MBR을 박는 것을 실험하고 싶다면 gdisk 유틸리티를 보아라. 그런데 당신은 EFI 분할을 중절모 12을 달리기 위해 오르게 해야 하지 않다. 단지 당신은 당신이 bootloader 환경설정 파일을 EFI이나 편집과 연관시키는 뭔가에 접근하거나 바꾸어야 한다면 기준이 필요해서(위)에 그것에 오를 수 있었다.
중절모 12 설치는 이 분할에(서)다음 디렉토리 구조를 만든다.
# pwd EFI/redhat ls -al total 236 drwx------. 2 root root 4096 2010-01-28 16:33 . drwx------. 3 root root 4096 2010-01-28 16:09 .. -rwx------. 1 root root 744 2010-01-28 16:33 grub.conf -rwx------. 1 root root 226825 2009-11-16 11:16 grub.efi
그런데 grub.efi이 레드햇의 Peter Jones에 의하여 유지되고– GRUB2 땅벌레 v0.97의 EFI 버전이 아니다. grub.conf이 가지고 있는 bootloader 환경설정 파일
default=0 timeout=0 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu title Fedora (2.6.31.12-174.2.3.fc12.x86_64) root (hd0,1) kernel /vmlinuz-2.6.31.12-174.2.3.fc12.x86_64 ro root=/dev/mapper/vg_ultra-lv_root LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet initrd /initramfs-2.6.31.12-174.2.3.fc12.x86_64.img
일단 중절모 12 설치가 끝내면 나는 중절모로 12을 부팅해서 EFI을 시도했다. 그것은 효과가 전혀 없었다 그래서 내가 이중창을 이용하여 손으로 중절모 12 bootloader을 싣고 무엇이 계속되고 있었는지 보기로 결정했다. -r이 시스템에(서)올바르게 위치한 EFI 껍질 명령 지도 ’fs2:으로서 s 하드디스크 드라이브. 나는 꼭 도스와 기원한 \EFI\BOOT\REDHAT\GRUB.EFI에(서)드라이브 편지를 바꾸는 것처럼 이 장치로 바뀌었다. 이것이 중절모 12 EFI bootloader을 시작했고 나는 중절모 12에 들어갈 수 있었다.
플랫폼을 위해 채무 불이행에 bootloader을 제공하기 위해 나는 BOOTX64.EFI와 BOOTX64.CONF 파일의 이름을 각각 고치는 이 디렉토리에 /boot/efi/EFI와 카피된 grub.efi와 grub.conf 아래 부트 하위 디렉토리를 추가했다. 내가 재부팅한 이번에는 노력하는 한 시스템이 EFI 부트 중절모 12에 도달했지만 중심부 공황과 더불어 중심부 초기화에(서)일찍 고장 났다.
이중창을 통해 EFI 부팅이 어떤 문제도 없이 작용했기 때문에 나는 문제가 DX48BT2 EFI의 부팅 실행과 이중창 간의 차이에 있었다고 생각했다. ’s 실행과 차이를 탐험하는 다 쓴 많은 결실이 없는 시간. 비록 이중창이 그것을 만들지만 예를 들면 어떤 연속적인 EFI 장치도 DX48BT2에 의하여 준비되지 않는다. 나는 헛되이 또한 그러나 일상적인 용의자,즉 중심부 명령 라인 옵션 noapic,acpi=off,edd=off을 시도했다.
그것은 DX48BT2이 매우 빠른 시스템이었고 중심부 공황이 중심부 초기화 과정에(서)일러서 이 문제를 찾는 것 매우 잠시 나를 데려갔다. 약간의 정보가 화면에 출력해 지었지만 그것이 중심부 공황 상세한 내용에 의하여 장황하게 쓰여 졌다. 사실 그것은 Dracut이 스크린 ouput으로부터 죄인이었지만 이것이 케이스로 나타난 것처럼 보았다. 초기화 과정에(서)중심부 공황이 실제로 일어나고 있었던 곳에 마침내 나는 중심부 명령 라인 옵션 boot delay=100을 이용하여 내가 자리잡도록 스크린 아웃풋의 속도를 충분히 낮춤으로써 문제를 한정했다. 중심부 공황이 현지 APIC(앞선 프로그래머블 인터럽트 컨트롤러)와 어떤 관계가 있다고 밝혀 졌다. 결국 나를 위해 일한 것은 중심부 명령 라인 옵션 nolapic이었다. /boot/efi/EFI/BOOT.CONF에(서)중심부 커맨드라인에 이 옵션을 추가한 후에 DX48BT2은 중절모 12으로 바로 EFI 부트에(게)가능했다. 마침내 성공!
땅벌레 boatloader을 통해 중절모 12으로 바로 부팅하는 대신 시스템이 EFI 껍질로 부팅하도록 나를 이 시스템에서 EFI 부팅을 더(잘)탐험할 수 있게 하기 위해 나는 부트 과정을 바꾸었다. 내가 /efi/boot/EFI/BOOTX64.xfi을 Shell.efi의 X68-64 버전의 카피와 바꾸었고 /boot/efi/EFI/BOOT/BOOTX64.CONF을 지웠고 나를 위해 약간의 기초적인 껍질 구성 일을 하기 위해 시동 스크립트 STARTUP.NSH을 더하였다. DX48BT2이 재부팅해 지었을 때 지금 나는 ESP의 뿌리에(서)EFI 껍질에(서)결국 되었다. 중절모로 12을 부팅하기 위해 나는 단지 EFI 껍질만으로 grub.efi을 기원한다.
나는 ESP에(서)다음 디렉토리 구조를 세웠다:
# ls -R /boot/efi/EFI /boot/efi/EFI: apps BOOT grub.conf grub.efi boot.nsh /boot/efi/EFI/tools: Attrib.efi Devtree.efi edit.efi hexedit.efi Ls.efi Mv.efi sermode.efi Type.efi Cls.efi diskpart.efi efichk.efi IfConfig.efi mem.efi NShell.efi SmbiosView.efi Unload.efi comp.efi dmem.efi eficompress.efi IpConfig.efi memmap.efi Openinfo.efi stall.efi Ver.efi Cp.efi dmpstore.efi efidecompress.efi LegacyBoot.efi Mkdir.efi pci.efi TelnetMgmt.efi Vol.efi Date.efi Drivers.efi efifmt.efi Load.efi mm.efi Ping.efi Time.efi Dblk.efi Drvcfg.efi err.efi LoadFv.efi mode.efi Resets.efi timezone.efi Devices.efi Drvdiag.efi Guid.efi LoadPciRom.efi Mount.efi Rm.efi Touch.efi /boot/efi/EFI/BOOT: BOOTX64.EFI STARTUP.NSH
도구 디렉토리가 diskpart와 같은 약간의 추가적인 유틸리티와 함께 EFI 껍질 다수의 붙박이의 독립형 버전을 가지고 있다 efichk와 efifmt은 마이크로소프트 utiliites이다.
당신일 때 중절모 12으로 EFI 부트,가외의 하위 디렉토리가 EFI ralted 정보를 가지고 있기 위해 /sys/firmware 아래에(서)나타난다. 여기 12이 /sys/firmware/efi/systab에(서)어떤 중절모를 알렸든지 있다.
[root@ultra efi]# cat /sys/firmware/efi/systab MPS=0x0 ACPI20=0x0 ACPI=0x7fefd000 SMBIOS=0x7fdf2f98 HCDP=0x0 BOOTINFO=0x0 UGA=0x0
MPS와 ACPI20을 위해 0 가치관은 명백히 그릇되다. 나는 BOOTINFO와 HCDP의 unsure이다. 이것은 중절모 12보다 DX48BT2 약력에(서)EFI 실행에 대한 문제를 가리킨다. 이중창으로부터 중절모 12을 부팅할 때 여기 이 파일에(서)있는 것이 있다.
MPS=0x7e8a2000 ACPI20=0x7e8a5000 ACPI=0x7e8a4000 SMBIOS=0x7e8a3000 HCDP=0x0 BOOTINFO=0x0 UGA=0x0
여기 /sys/firmware/efi/vars의 목록이 있다.
# ls /sys/firmware/efi/vars AcpiGlobalVariable-af9ffd67-ec10-488a-9dfc-6cbf5ee22c2e BadgeBackgroundColor-015698bc-457c-43f4-b257-f2ac5ed55f28 BmiGetParams-ffe78db2-eeb3-43c2-a56a-373be2aa4d4f BoardFeatures-94b9e8ae-8877-479a-9842-f5974b82ced3 BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c DmiData-70e56c5e-280c-44b0-a497-09681abc375e ErrOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c Events-b452fd8a-c9ca-4764-977e-59d839dd861b FirmwareId-5e559c23-1faa-4ae1-8d4a-c6cf026c766f FirmwareId-efc071ae-41b8-4018-afa7-314b185e578b HecetaTcontrolInfo-d9f4cf5d-1b90-4c8e-8062-451a4737e3b4 HiiDB-1b838190-4625-4ead-abc9-cd5e6af18fe0 ItkBiosModVar-3812723d-7e48-4e29-bc27-f5a39ac94ef1 ItkDataVar-3812723d-7e48-4e29-bc27-f5a39ac94ef1 Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c main firmware-05a798ea-39ee-40fc-82c5-622582fa634b MemCeil.-8be4df61-93ca-11d2-aa0d-00e098032b8c MemoryTypeInformation-4c19049f-4137-4dd3-9c10-8b97a83ffdfa MfgDefault-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 MTC-eb704011-1402-11d3-8e77-00a0c969723b OriginalLang-8be4df61-93ca-11d2-aa0d-00e098032b8c OriginalLangSelect-8be4df61-93ca-11d2-aa0d-00e098032b8c PciLanInfo-0d9a1427-e02a-437d-926b-aa521fd722ba PECIProcessor-46a39b66-1f23-457c-af10-39e08bba56f1 PegSlotStuffed-056e7324-a718-465b-9a84-228f06642b4f recovery firmware-05a798ea-39ee-40fc-82c5-622582fa634b S3SmmVariable-f96f5d2a-9cd4-4dac-b48b-1d8490d87bf5 SetupDefault-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 SLP20Magic-41282ef2-9b5a-4eb7-95d8-d9cd7bdce367 sOemT3-4acacc46-a23e-4114-8169-e5edebe2045d supplemental recovery area-05a798ea-39ee-40fc-82c5-622582fa634b SwitchBoard-56772831-0132-4ebe-8842-d65a50c0a7d0 SystemPassword-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9 UUID-d357c710-0ada-4717-8dba-c6adc7cd2b2a
BootCurrent 8be4df61-93ca-11d2-aa0d-00e098032b8c에(서)가치는 명백히 효력이 없는 세팅인 FFFF이다. 어떤 다른 세계적인 Boot* 변수도 이상한 중절모 12이 이용할 수 있게 되지 않는다. 이것은 중절모 12에 대한 문제보다 DX48BT2 약력에(서)보잘것 없는 EFI 실행을 다시 가리킨다. 모든 pre-OS 스페이스 UEFI 명세에 의하여 정의한 세계적인 EFI 변수가 운영 체제가 이용할 수 있게 되기로 되어 있다.
이중창을 이용해서 중절모 12을 부팅할 때 여기 이 같은 디렉토리의 목록이 있다.
Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c ErrOut-8be4df61-93ca-11d2-aa0d-00e098032b8c ErrOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c MTC-eb704011-1402-11d3-8e77-00a0c969723b PerfDataMemAddr-59d1c24f-50f1-401a-b101-f33e0daed443 PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
추가적인 세계적인 Boot* 변수와 UEFI 명세당 세계적인 TimeOut 변수에 주목해라. 내가 이중창 bootmanager에(서)BootNext을 놓았다면 그것이 또한 여기에(서)전시되었을 것이다. 그들의 무한한 지혜에(서)마이크로소프트가 이름을 바꾸어서 당신이 마이크로소프트 윈도즈 x86-64 세계에서 온다면 세계적인 변수를 위해 이들 이름 중의 일부는 당신에(게)unfamilar일 지도 모른다. 마이크로소프트에(서) ’s BCD(부트 구성 데이터),예를 들면 BootOrder이 displayorder이라고 불리고 BootNext이 bootsequence이라고 불린다.
내가 이 포스트에(서)지금까지 묘사한 그 이슈 외에 나는 DX48BT2(위)에 EFI 지원에 대한 다른 많은 문제에 부딪쳤다. 첫번째 문제가 UEFI 부트 이 플랫폼에 대한 선택권이 visable이지만 완전히 undocumented이다는 것이고 그것이 데스크탑 플랫폼이기 때문에 모두의 말을 미루어 보아 인텔은 이 특징에 대해 어떤 질문에 대답하지 않을 것이다. 이것은 64 비트 운영 체제가 가족과 Gib 2 명이 상품 아이템이 된다는 것은 더 대단한 하드 디스크에(서)공통적이게 되어서 변하여야 할 것이다.
또다른 문제는 당신이 EFI 부트 유행중이고 약력이 /EFI/BOOT/BOOTX86.EFI와 같은 EFI bootloader을 탐지할 때” 당신이 어느” 벗어나 부팅하는“ 드라이브를 선택하라고 F10 키에 촉구할 때 메뉴 옵션“[내부 껍질]이 다른 bootable 드라이브와 함께 전시된다는 것이다. 당신이 이 옵션을 선택한다면 그러나 단순히 약력이 스크린을 깨끗이 하고 시스템을 잠근다. 당신은 이것에서 회복하기 위해 당신의 시스템을 재부팅해야 한다. 단지 나는 이 옵션이 EFI 껍질이나 EFI 부트 매니저를 실었을 것이지만 실제로 결코 실행되지 않았다고 생각할 수 있다. 그것이 EFI bootloaders을 탐지해서 코드 중의 일부는 명백히 거기에 있다.
당신이 약력 셋업에(서)EFI 부트를 끄고 이렇게 조금도 유산 부트,조용한 F10 디스플레이에 의하여 전시된 부트 목록으로 되돌아간다면 마침내 관습 EFI은– 지금 당신을 제외하고 내부 껍질 부트 옵션이 부트 목록에(서)옵션 모두를 부팅할 수 없다 efibootmgr을 덜 이용해서 만들어 진 옵션을 부팅한다. 이들 엔트리를 부트 목록에서 없애기 위한 유일한 방법은 EFI 뒤로 중절모 12으로 부트와 이들 엔트리를 지우는 efibootmgr일 필요성에(게)있다.
나는 인텔에 대한 다양한 포럼에(서)많은 임명을 읽었다. ’데스크탑 motherboards(위)에 s EFI 지원. 나는– 그것이 매우 buggy 황금시간 사용의 준비가 되어 있지 않다 일반적으로 표현한 감정에 동의한다. 그것이 GPT 디스크에서 벗어나 실로 EFI bootloader을 부팅하지만 그것이 그것이 하는 모두에 대해 있다. 인텔이 그것이 10 년 이상을이 EFI와 더불어 경험하게 한다 이것이 매우 놀랄 만 하다 준다. 최소에(서)그들은 세계적인 EFI 변수를 만드는 것을 위해 적절한 EFI 부트 구성 매니저와 플랫폼 셋업 유틸리티를 제공해야 한다.
중절모 프로젝트는 \EFI\BOOT\BOOTX64.CONF에(서)부트 로더를 제공함으로써 x86-64 분배 DVD을 부팅해서 EFI을 가능하게 하기 위해 수행되어야 한다. 유산 방식을 이용하여 그때 부팅해서 EFI일 수 있는 설치를 만드는 것은 나의 의견으로는 충분하지 않다. 내가 지지한 MBR와 GPT 둘 다의 단 하나의 DVD(위)에 어려움을 이해하지만 문제가 넘을 수 있다. 이것을 했다면 efiboot.img와 efidisk.img을 위해 필요성이 있을 것이 아니다.
우물,그것 ’지금 이 이슈(위)에을 위한 모두에 대한 s. 나는 이 포스트가 부팅 중절모 12을 EFI으로 전환하는 것을 고려하고 있는 다른 사람(것)들에게 약간의 도움이 되기를 바란다.





















