Windows 7 image on Hyper-v wont boot from ipxe



  • Hi guys, I did a refresh install of 14.04.1/1.20 today.

    Thought i was on to much of a roll… all my clients boot to ipxe ok … i can upload download images fine… just one machine is giving me an issue… my primary windows image machine (typical).

    It’s a windows 7 image hosted on a Hyper-v r2 server. i get the following error. after some research it seems a few have had this issue.

    Any help or direction would be great. thanks

    [ATTACH=full]1393[/ATTACH]

    [url="/_imported_xf_attachments/1/1393_Untitled.png?:"]Untitled.png[/url]



  • Hi thanks for your help Purpleturtle99! after switch fog to do DHCP i can now boot from LAN thank you!



  • Hi thanks for your reply… Yes its a Legacy NIC on Hyper-v and set to first boot… however my on site DHCP server is serving the dynamic IPs.

    I do get an IP address from my DHCP…it just displays the error in POST #1

    Thanks again for looking at this.



  • Hi Jah, I have been using Hyper-V to do some Win7 64 bit images. You have to have a legacy NIC on the Vm and the boot order in the BIOS must be this legacy NIC. And the Fog server doing the DHCP



  • I guys, can anybody help me on this matter… the odd thing is… i have had it working…(post #10).

    I just don’t understand why i can’t get it working now…i dont want to have to make a physical machine just to do my primary image.



  • Did a fresh reinstall of 14.01.1 today…aswell as fog 1.2.0… commentied the line out of BootMenu.class.php.

    [B][I][SIZE=12px]//print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”[/SIZE][/I][/B]

    [SIZE=12px]s[/SIZE][SIZE=12px]till the same as post #1 nothing to do with having teamed network cards?[/SIZE]

    [SIZE=12px]When i installed fog… i changed from “eth0” to “bond0”[/SIZE]

    [SIZE=12px]all clients boot to ipxe fine… hyper-v boots to ipxe but fails to load the bg. as in post one.[/SIZE]

    [SIZE=12px]i’m stumped.[/SIZE][SIZE=12px] [/SIZE]


  • Senior Developer

    If you want,

    You can try the lastest svn too.

    Since 1.2.0 I’ve learned how to test whether the console part will operate or not and adjust the screen accordingly.



  • Thank you for looking into this.

    And yes sir. [B][I][SIZE=12px]//print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n” [/SIZE][/I][/B][I][SIZE=12px]in place[/SIZE][/I]

    and yes the default file was put back in place.


  • Developer

    Ok, did you comment out this line as you did before?

    [QUOTE][B]//print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”[/B][/QUOTE]

    [QUOTE]sorry, thats a typo on my part…BootMenu.class.php is what was restored. thanks[/QUOTE]
    By restored i’m assuming you put the default menu back in.



  • Hi thanks for your reply… it looks just like it does now in post #1… that’s my hyper-v windows 7 machine… all other physical clients are unaffected

    thanks


  • Developer

    Can you walk us trough exactly what you get now? Does it grab an IP to PXE to, does anything from fog show up, does it retrieve the init.xz or the bzimage file?



  • any recommendations.



  • sorry, thats a typo on my part…BootMenu.class.php is what was restored. thanks


  • Senior Developer

    Did you literally restore the file as menuboot.class.php?

    It’s name should be BootMenu.class.php (case important.)



  • I’m pulling my hair out now, as i had it working!.. i had to do a reinstall of fog as i started to get odd errors… im back to square one again now. Hyper-v wont boot to ipxe… i’ve tried to re enter my settings as in post 9# and after a restart. it nolonger works…

    i’ve restored the menuboot.class.php to the default settings…(as below) any ideas?

    [CODE]

        print "#!ipxe\n";
        print "cpuid --ext 29 && set arch x86_64 || set arch i386\n";
        print "colour --rgb 0xff6600 2\n";
        print "cpair --foreground 7 --background 2 2\n";
        if (substr($_REQUEST['mac'],0,8)=="00:15:5d"){
                        print "# Hyper-V MAC address detected - no console background\n";
                } else  {
                        print "console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n";
        if (!$this->hiddenmenu)
        {
            $showDebug = $_REQUEST["debug"] === "1";
            print ":MENU\n";
            print "menu\n";
    

    [/CODE]



  • Sorry just an update…got this working using the above post#9

    thanks for all your help

    [ATTACH=full]1395[/ATTACH]

    [url="/_imported_xf_attachments/1/1395_Capture.PNG?:"]Capture.PNG[/url]



  • i have this at the momment;

    print “#!ipxe\n”;
    print “cpuid --ext 29 && set arch x86_64 || set arch i386\n”;
    print “colour --rgb 0xff6600 2\n”;
    print “cpair --foreground 7 --background 2 2\n”;
    [B]//print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”;[/B]
    } else {
    if (!$this->hiddenmenu)
    {
    $showDebug = $_REQUEST[“debug”] === “1”;
    print “:MENU\n”;
    print “menu\n”;
    // Checks if the host is registered or not.
    // Displays the Host name if it is, otherwise
    // Tells the user it’s not registered.
    if ($this->Host && $this->Host->isValid()



  • I’ve made the below changes and my hyper-v ipxe is still unable to boot… i also tried to // the line also but it too didn’t have any effect.

    thanks

    ------------OLD-----------

    print “#!ipxe\n”;
    print “cpuid --ext 29 && set arch x86_64 || set arch i386\n”;
    print “colour --rgb 0xff6600 2\n”;
    print “cpair --foreground 7 --background 2 2\n”;
    if (substr($_REQUEST[‘mac’],0,8)==“00:15:5d”){
    print “# Hyper-V MAC address detected - no console background\n”;
    } else {
    print “console --picture $this->booturl/ipxe/bg.png --left 100 --right 80\n”;
    if (!$this->hiddenmenu)
    {
    $showDebug = $_REQUEST[“debug”] === “1”;
    print “:MENU\n”;
    print “menu\n”;
    // Checks if the host is registered or not.
    // Displays the Host name if it is, otherwise
    // Tells the user it’s not registered.
    if ($this->Host && $this->Host->isValid()

    --------------new------------

    print “#!ipxe\n”;
    print “cpuid --ext 29 && set arch x86_64 || set arch i386\n”;
    print “colour --rgb 0xff6600 2\n”;
    print “cpair --foreground 7 --background 2 2\n”;
    if (substr($_REQUEST[‘mac’],0,8)==“00:15:5d”){
    print “# Hyper-V MAC address detected - no console background\n”;
    } else {
    if (!$this->hiddenmenu)
    {
    $showDebug = $_REQUEST[“debug”] === “1”;
    print “:MENU\n”;
    print “menu\n”;
    // Checks if the host is registered or not.
    // Displays the Host name if it is, otherwise
    // Tells the user it’s not registered.
    if ($this->Host && $this->Host->isValid()


  • Developer

    the line with "[COLOR=#007700][I][FONT=monospace]print [/FONT][/I][/COLOR][COLOR=#dd0000][I][FONT=monospace]“console --picture [/FONT][/I][/COLOR][COLOR=#0000bb][I][FONT=monospace]$this[/FONT][/I][/COLOR][COLOR=#007700][I][FONT=monospace]->[/FONT][/I][/COLOR][COLOR=#0000bb][I][FONT=monospace]booturl[/FONT][/I][/COLOR][COLOR=#dd0000][I][FONT=monospace]/ipxe/bg.png[/FONT][/I][/COLOR]” is your problem, it’s trying to bring up a console image, and hyper-v doesn’t seem to work properly for that. if you remove that line entirely, it will probably work for you. though, non of your computers will have the nice pretty boot menu anymore



  • I can’t seem to get this working…


Log in to reply
 

429
Online

39.3k
Users

11.0k
Topics

104.6k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.