Home ยป boot files

boot files

Need to squeeze a little more on that floppy?

I’ve been experimenting again with bootdisks and the FreeDOS project came to mind.

Boot floppies are getting rarer but they’re still hard to avoid completely. I think FreeDOS is worth a look for a variety of reasons.Its system files take up half the space of Win9x’s DOS. That extra 100K on the disk can make the difference between your tools fitting on a floppy or not.

FreeDOS supports FAT32. There’s an unofficial DR-DOS fork that does as well, but the licensing terms of FreeDOS are a whole lot more clear.

The FreeDOS FORMAT.EXE can overformat disks. If you use more than 80 tracks, the disks have problems in some machines, but a 1.68 megabyte disk using extra sectors per track should be OK. Concerned about overformatting disks? The Amiga’s default high-density disk format was 1.76 megabytes. That extra 240K can make a big difference, especially when coupled with that 100K you’ve already saved. The syntax to make a bootable 1.68 meg disk: FORMAT A: /F:1680 /S

The syntax for a 1.74 meg disk: FORMAT A: /F:1743 /S

The FreeDOS command interpreter includes command history, so you don’t need to make space on the disk or in low memory for DOSKEY.

Using FreeDOS and its 1.68 meg floppy, I was able to squeeze Ghost 8.1 (a 1.3 meg monster) onto a boot floppy and still have 197,632 bytes free to play with. With that kind of space left, if need be, one could format the disk with FreeDOS, then SYS it under Win9x and run MS-DOS 7 on it.

If you still need to squeeze a little more space, get the freeware FDFormat, which can also format oversized floppies and lets you reduce the root directory down to 16 entries from the default 224, which gives you a few more kilobytes of usable space. If you need to put more than 16 files on the disk, create a subdirectory and put your files in the subdirectory. The syntax would be FDFORMAT /D16 /F168 /S. Substitute /F172 for a bigger disk. To increase the performance of the floppy (who doesn’t want the slowpoke floppy to be a bit faster?) add the /X:2 /Y:3 options. A boot disk formatted this way yields 1,595,904 free bytes with the FreeDOS boot files installed.

That’s enough space to be almost useful for something again. You’ll at least be able to fit more on Bart’s modular disks or Brad’s network boot disk.

The ultimate DOS boot disk

A little over a year ago, someone issued me a challenge: Make a boot disk containing the Microsoft network client and CD-ROM drivers. The problem is that the network client, plus the DOS boot files, plus a CD-ROM driver and MSCDEX almost always takes up more than 1.44 megs.
So I zipped up as much of the junk as I could and made a boot disk that extracted the Zip file to a ramdisk and connected to the network. I had tons of space left over. So I added some niceties like doskey and a mouse driver. I still had space left over. So then I started hunting down every network driver I could find so that one disk could service the mismash of NICs we’ve bought over the years.

It worked, but adding new drivers was beyond the ability of a lot of my coworkers. And I wanted to add a Windows-style network logon and TCP/IP configuration. I started coding it and some of it worked, but eventually I ran out of time so I abandoned it.

Meanwhile, someone else was doing the same thing, and his results were a lot better.

From the guy who brought you Bart’s Way to Create Bootable CD-ROMs, there’s Bart’s Modular Boot Disk.

To get a disk like mine, all you do is make a bootable floppy on a Windows 9x box, then download Bart’s network packages, including whatever NICs you want to support. Then pop back over to the modboot page and grab all the CD-ROM stuff. I made a disk that supports all of the CD-ROM drives Bart had drivers for, plus a half-dozen or so NICs from 3Com, Intel, and SMC, along with mouse support and doskey. I still had over 100K to spare.

If you find yourself just a little bit short of space, you can use the freeware fdformat to format a disk with just 16 root-directory entries and a large cluster size. Use the commmand fdformat a: /d:16 /c:2. The space that would normally go to the bigger root directory and FAT ends up going to storage capacity instead. But don’t try to run fdformat in Windows–find a Win98 box and boot it in DOS mode.

To make life easier on yourself, you might make the disk, then image a blank and keep the image around for when you want to format a maximum-capacity 1.44-meg disk.


Fun problem today. A system decided it couldn’t find HAL.DLL at boot time. The result: a dead PC. “Replace the file,” it says. Yeah, that’s easy to do when the system won’t boot! Chicken and egg, anyone?

There is a read/write NTFS driver for DOS  floating around out there, but all of the non-Microsoft NTFS drivers that try to write NTFS have risks involved. I’ll use these tools for data recovery, but I’m nervous about trying to use them for disaster recovery. The chances of creating a bigger disaster are just too great–NTFS isn’t a simple filesystem and it’s poorly documented.

So, the safe solution is to grab the appropriate install CD (NT4, Win2000), and boot from it as if you’re going to reinstall. It’ll ask whether you want to install or repair an existing installation. Choose repair. It’ll offer to do a whole bunch of things. De-select everything but checking the system and boot files. Let it do its thing (it’ll take a few minutes), then pull the CD and reboot. You’ll be back in business–almost. Reinstall the current service pack to avoid the mismatched files problem.

This solution works when HAL.DLL, the NT kernel, or any number of other system files decide to take early retirement on you. At least the fix usually only takes a few minutes.

If you’re an aspiring IT professional, or if you’re looking to get a new job, or you’re up for review, remember this. It seems to be a frequent interview question, and for some reason people are really impressed when you know this.

And no, HAL.DLL didn’t pop up and ask, What are you doing, Dave? at any point during the repair.

Fun discussion today. I was talking about Internet dating, for some reason. And a colleague(?) whose opinion I really value said a few things that got me thinking. “You’re a lot braver than I am,” she said. Ahem. I’m not sure that’s the word I’d choose, not in light of The Register‘s story  My Internet Love is a Corpse-Hoarding Granny . Not that this is a level of journalism anyone should aspire to, but it was good for a few laughs in the office.

Hmm. I know my sister spent more time in chatrooms online than I ever have. Hey, Di, I know you met some real creeps online. You ever meet anyone that bad?

Anyway. My coworker talked about the risk of disappointment when you finally see the person–definitely a valid concern–and wondered about the initial chemistry. I think you can get some of that, but the problem is your imagination can tend to take over and it’s easy to make the person into something else. I read an interview with Aimee Mann some time ago. The interviewer asked what a particular song was about, and she said the best part of a relationship for most people is the beginning, because you can make the other person in your own mind into a creature that doesn’t exist. That’s even more true on the ‘Net.

But that imagination can set you up for disappointment. That person could end up being even better than you imagined. Or they could be totally different, your mind can translate “different” as “worse,” and then it’s crash and burn time.

I know it works for a lot of people so I’m not gonna knock it. I thought the potential downside she raised was interesting and something I’d never really thought much about.

And that’s good. I had a brief discussion with Dan  yesterday, and I guess I raise some things a lot of people never really thought much about. I’m glad someone’s keeping me on my toes.

Wednesday mailbag

Short stuff today. There’s mail on nostalgia and my infamous books today, so let’s get right to them.

From: “Jeff Hurchalla”

Subject: optimizing windows – ramdisk

Hello Dave,

First I wanted to thank you for the great book on optimizing windows. I’ve read it all now and picked up quite a bit. I think the book nicely fills a niche for windows tweakers- I know I was looking for it for a while. One thing I noticed, if you do a second ed. you might include information on hard disk setups -how IDE and SCSI work, RAID, and what cable and role(master/slave) to use for that new second IDE hard drive.

One tip to add could be the format /z command when using fat32. This undocumented /z switch sets the cluster size in number of sectors.. so “format /z:64” would create 64 sectors/cluster or 32k clusters. I got this from prorec.com a while back. You might want to check out their site just for the music recording discussions, never mind that they do a great job describing how to optimize for digital audio(I think the advice is generally applicable for any computer).

I really want to ask you about a problem I’m having when I run windows95(osr2) from ramdisk. I have it working, mostly as described, but user.dat and system.dat are pesky. I had to put these both into the ramdisk hard drive directory(the one with himem.sys. setver.exe, etc) to get it to boot. Io.sys looks at the registry early in the boot process way before it gets to autoexec.bat(where the ramdisk is created). So it’s not trivial to find a way to create the ramdisk and get the registry in there, where I think it belongs, in time to satisfy io.sys. The solution to put the registry in the ramdisk directory isn’t very good because windows constantly updates the registry(and usually for no apparent reason). Do you have any ideas for how to get the registry in the ram early, or how to get windows to switch to using the registry in the ramdisk later on? It would also be ok, though maybe not as satisfying, to somehow set windows to stop automatically updating the registry just because it’s apparently noticed 15 seconds of time has passed. I also thought to use lilo (possibly modified) to do some work with a ramdisk and then load a bootsect.dos, but I don’t know enough to tell if it could work. I used to have linux set up, but everything’s standard right now.

I read in your views that the outlook for your linux/win2k book is not very good. That’s a shame. I’d really like to read it in the future. I hope something works out.

Take care, Jeff


Well, first off, thanks for the compliments. It’s things like that that make the time and effort that go into writing a book worthwhile.

I had forgotten the FAT32 cluster trick; that is a good one but you might as well just use FAT16 if you’re going to make big clusters–unless the 2GB limit bites you. So, yes, I can see it being useful.

I believe I did talk about hard drive setups, but I may have neglected it. Rather than look it up, I’ll be lazy and just state it: Hard drives should always be masters. If you must put two drives on a channel, make the newer, more modern drive the master. RAID would certainly be a good topic, and one that’s sorely missed from the book. I think I did a decent job of predicting some of the up-and-coming stuff, but two things that I missed were IDE RAID and USB networking. They didn’t exist in the summer of 1999 when I wrote the bulk of the book, and I didn’t anticipate them.

The chances of a second edition appear to be pretty slim, unfortunately. I could write another book for another publisher, provided I’m very careful not to violate the copyright I sold to O’Reilly, but I would almost certainly burn some bridges by doing that and that’s not exactly something I want to do, whether I agree with how O’Reilly marketed the book or not. I’m almost hesitant to say anything about it or even mention that possibility.

As for the Linux/W2K book, it’s tough to say what to do with it. There are a lot of things I’d love to say about it, but again, I’d burn some bridges that I probably shouldn’t. A year ago when it looked like both W2K and Linux 2.4 would be released within six months, it looked like a blockbuster book. With 2.4 delayed and W2K failing to take over the world, it’s becoming a tough sell, and frankly I’m getting really sick of the topic. I also know I tend to take some unpopular stances on the issues involved, which probably doesn’t help. If I thought the book would cover the expenses I’d have to outlay to write it, I’d be much more inclined to do it. So far for me, writing for O’Reilly has proven to be a very expensive hobby. (And if anyone from O’Reilly reads my site and doesn’t like hearing me say that, tough.)

I’ll probably re-evaluate after the 2.4 kernel starts firming up some more, and once my wrists start looking like they’ll hold up or I get the hang of NaturallySpeaking. As for my next book, if there is another one, I don’t want it to involve Linux, and I want to write for a small indie publisher who only releases a half-dozen or so books a year.

As for the registry problem in your ramdisk, did you make the modifications to msdos.sys? Specifically, the line WinBootDir parameter must point to the ramdisk, while WinBootDir points to your directory containing the boot files.

The only other thing that I can think of that might cause those symptoms would be if when you installed Windows to the surrogate partition, Setup may have found your old registry and grabbed some data from it, forcing you to keep the registry on your HD rather than in ram.

I messed around with the ramdisk trick for an entire weekend (literally–I didn’t do anything else for two and a half days) getting it to work right, and for all I remember, I may have spent a few evenings preceeding that weekend working on it. I do know this: Microsoft never intended for anyone to do that, which of course just made me all the more determined to do it.

Let me know if that doesn’t fix the problem, because I’m really curious now what may have caused it. I’ll think on it some more.


From: “Gary M. Berg”

Subject: Pascal on the Mac

You can always pick up Turbo Pascal 5.5 from Borland for free: http://community.borland.com/article/0,1410,20803,00.html


Thanks. For that matter, Borland made older versions of Turbo C and Pascal available for DOS too, which isn’t bad for quick-and-dirty stuff. I found the older versions of Turbo Pascal for DOS produced smaller, tighter executables than the later versions (I mostly used version 7, back in 1992-93). And I believe at least one of their Windows C compilers is available for free now too.

From: “Brent Dickerson”

Subject: voice recognition stuff

In case your interested in reading another’s short eval. The link may not work after today. brentfd



Thanks. That’s the first positive piece I’ve read on VoiceXPress, but their findings on ViaVoice are certainly consistent with my experience and with what I’ve read elsewhere–though ViaVoice improves considerably with a good mic. I still prefer NaturallySpeaking though, and I get better results than he did, but again, with a highly recommended mic and sound card combo.

From: Robert Bruce Thompson

Subject: RE:

Hmm. When I was in high school, the first integrated circuits were still in R&D labs. That was 1971 or thereabouts.

By the time I was in high school (1989-1993), “build your own computer” meant driving up to Gateway Electronics, buying a 386sx motherboard, I/O card and video card, some memory and a case, then assembling it all yourself. This was slightly more exotic than today when you can go down the street to get your parts.

I was an anomaly in that I owned an Amiga, whose system boards didn’t change much and were very well documented, so there were literally dozens of hacks available on BBSs to add features to them–most involved at least a little soldering and some involved discrete components. So that’s where most of my experience with discrete components comes from.

Most twentysomethings like me never had to build our own circuit boards and can’t imagine doing so. I was surprised to see modifications requiring soldering to start popping up on the hardware sites, because I know an awful lot of overclockers are my age and have never soldered delicate electronics before.

I dated a girl a few years ago who vaguely remembered her dad building a computer from a kit in the late 1970s. He’d tell her what component he needed, and she’d find it from the pile and give it to him. With me being a computer professional, she was pretty proud of that. She knew not many people in our generation had even that experience.