ImageDisk Bootable Diskette:

This is a stand-alone PcDOS boot diskette which I have put together for
performing ImageDisk functions on systems without DOS installed on the
hard drive. It's main features are:

 - Selectable support for IDE/SATA ATAPI CD/DVD
 - Selectable support for USB mass storage devices
 - Loadable RAMdisk for non-intrusive working storage
 - Essential commands and utilities.
 - Tools to get data ON/OFF the system via Network, Serial (COM)
   or Parallel (LPT) connections.

This utility diskette can be used as a directly bootable diskette, or as
a floppy-boot image for a bootable CD (I use "MagicISO" to place this and
several other useful bootable floppies onto a single CD).


File provided in this archive:

    BOOTIMD.BIN Binary image of boot diskette
    XDISK.COM   Utility to read/write physical diskette to/from binary image
    DSKIMG.EXE  Utility to extract individual files from the image.
    *.TXT       Additional documentation on commands/utilities.


Creating the disk:

    You can use the provided XDISK.COM utility to create the disk (use
    a standard 1.44M 3.5" floppy):
    For DOS & Win9X:
        XDISK -W -F A: BOOTIMD.BIN
    For WINNT/2K/XP:
        Format disk in windows (do full format)
        XDISK -W A: BOOTIMD.BIN
    For 64-bit windows
        XDISK is not supported - you will have to use a windows native
        program such as "WIMIMAGE".
    Once you have created the disk, it is recommended that you slide the
    WRITE-PROTECT notch to the "PROTECTED" position - this software does
    not require write access to the disk.

Content of boot diskette root:

    IBMBIO.COM      PcDOS - system file (hidden)
    IBMDOS.COM      PcDOS - system file (hidden)
    COMMAND.COM     PcDOS - command interpreter
    CONFIG.SYS      System configuration (has startup menu)
    AUTOEXEC.BAT    System configuration
    HIMEM.SYS       IBM DOS - high memory driver
    UIDEJR.SYS      IDE/SATA ATAPI CD/DVD driver
    USBASPI.SYS     USB to ASPI device driver
    DI1000DD.SYS    ASPI mass-storage driver
    SHSUCDX.COM     CD/DVD file system driver
    XMSDSK.EXE      Dynamically loadable RAMdisk
    MINSTALL.EXE    Menu install utility
    PKTDRV.EXE      Packet driver install utility
    ODIDRV.EXE      ODI Drivers+ODIPKT shim to support mode network cards


When you boot the disk, you will first be greeted with a CONFIG.SYS
startup menu, from this menu you can select if you wish to load CD/DVD
and/or USB mass storage drivers:

    1. No additional drivers
    2. CD/DVD
    3. USB mass-storage
    4. CD/DVD + USB mass-storage

Then, DOS and the selected drivers load and MINSTALL runs. MINSTALL shows
you the packages which are available to install, with an indicator:

    '+' means the whole package will be installed.
    '-' means some of the files in the package will be installed.
    <blank> means none of the files in the package will be installed.

Use the cursor keys to hilight a package, and press F1 to select all files
within it, F2 to deselect all files within it, or ENTER to bring up a menu
of individual files in the package. When you have finished, press F10 to
continue.

MINSTALL now presents you with a RAMdisk size - you can modify the size using
the keys indicated. When you are ready, press F10 - MINSTALL will create a
RAMdisk and unpack the selected files onto it.

The following packages/files are available from MINSTALL:

---- "Standard DOS commands" ----

    ATTRIB.COM      Display/change file attributes
    CHKDSK.COM      Check/Repair a disk structure
    DEBUG.COM       System Debugger
    DELTREE.EXE     Remove directory tree
    FC.EXE          Compare two files
    FIND.COM        Search for a text string(s) in file(s)
    MEM.EXE         Display system memory use
    MODE.COM        Configure system devices
    MORE.COM        Paginate output
    MOVE.EXE        Move/Rename files/directories
    SUBST.EXE       Associate path to drive letter
    TREE.COM        Display directory structure
    XCOPY.COM       Enhanced COPY command

---- "Misc. general utilities" ----

    EDT.EXE         Text editor
    UNZIP.EXE       Unpack .ZIP archives

---- "Data transfer utilities" ----

    DDLINK.COM      Transfer via COM, LPT or NETwork
    PC100.COM       Serial terminal, XMODEM & ASCII transfers
    XMODEM.COM      XMODEM module for PC100 (can use stand-alone)

---- "Networking utilities" ----

    DHCP.COM        Dynamic Host Configuration for FTP
    FTP.EXE         File Transfer Protocol client
    PCINIC.COM      Utility to "find" PCI network cards
    PCINIC.DAT      Database of vendors/devices for PCINIC
    TFTP.COM        Trivial File Transfer Protocol client/server
    WATTCP.CFG      Configuration file for FTP

---- "ImageDisk Tools" ----

    IMD.COM         ImageDisk main program
    IMDA.COM        ImageDisk Analyzer
    IMDU.COM        ImageDisk Utility
    IMDV.COM        ImageDisk Viewer
    TESTFDC.COM     Test Floppy Disk Controller

DDLINK, DHCP, FTP and TFTP access the network via a "packet driver" which
is specific to your network card. I have provided a collection of over 100
different packet drivers which cover most common NICs (and a few uncommon
ones) in PKTDRV.EXE - See PKTDRV.TXT

Most of the commands are fairly self explainatory, and many of them can be
requested to provide a summary of usage, try:

  <command>            <= No arguments
  <command> ?
  <command> /?
  <command> /H

I have provided additional documentation for some of the more complex commands
in the .TXT files included in this archive. NOTE: In many (most) cases I've
trimmed the packages to reduce size - the documents may reference files which
are not present on this disk, however you can obtain these from the original
archives.


Transferring data:

One of the hardest things about recovering a system is that it can be very
difficult to get files on and off a modern system when a network capable OS
is not running. Here are a few ideas on ways to move data around:

- If you system has a FAT16 or FAT32 partition, you should be able to read
  and write it from PcDOS7. You may also be able to use the NTFSDOS utility
  to gain read-only access to an NTFS partiion on your system.

- Put the data on a USB drive, and boot with USB mass storage support.
  This works on a LOT of PC chipsets, but unfortinately not all of them.
  NOTE: USB drive should be connected when the system boots.

- Burn the data to a CD/DVD, and boot with CD/DVD support
  + This can be slightly tricky if you have booted from a CD because your
    boot disk is on the CD. As long as you have copied the commands you
    wish to use to a RAMdisk you should be OK.
  + You may wish to take A:\ out of your PATH to avoid disk errors when
    you enter unrecognized commands.
  + When you re-insert the boot CD, you may need to enter Control-C at
    the DOS prompt to get it to properly reload the drive.
  + NOTE: If your system has a SATA CD/DVD drive, then you may need to
    go into BIOS setup and configure it for IDE emulation mode.

- Network: Getting the network working can be tricky.
  + I've provided PCINIC, a small scanner to find PCI ethernet card Type,
    Address and Irq - just run 'PCINIC' to see if it finds your card.
  + Use PKTDRV/ODIDRV to extract the appropriate packet driver for your nic.
    NOTE: Due to the large size of these programs, I do not install them to
          the RAMdisk - run them directly from the boot floppy: A:PKTDRV
  + Install the packet driver:
    + Normally you have to specify the packet software interrupt (0x60)
      eg: driver_name 0x60
    + You may also have to specify the hardware interrupt and I/O address
      eg: NE2000 0x60 11 0x6C00   (NE2000 nic, interrupt 11 address 6C00)
    Run the driver with no arguments to see the expected syntax.
  + If you can't get your mainboard network interface to work, consider
    putting in a PCI card - I keep a few NE2000 compatible PCI nics for
    this purpose.

  If you can get a packet driver working, then you can perform standard
  IP networking with:
    TFTP as either a client or server.
    + You can use SWSVPKT or DOSBOX to run TFTP (client or server) in
      windows - See the "WINDOWS" section of DDLINK.TXT for details.
    + For a native windows TFTP server, try "pumpkin".
    FTP as a client.

  You can also use DDLINK which is a little nicer because it gives a split
  screen menu interface and can copy entire directory subtrees. But it needs
  a DDLINK server running on the remote system (or on the local system with
  a client on the remote) - see DDLINK.TXT for details.

- If the system has a real LPT or COM port (not USB devices), then you
  can use DDLINK. This can be tricky as you will need a system running
  DOS or Win9x to host DDLINK on the other end (COM may work with 2K/XP,
  but slowly). You may be able to boot this disk on another system and
  access data as described above.
  NOTE: When you have a choice - LPT is much faster than COM

- If none of the above can be made to work, then your "last resort" is
  to format a hard drive with FAT16 or FAT32 and attach it to the system.
  Many systems have the CD driver on a separate interface, which makes
  it a good cable to attach a slave hard drive.


Credits:

PcDOS files were extracted from "IBM ServerGuide Scripting Toolkit" which
is available (free) from: http://www-03.ibm.com/systems/management/sgstk/

Many of the packet drivers installed by PKTDRV.EXE are from Russ Nelsons
"crynwar" packet driver collection - the full collection and packet driver
documentation is available (free) from: www.crynwar.com

UIDEJR, SHSUCDX, USPASPI, DI1000DD, XMSDSK, DOSLFN, NTFSDOS and HTGET are
all from packages available (free) via the internet. Search for these terms
to find the original distributions.

