1

I have been working these days in deploying a iPXE server. I have made entries to several Linux distributions with no problem. Then, I started to add entries for Windows ISOs for Windows Installation of Windws 7/8/10. Initially it worked for some of them, and I added a lot of entries, one for each Windows ISO I have. I have been fighting with this problem for some days, searching in Google a lot, but I don't arrive to configure properly. I mainly followed, first for the ipxe server, this guide, and then for Windows entries, two guides:this one and this other one. The problem started to appear at the moment the install.bat runs and the computer shuts down. Then I commented out the install.bat and winpeshl.ini from my first entry, and now I can use the command line of WinPE. Let me show you my first entry of Windows, the one I'm testing with:

:0301
kernel http://${server_ip}/windows/wimboot                      gui
#initrd http://${server_ip}/win/0301/install.bat                install.bat
#initrd http://${server_ip}/win/0301/winpeshl.ini               winpeshl.ini
initrd http://${server_ip}/Fr-pxe/0301/boot/bcd                 BCD
initrd http://${server_ip}/Fr-pxe/0301/boot/boot.sdi            boot.sdi
initrd http://${server_ip}/windows/boot.wim                     boot.wim
boot

boot.wim has been created following the steps on the (rpi4cluster.com) guide in this section and adding the Windows 8 network drivers for my (Gigabyte) Motherboard. By the way, the boot.wim doesn't come from the Windows ISO, but from ADK/ADKWinPE as stated by the guide. So, I see the menu with all the Linux/Windows entries, and then I choose The first Windows entry (0301), and then it loads ok - the four files you see in the entry are successfully downloaded. So I arrive to the WinPE command line, and I can enter commands. Before, in the install.bat, I typed the commands as follow:

wpeinit
net use \\192.168.1.2\Fr-pxe\0301\
\\192.168.1.2\Fr-pxe\0301\setup.exe

And I'm almost sure it worked some time, but now it doesn't work. So now I'm trying with the command line myself. And when I enter the net use command, I get a system error 67 has occurred error. I have tried different ways, like:

net use * \\192.168.1.2\Fr-pxe\ /user:borhacker *

or:

net use * \\192.168.1.2\Fr-pxe\ /user:WORKGROUP\borhacker *

or even:

net use * \\192.168.1.2\Fr-pxe\ /user:192.168.1.2\borhacker

and all them make the error system error 67 has occurred appear. I have tried to ping my Samba server, like this:

ping 192.168.1.2

and the 4 times it succeed. I have made ipconfig and (I don't have the text or photos but) I have an IP address in the same subnet as the SAMBA server and the same subnet mask, and also default gateway correctly configured. I don't really know how to continue, and all the guides/forum questions I see, they seem to succeed with the commands I'm trying, but I don't.

If someone can give me advice on how to resolve this situation, I'd really appreciate it.

I forgot to make clear my home installation, so I will finish my post with the technical information. I have the following hosts (related to this) in my home LAN:

  • The main (Movistar) router/gateway - IP 192.168.1.3 - with DHCP deactivated, because I wanted to use the next item as DHCP/BOOTP server.
  • a Tp-Link Router with OpenWRT installed - IP 192.168.1.8 - acting as DHCP/BOOTP server. I had to fight with some problems related with the options I needed in the BOOTP part, and someone helped me in OpenWRT forum. The BOOTP part points to the next item - 192.168.1.2 and firmware file ipxe.pxe or ipxe.efi, depending on the architecture of the PXE client.
  • an Ubuntu server 22.04.1, recently fresh installed to upgrade to the latest version. It includes: ZFS pool with 8TB; SAMBA server, version Installed: 2:4.15.9+dfsg-0ubuntu0.2. NFS server configured for the Linux entries. HTTP server configured for iPXE too. TFTP server. Transmission client. TFTP server and HTTP server root directories match being /free/pxe/. NFS server has an export, also /free/pxe/. /free/ is the mountpoint to the ZFS pool named free. In /free/fr/ I have several subdirectories, one for each SAMBA share. One of them is Fr-pxe, in /free/fr/pxe/, including all the extracted Windows ISOs, in directories following a personal naming convention - 0301 is the first of Windows 7 ISOs. inside /free/pxe there is a symlink (soft) to /free/fr/pxe/, in case I need to access to the contents of the ISOs from the TFTP/HTTP/NFS directory.
  • I have a desktop computer, call it TACENS, the main computer I work in, with Windows 10. All errors i described were occurring in this computer booting PXE. It has a Gigabyte Motherboard H81M-S2PH. Nothing more special.
  • I have also a laptop, call it PORTEGE, a Toshiba Portege R600, which I have Lubuntu 22 installed. I usually test with TACENS, because I have the Windows 8 network drivers and I can be sure the drivers are not a problem.
2
  • Not a complain, but: I'm not having answers because of some error in my question, or because it's difficult to know the answer? Is it a strange error? Does anybody know? Thanks
    – Free
    Nov 25, 2022 at 18:05
  • Not relevant to your issue, but you can skip the bcd and boot.sdi lines, recent wimboot finds those files from your boot.wim, so no need to supply them.
    – NiKiZe
    Mar 5, 2023 at 15:19

1 Answer 1

1

I resolved the problem myself. I discovered that, for example:

net use Z: \\192.168.1.2\Fr-pxe\

wasn't right because of the backslash at the end. But this works ok:

net use Z: \\192.168.1.2\Fr-pxe

also, to automate the install of each Windows installation version, I created install.bat files for each entry of the iPXE menu, with content similar to this:

wpeinit
net use Z: \\192.168.1.2\Fr-pxe /user:WORKGROUP\mysambausername mysambapassword
\\192.168.1.2\Fr-pxe\0301\setup.exe

note the "WORKGROUP" - it is important, I don't know why, and I think any string is valid, but just this doesn't work:

wpeinit
net use Z: \\192.168.1.2\Fr-pxe /user:mysambausername mysambapassword
\\192.168.1.2\Fr-pxe\0301\setup.exe

There is also something important: If you create iPXE entries for Windows installation of versions x86, you have to use a boot.wim file (from WinPE always), version x86. For example, in this guide, you can do the steps mentioned, once for x86, and once for amd64. The following commands create respective versions for x86 and x64:

copype x86 C:\WinPEx86

copype amd64 C:\WinPEamd64

Inside the created directories you will have boot.wim file, BCD file and bcd.sdi file.

You have to use the versions of these three files which come from the x86 or amd64 version, respectively. Also note that mixed Windows ISOs (x86/x64) will need the x86 version.

The wimboot file is always the same - you don't need different versions.

1
  • As mentioned in comment above boot.sdi and BCD is not needed. Win 10 does not allow for anonymous SMB access so you always needs username and password. Work in progress, but might be helpful is github.com/NiKiZe/wimboot-install
    – NiKiZe
    Mar 5, 2023 at 15:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .