Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

a bootable disk

hi this is my first post here
i'm trying to make a bootable disk using assembly x86 and MASM
i want to know what do i need to know to make a disk which runs the command.com at startup without using Windows
i tried googling a little bit but i dont really know what i'm looking for
so somebody plz tell me what do i need to know ?
thanks

Comments

  • GorthaurGorthaur Member Posts: 11
    That kind of depends on what version of Windows you are using.

    Windows9x is pretty easy, put a formatted disk in drive A:
    (To format, at the command prompt, type format a: and it should take of the rest)
    Then, type sys a:
    The current version of DOS(IO.SYS & COMMAND.COM) should show up on the disk. AUTOEXEC.BAT, MSDOS.SYS, CONFIG.SYS, and DRVSPACE.BIN might show up too.

    From there we need to check the flags in CONFIG.SYS, you should find a copy of HELP.COM and HELP.HLP along with QBasic on your Windows98 CD, cause I can't remember the flag to prevent the system from loading Windows(Sometimes it just doesn't though)



    Now for WindowsXp its a bit less complicated, simply stick in a disk in your A: drive, open up Explorer(Or just My Computer), right click the drive and select Format.

    Select "Create MS-DOS Startup Disk" and click Format. Now you should have a WindowsXp version of DOS on the floppy disk(Don't expect it to read NTFS partitions).



    A brief explanation of boot might be in order. When the computer attempts to boot that disk the first thing it does is read Cylinder-Head-Sector(0,0,1) looking for a boot signature at byte 510. It should be 0AA55h...or the other way around, if it finds this it loads the boot sector to 0h:600h I believe, then runs the code. The disk contains the FAT12 filesystem on it, so your first intstruction on the disk will be JMP (Past The FAT Information).

    IO.SYS basically represent a DOS version Kernel, and Command.com the Shell used to give commands. If you do make it so far as to boot your own OS be aware that Int 21h probably contains junk, only BIOS and Hardware provided Interrupts will be loaded(CPU Generated Calls, Video, Keyboard, Disk, etc).

    Best of luck to you bro, I hope this helps!
  • shalini_chshalini_ch Member Posts: 5
    thanks that was most helpful. however, i am reacting to the post after eons , probably because I hadnt seen it earlier.
    further to the same, is it possible to get the source code for command.com file? I wish to write a new command.com so as to work a new set of commands through the command line on a legacy system (x86.)
    your previous post was:
    That kind of depends on what version of Windows you are using.
    :
    : Windows9x is pretty easy, put a formatted disk in drive A:
    : (To format, at the command prompt, type format a: and it should take
    : of the rest)
    : Then, type sys a:
    : The current version of DOS(IO.SYS & COMMAND.COM) should show up on
    : the disk. AUTOEXEC.BAT, MSDOS.SYS, CONFIG.SYS, and DRVSPACE.BIN
    : might show up too.
    :
    : From there we need to check the flags in CONFIG.SYS, you should find
    : a copy of HELP.COM and HELP.HLP along with QBasic on your Windows98
    : CD, cause I can't remember the flag to prevent the system from
    : loading Windows(Sometimes it just doesn't though)
    :
    :
    :
    : Now for WindowsXp its a bit less complicated, simply stick in a disk
    : in your A: drive, open up Explorer(Or just My Computer), right click
    : the drive and select Format.
    :
    : Select "Create MS-DOS Startup Disk" and click Format. Now you
    : should have a WindowsXp version of DOS on the floppy disk(Don't
    : expect it to read NTFS partitions).
    :
    :
    :
    : A brief explanation of boot might be in order. When the computer
    : attempts to boot that disk the first thing it does is read
    : Cylinder-Head-Sector(0,0,1) looking for a boot signature at byte
    : 510. It should be 0AA55h...or the other way around, if it finds
    : this it loads the boot sector to 0h:600h I believe, then runs the
    : code. The disk contains the FAT12 filesystem on it, so your first
    : intstruction on the disk will be JMP (Past The FAT Information).
    :
    : IO.SYS basically represent a DOS version Kernel, and Command.com the
    : Shell used to give commands. If you do make it so far as to boot
    : your own OS be aware that Int 21h probably contains junk, only BIOS
    : and Hardware provided Interrupts will be loaded(CPU Generated Calls,
    : Video, Keyboard, Disk, etc).
    :
    : Best of luck to you bro, I hope this helps!
    :
Sign In or Register to comment.