6

I have an old PHILIPS P3120 that runs a custom operating system (DOS type) from a floppy drive.
I wanted to make a backup, so I found a Windows 7 PC with a floppy drive and I copied the files from floppy to a USB drive.
The diskette stopped booting. I get "Non-system disk or disk error".

I suspect that there is another partition in the diskette (as boot partition) and when I put it in a modern Windows PC something happened, and I cannot boot anymore.

I ask for help from elders like me!

6
  • 7
    Do you mean to say that the source (original) floppy that you inserted in Windows 7 PC now no longer boots on that Philips PC? Is that what you are trying to find solution for?
    – rajeev
    Oct 21, 2022 at 16:14
  • A shareware tool called "WinImage" might help you. In general you've got already good answers so I won't add one. The "Non-system disk or error" message can come from code on the floppy, or code in your BIOS/UEFI. Using most hex editors on the market, you can open the floppy MBR to have a look [and post another question, with the first 512 bytes of your floppy]. Oct 22, 2022 at 2:30
  • Considering they literally don't make new floppies any more, and the diskette's ... probably irreplaceable, using a tool to make an image of the original disk for archival purposes feels like an excellent idea
    – Journeyman Geek
    Oct 23, 2022 at 4:56
  • 2
    Be aware of retrocomputing.stackexchange.com if you mess around with 1980s computers. Oct 23, 2022 at 19:20
  • 1
    And your question is: "What mistake did I make?", or what?
    – U. Windl
    Oct 24, 2022 at 9:01

5 Answers 5

18

I suspect that there is another partition in diskette (as boot partition)

There are no partitions on the floppy, but a floppy can contain a boot sector and a reserved area. You need to copy that, too.

I copied the files from floppy to a usb drive

Don't copy the files, copy the whole floppy. That's the only way to ensure whatever variant of DOS is on the original disk also ends up on the second disk.

See e.g. here how to do that.


If the original disk now stopped booting, then the next question is how important the system is to you. If it is very important, don't touch the disk again until you figure out what is wrong, and possibly get help from someone who knows what he is doing.

If it is not so important, the next step is to inspect all the sectors on the USB drive (there are tools for that), and see if they are still good at least on that drive.

Also, edit your question with more information about the disk - is the floppy itself double density or high density? I assume 3.5" if you have an USB drive for it?

If your USB drive wrote any kind of information to the original disk (e.g. time stamps) while copying, there are various things that could have happened (misaligned head, write on HD drive, while DD drive tries to read, and cannot because of different head width).

3
  • Thanks for the answer. How do you explain that it doesn't boot anymore? Do you think that I messed up? (I didn't delete anything)
    – Dimitris
    Oct 21, 2022 at 15:47
  • 3
    Very old hardware may become fragile over the years, even if unused.
    – harrymc
    Oct 21, 2022 at 16:14
  • 9
    The fact the the disk doesn't boot anymore may be due to age, e.g. the disk surface being fragile. But many times I find Microsoft stuff to be very "helpful", e.g. automatically removing "dangerous" things, and even more of this comes with antivirus software. e.g. Just yesterday a virtual machine with W10 had just updated the Antivirus software, then the HOST OS Antivirus QUARANTINED part of the *.vmdsk (one of a set of files!)
    – Hannu
    Oct 21, 2022 at 17:39
7

Backups of bootable floppy disks should be done by imaging the entire disk (creating what is essentially an .iso file...minus the ISO9660 part) – RawWrite was a popular Windows tool in the past. If you can boot Linux on the PC, cp or dd or ddrescue would work (there's a version of dd for Windows as well).

Before UEFI, a critical part of making a bootable disk wasn't actually any specific file nor any specific partition – it was a "boot sector" that existed outside any partitions. Specifically sector 0 of the disk (known as the MBR) holds the initial boot code of any BIOS-compatible disk and is not visible as a file – it must be copied sector-by-sector, e.g. using disk imaging tools.

(Those "NTLDR" or "BOOTMGR" files that you might've seen on Windows disks – or the equivalent "IO.SYS" on MS-DOS – aren't the MBR; they're the 3rd stage after the MBR and VBR. Only UEFI brought to PCs the practice of having the system firmware directly load a specific file.)

Typically the only task of the MBR is to jump to a specific partition's "volume boot record" (VBR), which also is almost never visible as an actual file but must be copied sector-wise. But there are exceptions to this, e.g. GRUB doesn't go in the VBR. Floppy disks (being unpartitioned), are also different; their sector 0 directly holds the specific boot code.

So for some disks you may be able to write a generic MBR (and VBR where applicable), e.g. using the MS-DOS sys command (the .SYS and .COM files look extremely like MS-DOS), but that's not guaranteed to work even if you use the correct version.1

You'd also need to make sure that the new disk is formatted in the correct file system; a boot sector that understands how to boot from a FAT12 disk will not necessarily understand FAT16 or FAT32, much less NTFS or exFAT. (And if the boot sector does, the booted OS may still not – you can't boot MS-DOS from an exFAT filesystem without major hacks.)

So in short, it'll be easiest to just create a whole-disk image and write it to the USB stick. (Once you have the .img file, you can also give it to any VM software to use as a virtual floppy disk.)

This also leaves out the fact that even if you create a perfect backup on a USB stick, modern-day PCs might not even support the BIOS-style boot process anymore or at least have it disabled by default (the "CSM" option in firmware settings).


1 (Side note: For modern Windows systems, bootsect is the similar command – making a BIOS-bootable Windows installation USB stick involves copying the files and writing a standard Windows MBR & VBR using bootsect.)

3
  • Thanks for the reply. I will try to copy the whole floppy as image as you suggested. How do you explain that the floppy doesn't boot anymore from the moment I put it on a modern PC?
    – Dimitris
    Oct 21, 2022 at 16:15
  • @Dimitris The original floppy or the copy/image you've made? If the former then I'm afraid it's now corrupt and beyond repair and that happened - as it does so many times - just by using it due to its age and fragility Oct 21, 2022 at 16:36
  • Be aware that there are disk low-level formats (eg from old Apple or Commodore machines) which a standard PC floppy drive with a standard PC controller simply CANNOT read or write, especially in the 5.25" domain. Be aware there are physical types of floppy disks (hard sectored) that a PC drive physically cannot handle. Be aware that while you can write DD (360KB) disks with many HD (1.2MB) PC drives, or even format HD media as DD, and they will work fine with MOST drives, disks written that way will not read in ALL drives. Oct 23, 2022 at 19:28
4

How to create a bootable floppy in old MS-DOS

Ref: https://kb.iu.edu/d/adav

From the DOS prompt of the actual DOS, or a compatible one:

c:\> format a: /s - would format the disk (=erase its content) in a: AND then write the info required to boot the computer on to it. This normally adds a few files, but also a boot sector; exactly WHAT is added depends on the VERSION of your "DOS".

If you forgot to add /s, then a
C:\> sys a:
would correct your mistake; not erase anything except possibly replace the files required for booting, and the boot sector.
i.e. the SYS command will not erase any USER data on the floppy disk.


More info, copied from the ref
The sys command creates a bootable floppy disk by copying the  
msdos.sys, io.sys, and command.com files to the floppy disk.  

To create a diskette you can use to boot the computer in case of an emergency,  
copy the following files onto the floppy from c:\dos (or c:\windows\command in  
the case of Windows 95):

  format.exe
  sys.com
  fdisk.exe
  himem.sys
  emm386.exe
  edit.com (MS-DOS 6.x) or
  edit.exe (Windows 95)
  bootdisk.com

If you have a version of DOS earlier than 6.0, you should also obtain a small  
text editor and put it on the diskette. Several such editors are available  
from:

  http://www.winsite.com/

On this emergency diskette, create files called autoexec.bat and config.sys  
with the following contents:

    autoexec.bat:

      echo off
      prompt $p$g

    config.sys:

      device=himem.sys
      device=emm386.exe /noems
      dos=high

You should make the emergency disk on the same computer it may be used on.  
This will avoid any problems caused by booting the computer with a version of  
DOS different from the version on the hard drive. In addition, you should scan  
for viruses before creating the diskette.  

Text from my comment on another answer, copied here, slightly clarified:

The fact the the disk doesn't boot anymore may be due to age, e.g. the disk surface being fragile.
But also; many times I find Microsoft stuff to be very "helpful", e.g. automatically removing "dangerous" things, and even more of this comes with antivirus software. e.g. Just yesterday a virtual machine with W10 had just updated the Antivirus software, then the HOST OS Antivirus QUARANTINED part of the *.vmdsk (one of a set of files that contains the guest OS HDD!)

2
  • 1
    Thank you for the reply. I want to clarify some things. I have the original floppy (5 1/4 diskette). Until yesterday this boot successfully to an old computer. Today I put it in a modern pc with floppy drive and I copied the files I showed in File explorer. Then the diskette stopped to boot in old computer. If I follow your suggestion, you think I will resurrect the diskette? Is it needed only the command "sys a:" or "format a: /s". The data exists in diskette now. Thanks.
    – Dimitris
    Oct 21, 2022 at 17:58
  • You need sys a: if there are files, but there needs to be enough free space also (files will be written onto it). Also necessary: The disk needs to be fresh enough to be writable.
    – Hannu
    Oct 21, 2022 at 18:57
3

Finally I found a solution.

As I said the operating system is a custom DOS. The diskette doesn't boot but I copied the files via Windows file manager. The important file is an exe.

I booted a Windows MS-DOS in virtual machine and I run the exe file. The important software for me runs.

So now I should make a bootable diskette with this exe. Thanks everyone for the help.

1

Solution for lost boot sector if it can't be found elsewhere:

Grab sys.com from FreeDOS. Use a VM; put all the files from the floppy onto drive B:; have FreeDOS installed on the hard disk. Format a (virtual) floppy disk in a:. Run sys b: a:. Check if the floppy boots. It probably does.

Why this works? FreeDOS's sys.com has a legacy bootloader inside it that can boot most MS or PC DOS derivatives. (In fact it has four, 1 for FAT12, 1 for FAT16, 1 for FAT32 CHS, and 1 for FAT32 LBA.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .