Welcome >  ADS Administrator's Guide >  Concepts >  Network Boot Services
Microsoft Windows Graphic

Virtual floppy disk overview

Automated Deployment Services (ADS) enables you to create and run a virtual floppy disk image containing MS-DOS-based utilities for hardware or firmware maintenance. With a virtual floppy disk, you can perform various tasks, such as upgrading a device's basic input/output system (BIOS) 

basic input/output system (BIOS)
On x86-based computers, the set of essential software routines that test hardware at startup, start the operating system, and support the transfer of data among hardware devices. The BIOS is stored in read-only memory (ROM) so that it can be executed when you turn on the computer. Although critical to performance, the BIOS is usually invisible to computer users.
or configuring a RAID controller. You cannot run virtual floppy disks on a system that was booted using a remote boot floppy disk, nor can you use a virtual floppy disk to access a device's first floppy disk drive. In addition, you should not use the /pxe/boot-vf boot instruction command within default job templates because the last task performed by every virtual floppy disk is to reboot the device, which causes the device to become stuck in an infinite loop. Virtual floppy disk support in ADS is limited to the virtual floppy disk image Vfloppy.vfi, which contains a subset of MS-DOS version 6.22.

Vfloppy.vfi does not come preconfigured to perform hardware or firmware maintenance tasks. Before you can create your own virtual floppy disk images for use with ADS, you must restore Vfloppy.vfi to a physical floppy disk. You must edit the physical floppy disk by adding any required files and configuring them to support the hardware or firmware maintenance tasks. Restoring Vfloppy.vfi to a floppy disk is the first phase in the virtual floppy disk lifecycle. The virtual floppy disk lifecycle describes the process you must follow to create and use a virtual floppy disk image. The virtual floppy disk lifecycle is illustrated in the following diagram:

Art Image

The edited physical floppy disk, or system disk 

system disk
A disk that contains the MS-DOS system files necessary to start MS-DOS.
, becomes the source file for a new virtual floppy disk image. Later, you can specify the virtual floppy disk image within a task sequence. When the task sequence is executed, the virtual floppy disk image is downloaded onto a device to perform a task, such as upgrading the device's BIOS. The system disk and resulting virtual floppy disk images cannot be larger than 1.44 MB in size, nor can they use more than 548 KB of RAM. For instructions on how to restore Vfloppy.vfi to a physical floppy disk and create a system disk, see To create a system disk from a virtual floppy disk image file.

Vfloppy.vfi includes the following files:

FileDescription
Autoexec.batA special purpose batch file that is automatically run by MS-DOS when the computer is restarted. The file contains basic startup commands that help configure the system to the installed devices and to user preferences.
Command.comThe MS-DOS command interpreter.
Config.sysA special text file that can enable or disable system features, set limits on resources, and load device drivers for hardware specific to the system.
Himem.sysA device driver that provides access to the upper memory area of MS-DOS.
Readme.txtA text file containing the Vfloppy.vfi image's copyright and licensing information.
Vfreboot.comA file that reboots a device after the task has completed. It can send an exit code and up to 4096 bytes of status text from Vfreboot.dat to the Controller service to indicate whether the tasks performed by the virtual floppy disk were successful. Vfreboot.com can report one of the following reserved exit codes:
Exit codeDescription
0The virtual floppy disk successfully performed its assigned tasks.
1The virtual floppy disk feedback contains an invalid exit code. A valid exit code must be 0 or an integer between 100 and 65535.
2The virtual floppy disk feedback contains a reserved exit code. A valid exit code must be 0 or an integer between 100 and 65535. Exit codes from 1 to 99 are reserved by ADS.
3The device failed to download the virtual floppy disk image. Check the task sequence file and make sure that the path and file name of the virtual floppy disk image is correct.
4 through 99Reserved for exclusive use by ADS.
100 through 65535User-defined exit codes indicating an error. Value must be an integer between 100 and 65535.

Editing the virtual floppy disk

Along with adding additional files to the system disk to perform certain tasks on a device, you can use Vfreboot.com to send an exit code and up to 4096 bytes of text from Vfreboot.dat to the Controller. Exit codes are sent by Vfreboot.com at the conclusion of the task performed by the virtual floppy disk to indicate the success or failure of the task. The Controller interprets an exit code of 0 (zero), or the absence of an exit code, as a successful completion of the tasks performed by the virtual floppy disk. In addition, if the virtual floppy disk reboots the device without calling Vfreboot.com, the Controller interprets this as a successful completion of the task. The Controller interprets an exit code between 1 and 65535 as a failure, which terminates the task sequence. Exit codes 1 through 99 are reserved for exclusive use by ADS. If you specify a custom exit code, you must use an integer between 100 and 65535. If you want to send custom status text to the Controller service, you can save the status text in Vfreboot.dat.

Using Vfreboot.com and Vfreboot.dat

To use Vfreboot.com in your virtual floppy disk image, you can edit the Autoexec.bat file included in Vfloppy.vfi, or use Vfreboot.com from a script or another executable. In the Autoexec.bat file, you can use various MS-DOS commands to call Vfreboot.com, send an exit code, and send output to the Vfreboot.dat file.

Vfreboot.com sends the contents of a:\vfreboot.dat to the Controller, where the data is logged in the output. You can view the output in the Job Details dialog box in the ADS Management snap-in. The following example shows one way to edit the Autoexec.bat file. In the example below, if Readme.txt cannot be found, Vfreboot.com sends exit code 101, which indicates an error, and an error message to the Controller. If Readme.txt is present, Vfreboot.com sends exit code 0, which indicates success, and the contents of Readme.txt, to the Controller:

rem Sample of vfreboot.com usage.
rem It is used to send the content of
rem readme.txt file to ADS controller.

set READMEFILE=A:\README.TXT
set VFFEEDBACKDATA=A:\VFREBOOT.DAT
set VFREBOOT=A:\VFREBOOT.COM

if exist %READMEFILE% goto :sendReadmeFile

echo Error: Could not find the readme file>%VFFEEDBACKDATA%
Set ExitCode=101
goto :end

:sendReadmeFile

type %READMEFILE%>%VFFEEDBACKDATA%
Set ExitCode=0

:end

%VFREBOOT% %ExitCode%

Vfreboot.com is always the last command executed in the virtual floppy disk. Vfreboot.com reboots the device so that the Controller can regain control of the device and continue the next task in the task sequence. If the Controller receives an error exit code from Vfreboot.com, it terminates the task sequence.

Creating and storing virtual floppy disk images

Because this edited system disk is the source file for a new virtual floppy disk image, you should run antivirus software to ensure that the system disk, test computer, and the server where you plan to store the virtual floppy disk image do not have a virus. If no viruses are detected, run the system disk on the test computer of comparable type and configuration to the devices where you plan to use the virtual floppy disk, to ensure that the virtual floppy disk functions correctly on the device without requiring keyboard, mouse, or display interaction. It is also recommended that you test any task sequences that use virtual floppy disks on one device before wide deployment within your data center.

After you have tested the system disk and have scanned it for viruses, you are ready to create a new a virtual floppy disk image. For instructions on how to create a virtual floppy disk image, see To capture a system disk to a virtual floppy disk image file.

You should store your virtual floppy disk images in the systemdrive\Program Files\Microsoft ADS\tftproot\ directory on the server hosting Network Boot Services (NBS). You can integrate the virtual floppy disk tasks with the other tasks in the task sequences. Within the task sequence, use the /pxe/boot-vf boot instruction command and provide the relative path and file name, with .vfi extension, of the virtual floppy disk image that the Controller should use. For example:

<command>/pxe/boot-vf</command>
<parameters>
<parameter>"my virtual floppy disk images\my_virtual_floppy_disk.vfi"</parameter>
</parameters>

The path and file name of the virtual floppy disk image specified in task sequence, as in the above example, must be relative to the systemdrive\Program Files\Microsoft ADS\tftproot\ directory. If the path and file name contain spaces or variables, quotation marks are required. For more information about using the /pxe/boot-vf boot instruction command, see /pxe/boot-vf. For more information about how devices interact with NBS and the boot instruction commands, see PXE boot instructions overview.