Hello fellow programmers,
I am fiddling a little bit with building a bootable USB image with DOS
on it. So far I learned that there are 3 modes of USB booting:
* USB-HDD: the most common it seems, where the BIOS uses USB storage to emulate a normal hard disk (DL=0x80 at boot time). The USB drive must
have a proper MBR for this to work, once booted under DOS the drive
appears as "C:". I was able to test this one on my laptop and it works.
* USB-FDD: as far as I understand, this works by simply writing a floppy image to the USB device, ie. no MBR, only the FAT12 fs is present on
the USB drive. Some obscure sources say that for this mode to work, the
USB drive should present itself with a name that hints as a floppy
vendor... I don't have any way of testing this so I can only wonder.
* USB-ZIP: emulated ZIP-100 or ZIP-250 drive. Requires a specially
crafted MBR where only partition 4 is being used and its CHS geometry
must mimic an actual ZIP drive (64 heads, 32 sectors, 96 cylinders). It
would seem (?) that in this mode, the BIOS skips the MBR bootstrap and
loads the VBR right away. Once booted to DOS, the drive is epxected to
appear as "A:" (ie. DL=0).
Now my problem is much more practical: none of the PCs I have support
booting in either USB-ZIP nor USB-FDD modes, so I wonder how I could
test it.
Any idea how these modes (esp. USB-ZIP, as that's the one I am most interested in) could be tested in a virtualized environment? I have read
the QEMU manual but did not find anything that would hint at QEMU
providing support for such USB booting. Did anyone here investigate
this subject in the past already? Any hints welcome!
Mateusz
Hello fellow programmers,
I am fiddling a little bit with building a bootable USB image with DOS
on it. So far I learned that there are 3 modes of USB booting:
* USB-HDD: the most common it seems, where the BIOS uses USB storage
to emulate a normal hard disk (DL=0x80 at boot time). The USB drive
must have a proper MBR for this to work, once booted under DOS the
drive appears as "C:". I was able to test this one on my laptop and
it works.
* USB-FDD: as far as I understand, this works by simply writing a
floppy image to the USB device, ie. no MBR, only the FAT12 fs is
present on the USB drive. Some obscure sources say that for this mode
to work, the USB drive should present itself with a name that hints
as a floppy vendor... I don't have any way of testing this so I can
only wonder.
* USB-ZIP: emulated ZIP-100 or ZIP-250 drive. Requires a specially
crafted MBR where only partition 4 is being used and its CHS geometry
must mimic an actual ZIP drive (64 heads, 32 sectors, 96 cylinders).
It would seem (?) that in this mode, the BIOS skips the MBR bootstrap
and loads the VBR right away. Once booted to DOS, the drive is
epxected to appear as "A:" (ie. DL=0).
Now my problem is much more practical: none of the PCs I have support
booting in either USB-ZIP nor USB-FDD modes, so I wonder how I could
test it.
Any idea how these modes (esp. USB-ZIP, as that's the one I am most interested in) could be tested in a virtualized environment? I have
read the QEMU manual but did not find anything that would hint at QEMU providing support for such USB booting. Did anyone here investigate
this subject in the past already? Any hints welcome!
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 415 |
Nodes: | 16 (2 / 14) |
Uptime: | 00:23:13 |
Calls: | 8,711 |
Files: | 13,270 |
Messages: | 5,952,769 |