FreeBSD 9.0 - GPT boot problems?
mueller23 at insightbb.com
Sat Aug 4 07:11:00 UTC 2012
> On Fri, Aug 3, 2012 at 3:09 PM, Torfinn Ingolfsen
> <torfinn.ingolfsen at getmail.no> wrote:
> > Just a short update on this machine (Acer Aspire X1470) and the GPT / UEFI situation.
> > Today I set up another partition, EFI system partition. The partyitions now looks like this:
> > root at kg-vm2# gpart show ada0
> > => 34 250069613 ada0 GPT (119G)
> > 34 128 1 freebsd-boot (64k)
> > 162 119537664 2 freebsd-ufs (57G)
> > 119537826 8388608 3 freebsd-swap (4.0G)
> > 127926434 121634816 4 freebsd-ufs (58G)
> > 249561250 204800 5 efi (100M)
> > 249766050 303597 - free - (148M)
> > I formatted the partition like this:
> > root at kg-vm2# newfs_msdos -F32 /dev/ada0p5
> > newfs_msdos: trim 50 sectors to adjust to a multiple of 63
> > /dev/ada0p5: 204512 sectors in 12782 FAT32 clusters (8192 bytes/cluster)
> > BytesPerSec=512 SecPerClust=16 ResSectors=32 FATs=2 Media=0xf0 SecPerTrack=63 Heads=16 HiddenSecs=0 HugeSectors=204750 FATsecs=100 RootCluster=2 FSInfo=1
> > I have tried putting an EFI shell on it (I got the idea from this page, I have tried both the 1.0 and 2.0 x64 shell), like this:
> > root at kg-vm2# mount -t msdosfs /dev/ada0p5 /mnt
> > root at kg-vm2# ls -l /mnt
> > total 848
> > drwxr-xr-x 1 root wheel 8192 Aug 3 14:30 EFI
> > drwxr-xr-x 1 root wheel 8192 Aug 3 16:21 boot
> > -rwxr-xr-x 1 root wheel 847232 Aug 3 14:56 shellx64.efi
> > root at kg-vm2# ls -l /mnt/boot
> > total 760
> > -rwxr-xr-x 1 root wheel 771072 Aug 3 16:23 bootx64.efi
> > root at kg-vm2# ls -l /mnt/EFI
> > total 16
> > drwxr-xr-x 1 root wheel 8192 Aug 3 14:30 FreeBSD
> > drwxr-xr-x 1 root wheel 8192 Aug 3 15:06 boot
> > root at kg-vm2# ls -l /mnt/EFI/boot
> > total 760
> > -rwxr-xr-x 1 root wheel 771072 Aug 3 15:29 bootx64.efi
> > but no dice - it is not working, it still prints "ERROR: No boot disk has been detected or the disk has failed."
> > when I try to boot from this disk.
> > How do I figure out where this UEFI firmware that Acer has put in this machine is getting it's boot manager and or boot loader from?
> > I tried running 'strings -f' on the BIOS file (sorry, UEFI firmware), that got me all the EFI error messages, but nothing useful.
> > Googling didn't help either.
> > References:
> > 1) https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface
> It's not clear from your message, but did you use the gpart bootcode
> command to write the protective MBR and the gptboot code as documented
> in the gpart(8) man page?
> R. Kevin Oberman, Network Engineer
> E-mail: kob6558 at gmail.com
The gpart bootcode command is quite apart from and unrelated to (as far as I can tell) the EFI partition.
I think the EFI partition is supposed to be the first partition on a GPT-partitioned disk.
I have installed FreeBSD to a USB stick, GPT-partitioned with three partitions: boot, root and swap.
I used gpart bootcode command to make the USB stick bootable, there was no EFI partition in this case.
This is good if FreeBSD is the only OS installed to a disk.
EFI partition is to allow sharing a hard drive with multiple OS installations.
More information about the freebsd-stable