I have the following os-es installed at my drives
w10x64 latest
opencore macOS ventura for fun
GhostBSD as dailydriver
I have just installed ventura over monterey and lost ability to boot to GBSD.
I went through all partitions available on boot menu of my hp z440 and none produced the results
Opencore does not recognize GSBD and do not know how to add it to the list of available os-es to boot
I can reinstall BSD, however I would like to try to fix it, this is my last resort.
Where GBSD writes boot info in order to pull its menu for singe/multi/etc choice?
Thanks
Petar
Problems with OpenCore multiboot and GBSD
Re: Problems with OpenCore multiboot and GBSD
To fix the issue of GhostBSD not being recognized by OpenCore after installing macOS Ventura, you can try the following steps:
Verify Boot Information
GhostBSD typically uses the FreeBSD bootloader, which writes boot information to the primary partition where the OS is installed. To find out where GhostBSD has written its boot information:
Boot into a Live USB:
Use a live USB or installation media for GhostBSD or another BSD variant to boot into a live environment.
Identify Partitions:
Open a terminal and use the `gpart` command to list all partitions. This will help you identify the partitions related to GhostBSD.
gpart show
Mount the Partition:
Mount the partition where GhostBSD is installed to check for bootloader files.
mkdir /mnt/gbsd
mount /dev/nda0pX /mnt/gbsd # Replace nda0pX with the appropriate partition identifier.
Check Boot Files:
Navigate to the `/boot` directory on the mounted partition.
ls /mnt/gbsd/boot
Configure OpenCore
To add GhostBSD to OpenCore’s boot menu, you need to modify the `config.plist` file in the OpenCore EFI directory.
Mount EFI Partition:
Boot into macOS or use a live USB to mount the EFI partition.
diskutil list # Find the identifier for your EFI partition, e.g., disk0s1.
sudo diskutil mount disk0s1
Edit config.plist:
Use a plist editor like ProperTree to open and edit the `config.plist` file located in the EFI partition under `EFI/OC`.
- Add a new entry under `Misc -> Entries` for GhostBSD.
- Specify the path to the FreeBSD bootloader, which is usually `\boot\loader.efi`.
Example entry:
<key>Entries</key>
<array>
<dict>
<key>Attributes</key>
<integer>1</integer>
<key>Path</key>
<string>\boot\loader.efi</string>
<key>Title</key>
<string>GhostBSD</string>
</dict>
</array>
Update NVRAM
Ensure that OpenCore’s NVRAM settings allow booting from the added GhostBSD entry.
Update Boot Order:
- Check the `NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82` section.
- Make sure the `BootOrder` key includes the identifier for the new GhostBSD entry.
Save and Reboot
1. Save the changes to `config.plist` and reboot your system.
2. Enter the OpenCore boot menu and check if GhostBSD appears in the list of bootable operating systems.
Troubleshooting
If GhostBSD still does not appear or boot:
Recheck Configurations:
Ensure that all paths and identifiers in the `config.plist` are correct.
Check BIOS Settings:
Ensure that your BIOS settings allow UEFI booting and that no settings conflict with OpenCore or GhostBSD.
Use rEFInd:
As an alternative, you can use rEFInd boot manager, which is more flexible in detecting different operating systems.
These steps should help you restore the ability to boot into GhostBSD without reinstalling it.
Verify Boot Information
GhostBSD typically uses the FreeBSD bootloader, which writes boot information to the primary partition where the OS is installed. To find out where GhostBSD has written its boot information:
Boot into a Live USB:
Use a live USB or installation media for GhostBSD or another BSD variant to boot into a live environment.
Identify Partitions:
Open a terminal and use the `gpart` command to list all partitions. This will help you identify the partitions related to GhostBSD.
gpart show
Mount the Partition:
Mount the partition where GhostBSD is installed to check for bootloader files.
mkdir /mnt/gbsd
mount /dev/nda0pX /mnt/gbsd # Replace nda0pX with the appropriate partition identifier.
Check Boot Files:
Navigate to the `/boot` directory on the mounted partition.
ls /mnt/gbsd/boot
Configure OpenCore
To add GhostBSD to OpenCore’s boot menu, you need to modify the `config.plist` file in the OpenCore EFI directory.
Mount EFI Partition:
Boot into macOS or use a live USB to mount the EFI partition.
diskutil list # Find the identifier for your EFI partition, e.g., disk0s1.
sudo diskutil mount disk0s1
Edit config.plist:
Use a plist editor like ProperTree to open and edit the `config.plist` file located in the EFI partition under `EFI/OC`.
- Add a new entry under `Misc -> Entries` for GhostBSD.
- Specify the path to the FreeBSD bootloader, which is usually `\boot\loader.efi`.
Example entry:
<key>Entries</key>
<array>
<dict>
<key>Attributes</key>
<integer>1</integer>
<key>Path</key>
<string>\boot\loader.efi</string>
<key>Title</key>
<string>GhostBSD</string>
</dict>
</array>
Update NVRAM
Ensure that OpenCore’s NVRAM settings allow booting from the added GhostBSD entry.
Update Boot Order:
- Check the `NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82` section.
- Make sure the `BootOrder` key includes the identifier for the new GhostBSD entry.
Save and Reboot
1. Save the changes to `config.plist` and reboot your system.
2. Enter the OpenCore boot menu and check if GhostBSD appears in the list of bootable operating systems.
Troubleshooting
If GhostBSD still does not appear or boot:
Recheck Configurations:
Ensure that all paths and identifiers in the `config.plist` are correct.
Check BIOS Settings:
Ensure that your BIOS settings allow UEFI booting and that no settings conflict with OpenCore or GhostBSD.
Use rEFInd:
As an alternative, you can use rEFInd boot manager, which is more flexible in detecting different operating systems.
These steps should help you restore the ability to boot into GhostBSD without reinstalling it.
Re: Problems with OpenCore multiboot and GBSD
Hi,
Thanks for the prompt and complete reply. I will give it a try. I have realized that I have more than one EFI partition since I Have 3 or 4 disks
one nvme, one ssd, and one or two hdd-s.
I was able to browse through the partitions via boot options at bios and found one that had appropirate bootx64.efi and booted the Gbsd.
I will try to edit config.plist from Ventura to see if I could make it stay at the opencore menu.
Thanks a lot again!
p.s. I wish rest of xxxBSD are more friendly for a n00b like me, and have some menu driven install process or gui.
It is probably not necessary for the rest of the 0ld school ppl, but it would be helpful.
I just do not like vm-s, even they are good enough, VMWare or VBox or anything else.
It is easy to mess up part table, or anything else. For example. OpenBSD is great, but not meant to be used with anything other
than electro-mechanical teletype.
Is there any sw that comes with xxxBsd or can be dl that could be helpful with the installation or boot process adjustment.
Something like make menuconfig?
Br,
Petar
Thanks for the prompt and complete reply. I will give it a try. I have realized that I have more than one EFI partition since I Have 3 or 4 disks
one nvme, one ssd, and one or two hdd-s.
I was able to browse through the partitions via boot options at bios and found one that had appropirate bootx64.efi and booted the Gbsd.
I will try to edit config.plist from Ventura to see if I could make it stay at the opencore menu.
Thanks a lot again!
p.s. I wish rest of xxxBSD are more friendly for a n00b like me, and have some menu driven install process or gui.
It is probably not necessary for the rest of the 0ld school ppl, but it would be helpful.
I just do not like vm-s, even they are good enough, VMWare or VBox or anything else.
It is easy to mess up part table, or anything else. For example. OpenBSD is great, but not meant to be used with anything other
than electro-mechanical teletype.
Is there any sw that comes with xxxBsd or can be dl that could be helpful with the installation or boot process adjustment.
Something like make menuconfig?
Br,
Petar
Re: Problems with OpenCore multiboot and GBSD
I tried to edit config.plist and found it was not easy because Ventura and W10 were located at the nvme while gbsd is located at ssd over sata.
I decided to get rEFInd and tried to install it from ventura.
It complained regading SIP.
I went to recovery console terminal of Ventua and tried to install.
It complained again, and I hit Yes
rebooted the machine it hangs on welcome screen of rEFIndit, even ps/2 keyboard numlock/caps/scroll does not respond when there. Just a pic w/o any text.
Took an old linux mint cd, dl-ed img, burned to an usb, installed, still the same.
DL-ed rEFInd binary, installed via refind-install script still the same.
Found that there is a ++ version of the util, did not try.
I should probably disable SIP before I tried to install refind at the first place.
Is there a util in *nix that can provide list of devices in the format that can be simply understood for opencore?
Open core plist syntax is different from diskutil absolute path of the .efi file. I was not sure how to transform the infro from diskutil into
something that will opencore understand without any errors.
At least GBSD is working through manual boot from boot menu, hope will fix rest later.
thanks in adv.
Petar
I decided to get rEFInd and tried to install it from ventura.
It complained regading SIP.
I went to recovery console terminal of Ventua and tried to install.
It complained again, and I hit Yes
rebooted the machine it hangs on welcome screen of rEFIndit, even ps/2 keyboard numlock/caps/scroll does not respond when there. Just a pic w/o any text.
Took an old linux mint cd, dl-ed img, burned to an usb, installed, still the same.
DL-ed rEFInd binary, installed via refind-install script still the same.
Found that there is a ++ version of the util, did not try.
I should probably disable SIP before I tried to install refind at the first place.
Is there a util in *nix that can provide list of devices in the format that can be simply understood for opencore?
Open core plist syntax is different from diskutil absolute path of the .efi file. I was not sure how to transform the infro from diskutil into
something that will opencore understand without any errors.
At least GBSD is working through manual boot from boot menu, hope will fix rest later.
thanks in adv.
Petar