Auto Deploy restarts PCs, but boots back into Windows
-
So I was able to start modifying the
refind_efi.conf
file. I tried the following settings:scan_delay 5 default_selection Windows scanfor internal,external,hdbios,biosexternal
I checked and Windows is on a GPT disk, not MBR.
The current issue is that, even with the
scan_delay 5
, it seems like it isn’t even doing anything. I don’t even think REFIND_EFI is even being loaded, even though I seerefind.efi
in thefog/service/ipxe
directory. -
@DarkSwordsman I would highly recommend leaving scan_delay at 0
-
@Tom-Elliott Okay.
I just tried booting into
http://10.1.0.50/fog/service/ipxe/refind.efi
from the ipxe CLI and it came to the same blinking cursor icon. This tells me that something is up with refind.efi itself, and that fog is likely actually respecting the exit type properly.I’ll do some digging, but is there anything you can suggest for this?
-
Can you show us what you mean by that exactly?
-
So upon further research, it seems it is picking up Windows and refind_efi is working as expected, kinda. Except, I think refind is seeing the disk that windows is on and not Windows Boot Manager itself.
@Tom-Elliott The blinking cursor is exactly as it seems, a blinking cursor in the top left of the screen, and that’s it.
It goes PXE boot > FOG Menu (selects default: Boot to Hard Disk
fog.local
) > screen turns black for a couple seconds > blinking cursor.The blinking cursor error usually occurs, IIRC from experience, when you try to legacy boot right into the disk that Windows 10 is on, and not going through Windows Boot Manager.
-
I tried to enable the graphics menu with
timeout 0
andtextonly 0
at least to just see if there is anything.Refind didn’t pop up with any menu at all.
-
So I’m kind of tired of this at the moment. I’m 90% certain it’s booting into Windows, but it’s not booting into it correctly.
I swear that in my previous IT experience, I have seen the blinking cursor issue, and it had to do with trying to legacy boot Windows instead of EFI booting through Windows Boot Manager.
If I set the boot device to
UEFI Hard Disk: Windows Boot Manager
it boots into Windows 10 fine, but REFIND_EFI and GRUB_FIRST_FOUND_WINDOWS both result in the blinking cursor, a common Windows issue with booting.It also feels like refind.efi is not picking up my changes in the configuration file at all.
-
Is there anything I can put into the
fog.local
parameters or Boot Options? Would there be a reason that refind.efi is not picking up myrefind.conf
file? -
Refind is definitely not picking up the config file. I restarted our VM twice and no luck.
Also, @Tom-Elliott your suggestion to
cp
the config file without any other parameters didn’t make much sense to me, but it apparently worked for another user. What am I missing from yourcp
suggestion on that thread?Edit: Thread for reference: https://forums.fogproject.org/topic/12356/refind-conf-doesn-t-appear-to-be-used/5
-
Currently trying to download a new version of refind, as suggested by someone on the internet somewhere.
I dunno, I’m tired and just want this to work. It’s ridiculous that it’s not working by now.
Edit: Ah, yes, it was on this site: https://forums.fogproject.org/topic/11993/refind-pxe-booting-issue
-
@DarkSwordsman said in Auto Deploy restarts PCs, but boots back into Windows:
I just tried booting into http://10.1.0.50/fog/service/ipxe/refind.efi from the ipxe CLI and it came to the same blinking cursor icon.
To me this sounds as if this particular machine / UEFI firmware is having an issue. I don’t think it even gets as far as loading any Windows components at all!! Have you updated the UEFI firmware to the very latest version?
Maybe try booting rEFInd from a USB key just to see if that ends up in the blinking cursor as well: Format a USB stick with FAT32, create directories
EFI\BOOT
, download the refind.efi binary from your FOG server, put onto the USB key asEFI\BOOT\BOOTX64.EFI
and add therefind.conf
(you were talking about refind_efi.conf file?!?). Now try booting from this USB key and see what you get.If that doesn’t work out you might want to try loading the 32 bit version of rEFInd (refind_ia32.efi) found in the official archive.
PS: There is no way around it. You need to stick to it and try different things to figure out why it is not working.
-
@DarkSwordsman And here is another idea. Possibly the
scan_for
option if causing the hang on blinking cursor. Not sure why but possibly it is. Maybe try setting this tomanual
only and add a menu section at the bottom of your config - see here:menuentry "windows" { volume 0: loader \EFI\Microsoft\Boot\bootmgfw.efi enabled }
Make sure you comment all the other pre-defined menu sections and set
default_selection 1
to choose this entry for you.In that same post it’s also mentioned that rEFInd 0.11.2 (current at that time) was not working on a specific HP workstation. Reverting back to verison 0.11.0 helped. Maybe another try. You see there are lots of options and sure one will get you beyond the blinking cursor.
-
Hey @Tom-Elliott @Sebastian-Roth I am back at the LAN center and was able to test with a new version of refind.efi from http://www.rodsbooks.com/refind/getting.html
I noticed there were two refind config files. One is refind.efi and the other is refind_linux.conf. I went into both of these and set one to 5 second timeout and the other to 10 seconds. It didn’t pick up either of these settings.
I want to understand, what do you mean by setting up the DHCP to hand out EFI binaries? I can boot into the FOG menu just fine and I can deploy images and what not. It’s just that when I select “Boot from Disk” in the FOG PXE menu, the default option, none of the bootloaders seem to work.
I can also confirm that it’s picking up the different boot loaders when I change them. Grub and Sansboot both come to the
error c.main()
issue or whatever, and Refind.efi comes to a blinking cursor.So, firstly, is there something I need to do to get refind.efi to see the config files in the first place? And secondly, what do I need to set, if any, in the config files to make it see the OS?
-
@DarkSwordsman said in Auto Deploy restarts PCs, but boots back into Windows:
One is refind.efi and the other is refind_linux.conf.
refind.efi should not be a config file. I guess you mean refind.conf here. Not sure where refind_linux.conf is coming from but that’s something we provide AFAIK! Please tell us where you got that from?!
So, firstly, is there something I need to do to get refind.efi to see the config files in the first place?
In the iPXE boot loader code generated by your FOG server the config file is being pushed to the client by name. So please open the following URL (http://x.x.x.x/fog/service/ipxe/boot.php?mac=xx:xx:xx:xx:xx:xx - use the actual FOG server IP and client MAC address instead of
x
’s!) in your browser and post the refind part of that here. Should look like this:imgfetch ${boot-url}/service/ipxe/refind.conf chain -ar ${boot-url}/service/ipxe/refind.efi
And secondly, what do I need to set, if any, in the config files to make it see the OS?
Probably best that you post the contents of your config files here as it seems they have been modified a fair bit. But feel free to take a look at the default content of refind.conf that we deliver here: https://github.com/FOGProject/fogproject/blob/master/packages/web/service/ipxe/refind.conf (latest release version 1.5.5)
-
@Sebastian-Roth Thanks for the reply. We have to figure out the user and password for the Ubuntu server so we can edit files, but this is what I found:
In boot.php, these are the lines you mentioned:
choose --default fog.local --timeout 3000 target && goto ${target} :fog.local imgfetch ${boot-url}/service/ipxe/refind.conf chain -ar ${boot-url}/service/ipxe/refind.efi || goto MENU
In our refind.conf, these are all the options (I excluded all white space):
timeout 5 textonly scanfor internal,manual uefi_deep_legacy_scan true scan_delay 2 default_selection Windows menuentry "Windows" { volume 0: ostype: "Windows" loader \EFI\Microsoft\Boot\bootmgfw.efi enabled }
I’ll play around a bit once we get the linux credentials back. Looking forward to your reply.
-
@DarkSwordsman Normally if you schedule a task the boot code received by the client is different than on normal boots. So when you schedule the task and then open the link as mentioned before: http://x.x.x.x/fog/service/ipxe/boot.php?mac=xx:xx:xx:xx:xx:xx - use the actual FOG server IP and client MAC address instead of
x
’s - you should see a very different output compared to when there is no task scheduled for this host.We have to figure out the user and password for the Ubuntu server
https://askubuntu.com/questions/24006/how-do-i-reset-a-lost-administrative-password
-
Hey Guys,
So I was able to experiment a little bit and I realized that, by default, it’s booting using the BIOS option, and not UEFI. I had GRUB_FIRST_HDD set for BIOS and REFIND_EFI set for UEFI, and it used GRUB.
I don’t know if that helps us identify an issue. Also, I am into computers and programming, but this whole DHCP thing and handing out efi binaries just goes over my head. Are there any guides, start to finish, on the process? I tried following the one on your wiki but I just don’t get it.
-
So it appears the following happens:
BIOS types:
- select… - : blinking cursor
SANBOOT : blinking cursor
GRUB : starting c.main()…
GRUB_FIRST_HDD: starting c.main()…
GRUB_FIRST_FOUND_WINDOWS: goes to grub> cli
REFIND: blinking cursor.
Running “geometry (hd0)” when GRUB_FIRST_FOUND_WINDOWS shows the cli gives me:
" drive 0x80(LBA): C/H/S=1023/255/63, Sector Count/Size=16434495/512
Partition num: 0, Filesystem type unknown, partition type 0xEE"UEFI: All of the options lead to blinking cursor.
- select… - : blinking cursor
-
@DarkSwordsman said in Auto Deploy restarts PCs, but boots back into Windows:
UEFI: All of the options lead to blinking cursor.
Have you actually switched to UEFI on the client’s firmware settings when trying those?
-
@Sebastian-Roth It appears the UEFI Network boot selection is not available. Only the PXE option from Legacy works.
Amidst me trying to load different pxe binaries onto the server, I
rm -rf /*
'ed in root, so I destroyed the server by accident. Just made a new one and thankfully I have a PC with the existing image in tact with no modifications.Is there a more in-depth guide to setting iPXE binaries? I was messing around with custom fog.local parameters using all sorts of iPXE commands I found on their site. It’s definitely getting the changes, but I can’t tell if it can’t load the bootloaders or if it the bootloaders can’t find windows.