Booting Disk Images


Pxelinux

The memdisk kernel (C:\PXE\tftpboot\pxelinux.cfg\memdisk ) is used to boot disk images. This section covers PXE booting floppy disk images.

Copy any bootable disk images to C:\PXE\tftpboot\disks\  - for testing purposes try the freedos based ODIN disk (available here - use odin1440.img).

Add an entry for your disk(s) to C:\PXE\tftpboot\pxelinux.cfg\default . E.g. -

LABEL odin
MENU LABEL ODIN
KERNEL /pxelinux.cfg/memdisk
APPEND initrd=/disks/odin1440.img

To boot disk images ensure that C:\PXE\tftpd32\tftpd32.exe has been started, then boot the client PC using PXE boot option.

Grub4dos

The grub4dos PXE boot file grldr can be used to map disk images into RAM as a virtual device (e.g. virtual floppy disk drive - device (fd0)) before booting from them. This section covers PXE booting floppy disk images.

Copy any bootable disk images to C:\PXE\tftpboot\disks\  - for testing purposes try the freedos based ODIN disk (available here - use odin1440.img).

Add an entry for your disk(s) to C:\PXE\tftpboot\menu.lst\default . E.g. -

title Boot Disk Image
map --mem (pd)/disks/odin1440.img (fd0)
map --hook
root (fd0)
chainloader +1

Breaking down these commands line by line, as they would be entered from the command line -

  1. title Boot Disk Image - description for configuration file entry. This would be omitted when using the command line.
  2. map --mem (pd)/disks/odin1440.img (fd0) [enter] - this maps the image file (in this case (pd)/disks/odin1440.img) into RAM as device (fd0).
  3. map --hook [enter] - this command makes the mapping take place immediately. Until map --hook is entered, all map commands are only recognised from the booted operating system. Once map --hook is executed, mappings become "global" - they take effect even within Grub4dos. If the floppy image fails to boot and you are returned to the command line interface (or menu) the mapping will remain in effect until the map --unhook command is issued.
  4. root (fd0) [enter] - this tells grub4dos to make device (fd0) the ROOT device - (fd0) is the (mapped) disk image (see step 2 above).
  5. chainloader +1 [enter] - this tells grub4dos to chainload the first sector of the current ROOT device - as the image file (pd)/disks/odin1440.img has been mapped as (fd0) this will boot the image file.
  6. The boot command will also need to be executed when using the command line.

Grub4dos feedback when entering the above commands from the command line -

grub> map --mem (pd)/disks/odin1440.img (fd0)
FAT12 BPB found with 0xEB (jmp) leading the boot sector.

probed C/H/S =80/2/18, probed total sectors = 2880
.

grub> map --hook

grub> root (fd0)
 Filesystem type is fat, using whole disk

grub> chainloader +1

grub> boot_