Solved does not boot when using chainloader via linux anymore

I do not know if this is a linux or fbsd issue. I just installed win10,linux,fbsd. setup my 40_custom for grub in linux to chainload this and it worked once, then when I needed to reboot fbsd and used grub it says partition 8 not there.

this is on a GPT UEFI boot for everything. so I can use my (crap) BIOS to get into FBSD via that but it is a hassle a bit there yeh.

when I use to be able to just have BIOS set to boot linux grub and use that to boot whichever one I need. which is a little faster and hassle free.

Code:
[userx@FreeBSD ~]
$ gpart show
=>       34  488397101  ada0  GPT  (233G)
         34       2014        - free -  (1.0M)
       2048    1083392     1  ms-recovery  (529M)
    1085440     204800     2  efi  (100M)
    1290240      32768     3  ms-reserved  (16M)
    1323008   90839040     4  ms-basic-data  (43G)
   92162048   41943040     5  linux-data  (20G)
  134105088  161333248     6  linux-data  (77G)
  295438336     409600     7  efi  (200M)
  295847936  184139768     8  freebsd-ufs  (88G)
  479987704    8388608     9  freebsd-swap  (4.0G)
  488376312      20823        - free -  (10M)

=>       34  976773101  da0  GPT  (466G)
         34       2014       - free -  (1.0M)
       2048  976771072    2  linux-data  (466G)
  976773120         15       - free -  (7.5K)

=>       34  976773101  diskid/DISK-0000000045A9  GPT  (466G)
         34       2014                            - free -  (1.0M)
       2048  976771072                         2  linux-data  (466G)
  976773120         15                            - free -  (7.5K)

40_custom is

Code:
menuentry "freebsd" {
set root='(hd0,8)
chainloader /boot/loader.efi
}
that worked on this install once, once. :|
 
There is missing a closing single quote or is it a typo? If it's not a typo set it, try again. If it's a typo try set root='(hd0,gpt8)'
typo now that i am in linux it is .
I added a few others just in hopes one might catch but nope.
Code:
$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "FreeBSD Version 12.1 a" {
    set root='(hd0,8)'
#    chainloader +1
#    kfreebsd /boot/loader
chainloader /boot/loader.efi
}
menuentry "FreeBSD Version 12.1 b" {
    set root='(hd0,7)'
#    chainloader +1
#    kfreebsd /boot/loader
chainloader /boot/boot1.efi
}
menuentry "FreeBSD Version 12" {
    set root='(hd0,8)'
#    chainloader +1
#    kfreebsd /boot/loader
chainloader /boot/loader.efi
}
 
I use dual-boot on my boxes, but I do not use EFI nor UEFI, just the old MBR.
Try to use only the kernel linkage by:
Code:
kfreebsd /boot/loader
and comment-out the chainloader line(s). It is worth a try, hope this helps!
Edit: Keep the rest of the .../40_custom file with all the other lines, as you have them already.
 
Back
Top