Translate Oversette

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian

UEFI Booting Fedora 12 on an Intel DX48BT2 UEFI Booting Fedora 12 på en Intel DX48BT2

For some time Fedora releases have supported For noen tid Fedora utgivelser har støttet UEFI UEFI (more commonly known as EFI) booting on (bedre kjent som EFI) booting on X86-64 X86-64 platforms. plattformer. Having some experience of using EFI on IA64 platforms over the years, I decided to test out EFI booting Fedora 12 on one of my systems which is an Intel DX48BT2 (Bonetrail 2) platform that comes with built-in support for EFI booting. Har noen erfaring med bruk EFI på IA64 plattformer gjennom årene, bestemte jeg meg for å teste ut EFI booting Fedora 12 på en av mine systemer som er en Intel DX48BT2 (Bonetrail 2) plattform som kommer med innebygd støtte for EFI-oppstart.

What do I mean by EFI booting an operating system such as Fedora 12? Hva mener jeg med EFI booting et operativsystem som Fedora 12? A platform that supports EFI booting does not rely upon a bootstrap program stored in boot record of a hard disk. En plattform som støtter EFI booting ikke stole på en bootstrap program lagret i boot record av en harddisk. A boot manager in the platform firmware knows how to read a disk's partition table and understands the layout of a FAT filesystem which is in a designated partition. En støvel bestyrer i plattformen firmware vet hvordan du leser en disk i partisjonstabellen og forstår oppsettet på et FAT filsystem som er i en fast deling. The details of the boot manager are implementation defined, but the boot manager is required to be configurable using well-known EFI global variables. Detaljene av støvelen bestyrer er implementering definert, men støvelen bestyrer er nødvendig å være konfigureres ved hjelp av velkjente EFI globale variabler. For example, the boot manager is required to inspect the BootOrder global variable for a list of boot options. For eksempel er støvelen bestyrer kreves for å inspisere BootOrder global variabel for en liste over oppstartsalternativene. A boot option is one or more EFI global variables of the form BootXXXX. En støvel valgmuligheten er ett eller flere EFI globale variabler av skjemaet BootXXXX. where XXXX is a 4 digit number starting with 0000, that contain the device and path name of a boot loader to load and run, and possibly a set of options to pass to that boot loader. der XXXX er en 4-sifret nummer som starter med 0000, som inneholder enheten og banen til en boot loader å laste og kjøre, og muligens et sett med alternativer for å passere til at boot loader. If there is no BootOrder global variable the boot manager is required to check for a default boot loader in a number of specified default locations. Hvis det ikke er BootOrder global variabel støvelen bestyrer er nødvendig å se etter en standard boot loader i en rekke av spesifisert standard steder. The actual name of the default boot loader is architecture dependant, eg for x86-64 it is \EFI\BOOT\BOOTX64.EFI . Selve navnet på standard boot loader er arkitektur avhengig, f.eks for x86-64 er det \ EFI \ boot \ BOOTX64.EFI.

To enable EFI booting on the DX48BT2 you must change some BIOS settings. Slik aktiverer EFI booting på DX48BT2 du må endre noen BIOS-innstillinger. The primary SATA controller must be configured to use IDE mode, ie the Primær SATA-kontrolleren må være konfigurert til å bruke IDE modus, dvs. AHCI AHCI (Advanced Host Controller Interface) mode must be disabled. (Advanced Host Controller Interface)-modus må deaktiveres. Apparently in AHCI mode the SATA controller firmware is part of the CSM (Compatibility Support Module) and does not support an EFI driver. Angivelig i AHCI modus SATA-kontrolleren firmware er en del av CSM (Compatibility Support Module) og støtter ikke en EFI driver. Even on Intel's latest server boards such as the S5500BC, you still have to use IDE mode if you want EFI booting! Selv på Intels nyeste server boards som S5500BC, har du fortsatt bruke IDE modus hvis du vil EFI booting! If you are using the second SATA controller which controls the Matrix software RAID, you must also disable it as SW RAID is not supported in EFI boot mode. Hvis du bruker den andre SATA-kontrolleren som styrer Matrix programvare-RAID, må du også deaktivere det som SW RAID støttes ikke i EFI støvel modus. Finally you must enable the UEFI option in the Boot option menu. Til slutt må du aktivere UEFI alternativet i Boot alternativet menyen. I also recommend that you select the advanced boot option although it is not mandatory. Jeg anbefaler også at du velger den avanserte støvel valget selv om det ikke er obligatorisk.

I am somewhat familiar with EFI booting a Windows Vista SP2 x86-64 DVD and was surprised to find that I was unable to EFI boot a Fedora 12 x86-64 DVD because, while it contains a /EFI/BOOT/BOOTX64.CONF file, it does not contain a corresponding EFI bootloader, ie /EFI/BOOT/BOOTX64.EFI . Jeg er litt kjent med EFI starter en Windows Vista SP2 x86-64 DVD og ble overrasket over at jeg ikke klarte å EFI støvel en Fedora 12 x86-64 DVD grunn, mens det inneholder / EFI/BOOT/BOOTX64.CONF fil, Den inneholder ikke en tilsvarende EFI bootloader, dvs. / EFI/BOOT/BOOTX64.EFI. More about these two files later. Mer om disse to filene senere.

Next, I turned to figuring out the difference between efidisk.img and efiboot.img as what these images actually contain and where they are/should be used for seems to be undocumented (or at least I could not easily find the documentation.) I burned the images onto two separate DVDs and mounted them to have a look at the contents. Deretter snudde jeg meg for å finne ut forskjellen mellom efidisk.img og efiboot.img som hva disse bildene faktisk inneholder og hvor de er / skal brukes til synes å være udokumenterte (eller i det minste jeg kunne lett finne dokumentasjon.) Jeg brent bildene på to separate DVDer og montert dem til å ta en titt på innholdet. I could just as easily have mounted the images using a command such as the following and cd'ed into the mount mount to look at the contents. Jeg kunne like gjerne ha montert bildene ved hjelp av en kommando som følgende, og cd'ed på fjellet Mount å se på innholdet.

mount -o loop -efiboot.img /mnt


Here is a listing of the efiboot image. Her er en liste over efiboot bildet.

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


The file bootx64.efi is actually GRUB v0.97 and BOOTX64.conf is GRUB's configuration file. Filen bootx64.efi faktisk GRUB v0.97 og BOOTX64.conf er GRUB's konfigurasjonsfil. It contains a single GRUB stanza, ie Den inneholder en enkel GRUB strofe, dvs.

#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


Since no kernel or initrd images are included in the efiboot.img I am unsure of what you can achieve by EFI booting a USB drive or DVD containing this image. Siden ingen kjerne eller initrd bilder er inkludert i efiboot.img jeg er usikker på hva du kan oppnå ved EFI starter en USB-stasjon eller DVD som inneholder dette bildet.

I had better luck with efidisk.img . Jeg hadde bedre hell med efidisk.img. Here is a listing of its contents: Her er en liste over innholdet:

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


The contents of /EFI/BOOT/BOOTX64.conf are the same as in efiboot.img but this time the initrd and kernel images actually existed in the specified directory in the image. Innholdet i / EFI/BOOT/BOOTX64.conf er de samme som i efiboot.img men denne gangen initrd og kjernen bilder faktisk eksisterte i den angitte katalogen i bildet. However there is no sign of the actual EFI bootloader, ie BOOTX64.EFI . Men det er ingen tegn til selve EFI bootloader, dvs. BOOTX64.EFI. OK, I thought, there must be something I do not understand about how to EFI boot Fedora 12. OK, tenkte jeg, må det være noe jeg ikke forstår hvordan du EFI støvel Fedora 12.

After configuring the BIOS to enable EFI booting as discussed above, I rebooted the DX48BT2 with the UEFI version ( efidisk.iso ) of Fedora 12 in the DVD drive. Etter å konfigurere BIOS å aktivere EFI booting, som nevnt ovenfor, restartet jeg DX48BT2 med UEFI versjon (efidisk.iso) av Fedora 12 i DVD-stasjonen. Unfortunately the system reported that no bootable devices were found. Dessverre systemet rapporterte at ingen oppstartbar enheter ble funnet. Fedora 12 did not even try and install as would have occurred with a legacy boot mode install. Fedora 12 ikke engang prøve å installere som ville ha skjedd med en arv støvel modus installere. To see what was happening, I used Å se hva som skjedde, jeg brukte DUET DUET on a USB key to boot into an EFI Shell and checked the DVD filesystem layout. på en USB-nøkkel å støvel i en EFI Shell og kontrollert DVD filsystem layout. It was, as I expected, correct per the EFI and UEFI specifications but there was no BOOTX64.EFI on the DVD. Det var som jeg forventet, korrekt ifølge EFI og UEFI spesifikasjoner, men det var ingen BOOTX64.EFI på DVDen.

I also inspected a dump of the BIOS on the DX48BT2 to see if there were any text strings in the BIOS which might give me a clue as to what the problem might be. Jeg har også inspisert en dump av BIOS på DX48BT2 å se om det var noen tekststrenger i BIOS som kan gi meg en anelse om hva problemet kan være. There were no relevant text strings. Det var ingen relevante tekststrenger. However I confirmed that the BIOS, or at least the parts I inspected, is EFI-based as you can see looking at this dump of the first few bytes of the binary. Men jeg bekreftet at BIOS, eller i det minste deler jeg inspiserte er EFI-basert som du kan se ser på denne fylling av de første bytene av binære. The first 16 bytes are the EFI capsule GUID, ie 3B6686BD-0D76-4030-B70E-B5519E2FC5A0. De første 16 byte er EFI kapselen GUID, dvs. 3B6686BD-0D76-4030-B70E-B5519E2FC5A0. The character strings are either UTF-16 or UCS-2, ie 16 bit character encoding schemes defined in the Unicode specification. Tegnet strenger er enten UTF-16 eller UCS-2, dvs 16 bit tegnkodingsskjemaer definert i Unicode-spesifikasjonen.

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  ................


I then decided to try booting the DVD from the F10 boot options menu just as I would with a legacy boot install. Jeg bestemte seg da for å prøve å starte DVD fra F10 støvel innstillingsmenyen akkurat som jeg ville med en arv støvel installere. This started the Fedora 12 install. Dette startet Fedora 12 installere. From there everything proceeded from a user's perspective as with a legacy boot install except that most of the software packages were downloaded from the Internet rather than from the DVD. Derfra alt gikk fra en brukers perspektiv som med en arv støvel installere bortsett fra at de fleste programvarepakker ble lastet ned fra Internett i stedet for fra DVD. Here is how Anaconda set up my hard disk: Her er hvordan Anaconda satt opp harddisken:

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


The only difference between a legacy boot and an EFI boot install is that Fedora 12 partitions the disk using Den eneste forskjellen mellom en arv støvel og en EFI støvel installere er at Fedora 12 partisjoner disken med GPT GPT (GUID Partition Table) rather than MBR and the first partition, ie the partition with a UUID of B75E-CB6E (EFI partition), was formatted as a FAT32 filesystem approximately 200mb in size. (GUID Partition Table) snarere enn MBR og den første partisjonen, dvs. partisjonen med en UUID av B75E-CB6E (EFI-partisjon), var formatert som FAT32 filsystem ca 200mb størrelse. All the EFI-related code is on this partition because only type of filesystem that EFI understands is the FAT filesystem. Alle EFI-relatert kode er på denne partisjonen fordi kun type filsystem som EFI forstår er FAT-filsystemet. This is the filesystem that you are using when you are in the EFI shell. Dette er filsystemet som du bruker når du er i EFI skallet. It is commonly known as the EFI system partition (ESP). Det er allment kjent som EFI systempartisjonen (ESP).

This suggests that Fedora might not be able to do an EFI boot install onto a hard disk with existing MBR partitions which you want to preserve. Dette tyder på at Fedora kanskje ikke kunne gjøre en EFI-boot installasjon på en harddisk med eksisterende MBR partisjoner som du ønsker å bevare. There are ways of hacking GPT to embed an MBR in the GPT table in order to handle cases where an operating system is expecting to see an MBR but tools like parted cannot handle these hybrid partition schemes and will in many cases mangle the configuration. Det finnes måter å hacke GPT å legge inn en MBR i GPT-tabellen for å håndtere tilfeller hvor et operativsystem forventer å se en MBR men verktøy som skiltes ikke kan håndtere disse hybrid deling ordninger og vil i mange tilfeller mangle konfigurasjonen. If you want to experiment with embedding an MBR within a GPT have a look at the gdisk utility. Hvis du vil eksperimentere med å bygge inn en MBR innenfor en GPT ta en titt på gdisk nytte. By the way, you do not need to have the EFI partition mounted to run Fedora 12. Forresten, trenger du ikke å ha EFI-partisjonen er montert for å kjøre Fedora 12. You could just mount it on an as needed basis if you need to access or change something relating to EFI or edit the bootloader configuration file. Du kunne bare montere den på en som nødvendig grunnlag dersom du trenger tilgang til eller endre noe i forbindelse med EFI eller endre bootloader konfigurasjonsfilen.

The Fedora 12 installation creates the following directory structure in this partition. Fedora 12 installasjonen oppretter følgende katalogstrukturen i denne partisjonen.

# 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


By the way grub.efi is maintained by Peter Jones of Red Hat and is an EFI version of GRUB v0.97 – not GRUB2. Forresten grub.efi vedlikeholdes av Peter Jones av Red Hat og er en EFI versjon av GRUB v0.97 - ikke GRUB2. The bootloader configuration file grub.conf contains The bootloader konfigurasjonsfil grub.conf inneholder

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


I tried EFI booting into Fedora 12 once the Fedora 12 installation completed. Jeg prøvde EFI starter opp i Fedora 12 når Fedora 12 installasjonen fullført. It did not work at all so I decided to use Det fungerte ikke i det hele tatt, så jeg bestemte meg for å bruke DUET DUET to manually load the Fedora 12 bootloader and see what was going on. å manuelt laste Fedora 12 bootloader og se hva som foregikk. The EFI shell command map -r correctly mapped in the systems's hard disk drive as fs2: . Den EFI skallkommando kart-r riktig kartlagt i systemene er harddisken som fs2:. I changed to this device (just like changing drive letters in DOS) and invoked \EFI\BOOT\REDHAT\GRUB.EFI . Jeg byttet til denne enheten (akkurat som å endre stasjonsbokstaver i DOS) og påkalt \ EFI \ boot \ RedHat \ GRUB.EFI. This started the Fedora 12 EFI bootloader and I was able to get into Fedora 12. Dette startet Fedora 12 EFI bootloader og jeg var i stand til å komme inn i Fedora 12.

To provide a default bootloader for the platform, I added a BOOT subdirectory under /boot/efi/EFI and copied grub.efi and grub.conf to this directory renaming the files BOOTX64.EFI and BOOTX64.CONF respectively. Å gi en standard bootloader for plattformen, til jeg en BOOT underkatalog under / boot / efi / EFI og kopiert grub.efi og grub.conf til denne katalogen omdøpe filene BOOTX64.EFI og BOOTX64.CONF hhv. This time, when I rebooted, the system got as far as trying to EFI boot Fedora 12 but failed with a kernel panic early in the kernel initialization. Denne gangen, da jeg startet på nytt, fikk systemet så langt som å prøve å EFI støvel Fedora 12, men mislyktes med kjernepanikk tidlig i kjernen initialisering.

Because EFI booting via DUET worked without any problems, I assumed the problem lay in the difference between the DX48BT2 implementation of EFI booting and DUET's implementation and spent many fruitless hours exploring the differences. Fordi EFI booting via DUET fungerte uten problemer, antok jeg at problemet lå i differansen mellom DX48BT2 gjennomføringen av EFI booting og DUET implementering og tilbrakte mange resultatløse timer utforske forskjellene. For example, no EFI serial device is set up by the DX48BT2 whereas DUET creates one. For eksempel ingen EFI serielle enheten er satt opp av DX48BT2 mens DUET oppretter ett. I also tried the usual suspects, ie the kernel command line options noapic , acpi=off , edd=off , but to no avail. Jeg har også prøvd de vanlige mistenkte, dvs. kjernen kommandolinjevalgene noapic, acpi = off, edd = av, men til ingen nytte.

It took me quite a while to find this problem as the DX48BT2 is a very fast system and the kernel panic was early in the kernel initialization process. Det tok meg en stund å finne dette problemet som DX48BT2 er en veldig rask systemet og kjernepanikk var tidlig i kjernen initialiseringsprosessen. Some information was displayed on the screen but it was overwritten by the kernel panic details. Noe informasjon ble vist på skjermen, men det var overskrevet av kjernepanikk detaljer. In fact, it looked like Dracut was the culprit from the screen ouput but this turned out not to be the case. Faktisk så det ut Dracut var den skyldige fra skjermen utgang, men dette viste seg ikke å være tilfelle. I finally narrowed down the problem by using the kernel command line option boot_delay=100 to slow down the screen output sufficiently for me to locate where in the initialization process the kernel panic was actually occurring. Jeg endelig falt ned problemet ved hjelp av kjernen kommandolinjeflagget boot_delay = 100 til avta skjermen utgang tilstrekkelig for meg å finne hvor i initialiseringsprosessen den kjernepanikk var faktisk forekommende. It turned out that the kernel panic has something to do with the Local Det viste seg at kjernepanikk har noe å gjøre med den lokale APIC APIC (Advanced Programmable Interrupt Controller.) What worked for me in the end was the kernel command line option nolapic . (Advanced Programmable Interrupt Controller.) Hva jobbet for meg i slutten var kjernen kommandolinjeflagget nolapic. After adding this option to the kernel command line in /boot/efi/EFI/BOOT.CONF the DX48BT2 was able to EFI boot directly into Fedora 12. Etter å legge dette alternativet til kjernen kommandolinjen i / boot / efi / EFI / BOOT.CONF den DX48BT2 kunne EFI støvel direkte i Fedora 12. Success at last! Suksess at last!

To enable me to better explore EFI-booting on this system, I changed the boot process so that instead of booting directly into Fedora 12 via the GRUB boatloader, the system booted into an EFI shell. Slik aktiverer meg til bedre å utforske EFI-oppstart på dette systemet, byttet jeg oppstartsprosessen slik at i stedet for å starte direkte i Fedora 12 via GRUB boatloader, systemet oppstartet i en EFI skall. I replaced /efi/boot/EFI/BOOTX64.xfi with a copy of the X68-64 version of Shell.efi , deleted /boot/efi/EFI/BOOT/BOOTX64.CONF and added a startup script STARTUP.NSH to do some basic shell configuration work for me. Jeg erstattet / efi/boot/EFI/BOOTX64.xfi med en kopi av X68-64-versjon av Shell.efi, slettede / boot/efi/EFI/BOOT/BOOTX64.CONF og lagt et oppstartsskript STARTUP.NSH å gjøre noe grunnleggende shell konfigurasjon arbeide for meg. Now when the DX48BT2 was rebooted, I ended up in an EFI shell in the root of the ESP. Nå når DX48BT2 ble startet på nytt, endte jeg opp i en EFI skall i roten av ESP. To boot into Fedora 12, I simply invoke grub.efi from the EFI shell. Å støvel i Fedora 12, jeg bare påberope grub.efi fra EFI skall.

I set up the following directory structure in the ESP: Jeg satt opp følgende katalogstrukturen i 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


The tools directory contains standalone versions of many of the EFI shell built-ins together with some additional utilities such as diskpart , efichk and efifmt are Microsoft utiliites. Verktøyene katalogen inneholder frittstående versjoner av mange av EFI skallet innebygde moduler sammen med noen ekstra hjelpemidler som diskpart efichk og efifmt er Microsoft utiliites.

When you EFI boot into Fedora 12, an extra subdirectory appears under /sys/firmware to contain EFI-ralted information. Når du EFI støvel i 12 Fedora, en ekstra underkatalog vises under / sys / firmware å inneholde EFI-ralted informasjon. Here is what Fedora 12 reported in /sys/firmware/efi/systab Her er hva Fedora 12 rapportert / 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


The zero values for MPS and ACPI20 are obviously wrong. Det nullverdier for MPS og ACPI20 er åpenbart galt. I am unsure of BOOTINFO and HCDP. Jeg er usikker på BOOTINFO og HCDP. This indicates a problem with the EFI implementation in the DX48BT2 BIOS rather than Fedora 12. Dette indikerer et problem med EFI gjennomføring i DX48BT2 BIOS fremfor Fedora 12. Here is what is in this file when Fedora 12 is booted from DUET. Her er hva som er i denne filen når Fedora 12 er oppstartet fra DUET.

MPS=0x7e8a2000
ACPI20=0x7e8a5000
ACPI=0x7e8a4000
SMBIOS=0x7e8a3000
HCDP=0x0
BOOTINFO=0x0
UGA=0x0


Here is a listing of /sys/firmware/efi/vars Her er en liste over / 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


The value in BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c is FFFF which is an obviously invalid setting. Verdien i BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c er ffff som er et åpenbart ugyldig innstilling. No other Boot* global variables are made available to Fedora 12 which is strange. Ingen andre Boot * globale variable blir gjort tilgjengelig for Fedora 12 som er merkelig. Again this indicates a poor EFI implementation in the DX48BT2 BIOS rather than a problem with Fedora 12. Igjen dette indikerer en dårlig EFI gjennomføring i DX48BT2 BIOS stedet for et problem med Fedora 12. All the pre-OS space EFI global variables defined by the UEFI specification are supposed to be made available to the operating system. Alle pre-OS plass EFI globale variable definert av UEFI spesifikasjonen er ment å gjøres tilgjengelig for operativsystemet.

Here is a listing of this same directory when Fedora 12 is booted using DUET. Her er en liste over samme katalog når Fedora 12 er oppstartet bruker DUET.

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


Note the additional Boot* global variables and the TimeOut global variable per the UEFI specification. Merk den ekstra Boot * globale variablene og TimeOut global variabel per i UEFI spesifikasjonen. If I had set BootNext in the DUET bootmanager it would also have been displayed here. Hvis jeg hadde satt BootNext i DUET bootmanager det ville også ha vært vist her. If you come from the Microsoft Windows x86-64 world, some of these names for global variables may be unfamilar to you as Microsoft in their infinite wisdom changed the names. Hvis du kommer fra Microsoft Windows x86-64 verden, noen av disse navnene for globale variabler kan være unfamilar deg som Microsoft i sin uendelige visdom har forandret navn. In Microsoft's BCD (Boot Configuration Data), for example, BootOrder is called displayorder and BootNext is called bootsequence . I Microsoft's BCD (Boot Configuration Data), for eksempel BootOrder kalles displayorder og BootNext kalles bootsequence.

Besides those issues I have described so far in this post, I ran into a number of other problems with EFI support on the DX48BT2. I tillegg til de problemene jeg har beskrevet så langt i dette innlegget, løp jeg inn i en rekke andre problemer med EFI-støtte på DX48BT2. The first problem is that the UEFI boot option on this platform is visable but totally undocumented and by all accounts Intel will not answer any questions about this feature because it is a desktop platform. Det første problemet er at UEFI oppstartsalternativ på denne plattformen er synlig, men helt udokumentert, og alt tyder Intel vil ikke svare på noen spørsmål om denne funksjonen fordi det er en desktop-plattform. This will have to change as 64-bit operating systems become more common in households and hard disks greater that 2 Gib become commodity items. Dette må endres etter hvert som 64-bits operativsystemer blitt mer vanlig i husholdninger og harddisker større enn 2 Gib blitt handelsvare eks.

Another problem is that when you are in EFI boot mode and the BIOS detects an EFI bootloader such as /EFI/BOOT/BOOTX86.EFI , a menu option “[Internal Shell]” is displayed along with other bootable drives when you press the F10 key to select which “drive” to boot off. Et annet problem er at når du er i EFI støvel modus og BIOS oppdager en EFI bootloader som / EFI/BOOT/BOOTX86.EFI, et menyvalg "[Internal Shell]" vises sammen med andre oppstartbar stasjoner når du trykker på F10 tasten for å velge hvilke "kjøre" å støvel av. However, if you select this option the BIOS simply clears the screen and locks up the system. Men hvis du velger dette alternativet BIOS bare tømmer skjermen og låser opp systemet. You have to reboot your system to recover from this. Du må starte systemet på nytt for å komme seg fra denne. I can only assume that this option was intended to load an EFI shell or EFI boot manager but was never actually implemented. Jeg kan bare anta at dette alternativet var ment å laste en EFI skall eller EFI støvel bestyrer men ble aldri gjennomført. Some of the code is obviously there as it detects EFI bootloaders. Noe av koden er åpenbart det når den oppdager EFI bootloaders.

Finally, if you turn off EFI boot in the BIOS setup and thus revert to legacy boot, the boot list displayed by F10 still displays any custom EFI boot options created using efibootmgr less the [Internal Shell] boot option – except now you cannot boot any of the options in the boot list. Til slutt, hvis du slår av EFI støvel i BIOS-oppsettet og dermed tilbake til arven støvel, støvelen listen vist av F10 fortsatt viser eventuelle egendefinerte EFI oppstartsalternativene opprettet ved hjelp efibootmgr minus [Internal Shell] oppstartsalternativ - bortsett fra nå kan du ikke starte noen av alternativene i bagasjerommet listen. The only way to eliminate these entries from the boot list is to EFI boot back into Fedora 12 and use efibootmgr to delete these entries. Den eneste måten å fjerne disse oppføringene fra støvelen listen er å EFI støvel tilbake i Fedora 12 og bruk efibootmgr å slette disse oppføringene.

I have read a number of postings in various forums regarding Intel's EFI support on desktop motherboards. Jeg har lest en rekke oppslag i ulike fora om Intels EFI-støtte på stasjonære hovedkort. I generally agree with the sentiments expressed – it is quite buggy and not ready for prime time use. Jeg er stort sett enige med synspunktene til uttrykk - det er ganske buggy og ikke klar for prime time bruk. It does indeed boot a EFI bootloader off a GPT disk but that is about all it does. Det gjør faktisk starte en EFI bootloader off a GPT disk men det handler om alt den gjør. Given that Intel has over 10 years experience with EFI, this is quite surprising. Gitt at Intel har over 10 års erfaring med EFI, er dette ganske overraskende. At a minimum they need to provide a proper EFI boot configuration manager and a platform setup utility for creating EFI global variables. Som et minimum de trenger for å gi en skikkelig EFI oppstartskonfigurasjon leder og en plattform oppsett verktøy for å opprette EFI globale variabler.

The Fedora project should work to enable EFI Booting a x86-64 distribution DVD by providing a boot loader at \EFI\BOOT\BOOTX64.CONF . Fedora Prosjektet bør arbeide for å aktivere EFI Å starte opp en x86-64 fordelingen DVD ved å tilby en boot loader på \ EFI \ boot \ BOOTX64.CONF. It is not sufficient in my opinion to use legacy mode to create an installation which is then capable of being EFI booted. Det er ikke tilstrekkelig i min mening å bruke arven modus for å lage en installasjon som deretter kan bli EFI oppstartet. I understand the difficulty of supporting both MBR and GPT on a single DVD but the problem is not insurmountable. Jeg forstår hvor vanskelig det er å støtte både MBR og GPT på én DVD, men problemet er ikke uoverkommelig. If this were done, there would be no need for efiboot.img and efidisk.img . Hvis dette var gjort, ville det ikke være behov for efiboot.img og efidisk.img.

Well, that's about all for now on this issue. Vel, det er omtrent alt for nå i denne saken. I hope this post will be of some help to others who are considering switching to EFI booting Fedora 12. Jeg håper dette innlegget vil være til hjelp for andre som vurderer å bytte til EFI starter opp Fedora 12.