Hi All,
I am trying to boot GRUB present at HARD-DISK connected over PCI and in AHCI mode. I am able to boot by setting default boot path as below.
gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"PciRoot(0x1)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)/HD(1,GPT,E3AE6975-BACE-464E-91E1-BB4FE9954047,0x800,0x31801)/\EFI\BOOT\BOOTAA64.EFI"
however, i see the Partition GUID(Partition unique GUID: E3AE6975-BACE-464E-91E1-BB4FE9954047) which is part of path changes when ever hard disk is repartitioned or created with partition.
are there any other way to set the default boot path which is consistent and not depends on GUID.
thanks Ganapat
On Jun 18, 2014, at 10:06 PM, Ganapatrao Kulkarni gpkulkarni@gmail.com wrote:
Hi All,
I am trying to boot GRUB present at HARD-DISK connected over PCI and in AHCI mode. I am able to boot by setting default boot path as below.
gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"PciRoot(0x1)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)/HD(1,GPT,E3AE6975-BACE-464E-91E1-BB4FE9954047,0x800,0x31801)/\EFI\BOOT\BOOTAA64.EFI"
however, i see the Partition GUID(Partition unique GUID: E3AE6975-BACE-464E-91E1-BB4FE9954047) which is part of path changes when ever hard disk is repartitioned or created with partition.
are there any other way to set the default boot path which is consistent and not depends on GUID.
No but you can form the device path like: HD(1,GPT,E3AE6975-BACE-464E-91E1-BB4FE9954047,0x800,0x31801)/\EFI\BOOT\BOOTAA64.EFI” so that if the hard disk is moved around in the system you can still boot from it.
There is no concept of C: or a magic sector in GPT. The 3rd party MBR boot managers where causing chaos back in the day as the all tried to grab the same hidden sectors on the disk. Also moving a disks location caused the system to fail to boot. So GPT was design to solve those problems. There is nothing on the disk that that indicates what is bootable, that info is stored in EFI NVRAM as it is platform policy.
So when you install a new OS on your system you need to run some kind of install program to set the EFI NVRAM boot variable.
The BDS processes the EFI boot variables, and it looks like that PCD is used to set a default value. What happens if no bootable variables resolve is platform policy. So you could implement a custom boot manager that does some magic. For example you could define a PartitionTypeGUID that represents an EFI Application (OS Loader) that helps the user select which partition on the disk should be bootable. Or you could set the platform policy to network boot if the hard drive boot fails, and have the system run an EFI Application that helps you setup (or provision) the boot options.
Thanks,
Andrew Fish
thanks Ganapat
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems_____________________________________________... edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel