First post, by LSS10999
Recently I've been experimenting with IBM PC-DOS 7.1 which was part of the IBM ServerGuide Scripting Toolkit.
The information I could find online is rather limited, but I'm able to get it booted on a large FAT32 partition. I've put the sections into spoiler blocks for better readability.
PC-DOS 7.1 was never released as a complete system but some of its functionalities were included as part of the IBM ServerGuide Scripting Toolkit. The latest DOS Edition version I could find is 1.3.07.
It seems something regarding authentication has changed on IBM's FTP servers so it cannot be obtained directly from IBM now, but you may find some other places that still have it available for download.
Here's a download link from Lenovo download server that's still accessible.
All files directly related to PC-DOS 7.1 reside in "sgdeploy\sgtk\DOS". However, its SYS.COM is actually the one from PC-DOS 2000 (7.0), which is incompatible with PC-DOS 7.1.
You can find some bootable image examples in "sgdeploy\sgtk\ads\images" which can be used as a base to make your own PC-DOS 7.1 boot floppy, such as "tk_raid.vfd". The VFD files can be handled the same way as other IMG images. Mounting and editing the image in Linux is pretty straightforward using "mount" (and "umount" once you've done editing). For Windows, you can disk image editors such as WinImage, or floppy emulators that can directly mount the image for editing.
After mounting the image, delete all other files except IBMBIO.COM, IBMDOS.COM and COMMAND.COM, then put the files you want, and customize CONFIG.SYS and AUTOEXEC.BAT to your liking. Unmount the image once you're done.
As long as you leave IBMBIO.COM, IBMDOS.COM and COMMAND.COM untouched, the image should remain bootable.
It is also possible to "install" PC-DOS 7.1 to a hard disk and make it bootable. However, without a usable SYS.COM it can be a bit tricky to get the disk prepared.
PC-DOS 7.1 is entirely capable of booting from a FAT32/LBA partition (larger than 1024 cylinders). A disk can be made bootable to PC-DOS 7.1 using the following steps, using mainly the DOS utilities included in the ServerGuide Scripting Toolkit.
The instructions assume disk 1 and drive C:.
1. Prepare a PC-DOS 7.1 boot floppy containing necessary utilities, particularly FORMAT32.COM and FDISK32.COM.
2*. Write a new master boot record with FDISK32: "FDISK32 1 /MBR"
3. Create a primary partition with FDISK32: "FDISK32 1 /PRI:xxx" (xxx is the size you want for the primary partition)
4. You can use FDISK32 to create extended or logical partitions if desired, though it's better to do this later with a more convenient tool.
5. Reboot, keep the boot floppy inserted.
6**. Format the created partition (C:) to FAT32: "FORMAT32 C: /Q /V:xxxx". (xxxx is the volume label. /V can be omitted if you don't need a label)
-- Depending on your preference or circumstances, you need to do either step 7A or 7B. --
7A. Format the partition again, this time add /S to transfer system files: "FORMAT32 C: /Q /S /V:xxxx" (xxxx is the volume label. Same as previous step.)
7B***. Copy the core system files to C: using XCOPY in the following order: IBMBIO.COM, IBMDOS.COM, COMMAND.COM.
8. If desired, add +S +H +R attributes to IBMBIO.COM and IBMDOS.COM afterwards.
9. Copy other utilities to C: and modify CONFIG.SYS and AUTOEXEC.BAT if needed. Normally these utilities reside in C:\DOS, but you can use another directory, just make sure your PATH environment variables match.
10. After you've done modifying the configurations, remove the floppy and reboot. If nothing done wrong you should be able to boot to the installed PC-DOS 7.1 instance.
* You may skip this step if the disk does not yet have a MBR, as a correct one will be written when you create the partitions. If the disk has already been prepared by another tool, such as GParted, then this step is REQUIRED, even if there were no partitions present, or the disk will not boot. Additionally, this step must be done prior to all future FORMAT32 commands, or you'll get a "Boot failure" error.
If the partition has already been formatted to FAT32 before, you can skip step 6 and do only step 7A. You only need to format the partition twice (doing both steps 6 and 7A) if it's not already formatted, as the /S argument in FORMAT32 has a bug which would cause the format process to fail due to "Invalid media" error if the disk was previously unformatted. Additionally, the /S argument requires /Q. If FORMAT32 is run with only /S, it will give you a warning and proceeds as if /Q has been specified.
** UPDATE: After some testing, it seems step 6 is REQUIRED, regardless of whether the partition was previously formatted or not. I don't know why, but FORMAT32 would surely fail to transfer system files on first format. Only after doing a second format would the system files get transferred. Also, for some reasons, PC-DOS FORMAT32 would only format 8GB of the partition size, if it's larger than that. It is ADVISED to do use a partitioning tool such as GParted to perform a fsck and grow the partition to the right size afterwards.
*** Step 6 is required if you choose to perform step 7B, as PC-DOS 7.1 boot record expects the core system files to be the first few entries in the filesystem. Make sure these files are copied first and in correct order, before copying other files into the partition. Otherwise, the system will not boot and you'll have to redo steps 6 and 7B.
You can upgrade your existing PC-DOS 2000 install into PC-DOS 7.1 by replacing core system files and utilities with the new ones from the ServerGuide Scripting Toolkit, similar to the guides in VirtualBox forums. Make sure you overwrite the core system files (IBMBIO.COM, IBMDOS.COM and COMMAND.COM) with the new ones. If you need to back up these files, DO NOT RENAME THEM. Instead, use COPY to make a backup copy somewhere.
Should note that upgrading to PC-DOS 7.1 from PC-DOS 2000 will not permit you to use FAT32 for the system partition. If you try to convert the system partition to FAT32, the system will cease to boot.
On the other hand, if you find your hard disk being detected by BIOS as only 8.4GB (8GiB), chances are you need to delete and recreate your extended partition (which is most likely type 05H), as some BIOSes default to use CHS if such an extended partition is detected, to avoid issues with old OSes that predate LBA support. If you need to keep the existing extended partition, converting it to type 0FH (can be done by adding the "lba" flag with GParted) should be enough make BIOS detect the actual size via LBA.
Most PC-DOS 2000 programs should still work on PC-DOS 7.1 unless it checks for DOS versions. You can simply bring in all the existing PC-DOS 2000 program files, CONFIG.SYS and AUTOEXEC.BAT, and in most cases everything will load just fine, including DOS Shell.
For programs that no longer work on PC-DOS 7.1 (incorrect DOS version, or not FAT32/LBA-aware/safe), you can always consider using the ones (or alternatives) from recent FreeDOS releases, which should be more compatible with modern system configurations.
PC-DOS 7.1 can correctly detect all hard drives installed on the system just like MS-DOS 7/8, whereas ROM-DOS 7.10 SUV may not, from what I've tested. However, I haven't tested whether or not it really supports 48-bit LBA, so care must be taken when reading/writing past 128GiB (137GB) for now.
It seems PC-DOS 7.1 has some issues with running Windows 3.x according to some other threads here. Given my system has too much RAM for Win3.x to run I don't think I would be able to really test this.
Additionally, if considering using FreeDOS' FDAPM utility, using ADV:REG instead of APMDOS is recommended. It appears FDAPM APMDOS (by default equivalent to ADV:MAX) can lead to noticeable slowdowns of certain functions when used with non-FreeDOS kernels. In PC-DOS 7.1's case, a noticeable slowdown can be observed when doing DIR /W.
PC-DOS 7.1 included a BLDLEVEL utility that can retrieve build information embedded in some of its program files. Such build information exists only in PC-DOS 7.1 files and not others. Even PC-DOS 2000 program files do not include such info.
Additionally, the MAKEBOOT.BAT has a mention about a "FAT32B.DSK" image, which was never seen in public. Not sure if that image in question ever existed, or it was merely a placeholder.
Previously, I used Norton/PowerQuest PartitionMagic to prepare the disk with the FAT32/LBA partition that I intend to boot PC-DOS 7.1 with, and it worked. However, when I recently experimented with dumping the boot sector, I noticed that the boot sector created by PartitionMagic contains the string for Win9x ("MSWIN4.1"). I later reformatted the test partition on the VM with FORMAT32 /Q /S, and this time, the boot sector reads "IBM 7.1". Both boot sectors can boot PC-DOS 7.1 just fine, since the rest of the boot code (presumably written by FORMAT32) is the same according to VBINDIFF.
(NOTE: Need to use DEBUG from PC-DOS 7.1 or FreeDOS, the one from PC-DOS does not work correctly: will generate an error and dump incorrect stuffs.)