Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Hardware

Can You Boot Windows (and Other OSes) Using CD-RWs? 26

CTho9305 asks: "I know you can make bootable CD-R/RWs that work fine to get you running DOS (well, Microsoft will call it Windows without the GUI, but I'll call it DOS). And I know you can boot linux, and even run X. However, that only works because these things can run fine from read-only media. Since a CD-RW could theoretically be mounted read-write under linux, I bet its possible (if it hasn't alread been done) to write a kernel module to boot from a CD-RW with it mounted read/write. What I'm really interested in is booting Windows (9x), which requires read-write media. What would be required? Would a DOS driver suffice? Does such a piece of code exist somewhere?" Such an ability would make it easier for novice users to try other alternative operating systems. Is it likely that BIOS makers will support this ability in the future? What can we do to make this happen?
This discussion has been archived. No new comments can be posted.

Can You Boot Windows (and Other OSes) using CD-RW?

Comments Filter:
  • dude... that's just like VMWare .. only with heftier system requirements.
  • I was intrigued by the article in c't, and so was my boss, so I tried it out with a Dell GX150. It works pretty well, but it took a long time to do, and I still have to tweak it some more. Still, reading slashdot on a machine that has no hard drive attached is pretty cool, and I don't have to worry about virii (hell, I don't even have to worry about saving anything!)

    The best part was when I booted the cd on a slightly different GX150, and it "installed" some drivers, then asked me to reboot to activate the changes. "That's odd, this screen keeps popping up..." lol.

    -Ryan
  • This issue was addressed earlier for linux on slashdot for the purpose of booting games [slashdot.org] under linux. the article [big.or.jp]walks one through the process of preparing a filesystem to be made bootable off of a cdrom as well as adapting games to run off of a read only filesystem.

    All email messages are forwarded to /dev/null
    (Seriously they are, I'm not just saying that)
  • subst most definately works in DOS, i used it all the time back in 'the day'.
  • Certainly, burn-proof is a nice (if horribly belated) feature. Too bad it wasn't around 6 years ago when I was pushing a 2x CD-R with a 486/66, but more importantly when all the groundwork was done regarding CD-R technology and software models. Last I heard, Burn-proof required software support (at least to toggle the bit in the command sequence). This still causes trouble if the IDE bus locks up for too long (such as when my stupid Maxtor drives recalibrate when they get hot). In the case of an operating system, a buffer underrun would still mean a rather nasty crash with no means to recover (aside from formatting the CD-RW and reinstalling). Heck, hard drives crash fairly often and they're not nearly as fragile as CD burners.
  • BICPC.com sells a bootable CD Windows or Linux PC--Full functionality, no hard drive required!
  • Ah, finally somebody explained "subst". That is very interesting... given this info plus the articles (which didn't really explain subst) I should be able to do it (kinda - some writing might not work... maybe at shutdown I could write the ramdisk back to the CDRW somehow)
  • How do people do it? I have a "server" PC that serves one purpose: ICS server. It connects to our dial-up ISP when needed, and disconnects after some idle time. What can I get rid of to cut the current ~250 meg windows directory down? I have everything unchecked from the Add/Remove Programs -> Windows Setup panel, but they are small anyway. I found that the biggest part is my windows\system directory. Anyone know where I might find a list of what I need to have, and what I can get rid of?
  • That c't article was extremely eye glazing. some programming type should automate this process. I'll eagerly critique the result.
  • Ok, found it. It was published in c't November 1999, unfortunately this article is not online. Maybe you can find someone which owns the c't ROM 1999 (which contains the Articles on CD).
  • I think Adaptec's DirectCD lets you
    treat the CDR/CDRW as if it's just another
    (slow) drive. But you need special software
    to be able to read these packet-written
    CD's. (Do they use UDF?)

    Perhaps you could get away with this;
    maybe you need to have two sessions on the
    disc as a hybrid ISO/UDF since it would be
    difficult to get windows booting from
    a packer-written CD before the driver is loaded.
  • A couple things I forgot:

    - you probably can't directly boot windows from a CDROM, because it doesn't like read-only boot volumes

    - you *might* be able to copy the windows directory into the ram disk in AUTOEXEC.BAT, but I dunno if subst works in DOS.

    - you might also need to disable the IDE controllers in device manager so windows runs in "msdos compatibility mode", otherwise when the IDE drivers start up, they'll try to reassign C: to the hard drive instead of the RAM drive

    ----
  • I think you're right about this. However, because it isn't random access, all writes could be done at the end of the written data and the TOC just updated to the new location. Good luck appending to files though...unless the cd file system support non-contiguous files, does it?

    Anyway, if you're looking for some removable, bootable media, look into USB hard drives, zip drives, ls120, etc.

    ÕÕ

  • Every year or so I burn a new CDR containing my System Folder, some app installers, and my favorite utilities. It's the ulitmate "rescue" disc as it's a fully functional Mac OS environment. I'd imagine the same is possible with other OSes.
  • I'm afraid such a thing would be possible but severely impractical. Firstly, reading from a cdrom is standardized (as far as ATAPI/SCSI goes), but writing involves vendor and even model-specific commands (MMC isn't quite complete).

    Another catch is that it would require some read/write caching since a CD-RW drive isn't quite suited for writing 512-byte blocks.

    There's also the need for a steady data stream when writing. Operating systems are meant to run off a hard drive, which doesn't really care how fast the data arrives in the buffer, as long as it gets there. CD recording software uses strict timing and big buffers in order to maintain a steady flow, often giving high priority to the buffering thread. This is bound to give trouble, especially during the boot sequence.

    #3 is that most operating systems rely on fast disk access; for example, Windows peeks inside each executable file in a folder to grab its icon. Since CD-Rom accesses are much slower than a hard drive, browsing through a file tree would be very slow and annoying. Windows just wasn't designed for slow data rates. Linux however (and to a certain extent, X) would probably shine in this area since it's been built with compactness in mind from day one.

    There are surely more obstacles, I just have better things to do than think about them.
  • Burn-proof required software support (at least to toggle the bit in the command sequence).

    If it does, I've never done anything to enable it. The drive itself supposedly buffers what it needs and simply stops if it runs out.

  • There's also the need for a steady data stream when writing. Operating systems are meant to run off a hard drive, which doesn't really care how fast the data arrives in the buffer, as long as it gets there.

    Some of the new drives like the Plextor 12/10/32A employ 'burn-proof' technology that prevents underrun problems. The drive stops and then starts up again if it runs out of data. I haven't made a coaster since I got mine.

  • I did not know about the non-random access. Yes, that would be a real pain :(. However, PacketCD's do seem to be random access - the idea that you could have a (small) bootable ISO section and a large packetCD portion is interesting. The issue then is to get a PacketCD driver for DOS, since to be truly completely functional, you would need to be able to write back to the registry / log files that would be updated in the ramdisk and lost otherwise. Oh, and someone sent me a link to a way to boot from a CD-R and have a ramdisk that was in English - I'll post it when I get home.
  • by kju ( 327 ) on Wednesday May 02, 2001 @02:50AM (#251959)
    Windows can boot from CD. It just needs it registry (and afair some other files) writeable. You can place them on a Ramdisk.

    German magazine c't had an article about doing this. They made Windows boot from CD flawless. I'm currently looking if i can locate this article, but i fear it isn't online.
  • by kju ( 327 ) on Wednesday May 02, 2001 @02:57AM (#251960)
    You can buy an archive version of the article from the c't for Euro 0,60, see: http://www.heise.de/kiosk/archiv/ct/99/11/206/ [heise.de]

    But be warned, the article is in german, so you will need babelfish or better knowledge of german.

    HTH.
  • by topham ( 32406 ) on Wednesday May 02, 2001 @08:07AM (#251961) Homepage
    Yes you probably *Can* get it to work; but forget about writing data to the CD-RW. Some CD-RW drives support packet writing, this allows random access for writing to the drive, but it is NOT very fast and there is a limited life-span of the media which may come quickly into play. (Check your disks, some are labeled with the number of re-writes allowed, it is quite low for some, only 10K.). For a mostly read only storage medium this isn't a problem, for a boot disk which would require writing during the process (assuming the packet driver is loaded earlier enough) this could restrict you to a few hundred boots. (remember, if it overwrites the same data several times during 1 boot it will severly restrict the number, etc.).

    Creating a RAM drive earlier on and writing to that, and forcing a flush of that to CD-RW during shutdown may be workable.

    Windows isn't designed nicely for that though.

    Atleast Unix can be tailored for such an environment, as well BeOS is -excelent- in that scenario. They used to sell a demo disc that was designed that way. (only allowed sasving to floppy.). It was a bit slow in accessing the drive though, CD-ROM drives are not good at random access. They are much, much better at large data transfers. (Even on the newer drives random access sucks compared to a hd).

  • I'm not so sure about this.

    CD-R(W)s use track or disk based writing, not random access, inode type writing. I don't think you can tell a CD-RW drive to write a block of data to some arbitrary location on the disc.

    Now, there isn't much that is impossible, but I think this would take a VERY complicated (and VERY badly performing) abstraction layer, and would be impractical.

    Anyone know enough about this to confirm or deny?

    -Peter

  • by g_attrill ( 203506 ) on Wednesday May 02, 2001 @07:57AM (#251963)

    You can view it here [heise.de] without having to pay.

    Gareth

  • by dodecahedron ( 231077 ) on Wednesday May 02, 2001 @09:52AM (#251964)
    Such an ability would make it easier for novice users to try other alternative operating systems.

    If the objective is to let users try alternative operating systems, consider using the new Connectix [connectix.com] Virtual PC for Windows [connectix.com]. It allows you to install another OS (DOS, Linux, BeOS, etc.) under Windows, where you can try it out just as though it were the native OS. Connectix is offering a free trial download that will work thru July 1.

  • by levendis ( 67993 ) on Wednesday May 02, 2001 @07:02AM (#251965) Homepage
    I'll describe a little experiment I tried a while back, just to see if I could. You might find it useful.

    First, there are numerous utilities out there to create RAM disks... device drivers you can put in CONFIG.SYS to give you a drive letter which exists in RAM. Now, the only one I could find was limited to 32 megs. Not enough space? Bah! I installed Windows 95 (the original version) on the hard drive, and was able to delete unnecessary files (help files, etc) to trim the windows directory down to about 25 megs. Also had to disable virtual memory, but I had enough left over RAM that it didn't really matter.

    Now, there are a few tricks you need to know to get Windows to boot out of a RAM disk. First, you need to 'subst' command, which lets you raassign drive letters to other directories. For example:

    subst x: c:\xdrive

    Will let you access c:\xdrive as drive X:. The cool thing is you can reasign existing drive letters:

    subst a: c:\floppy

    So now A: is just a "symlink" to c:\floppy

    Also, you need to know how to do a soft reboot of Windows. If you hold down "shift" when hitting the OK button in the restart dialog, windows will restart but not actualy reboot the computer - so the contents of your RAM disk will stay around. This is basically what happens when you have windows run in "MSDOS mode"... it does a soft restart to a DOS prompt, then when you type exit it restarts Windows without a reboot. So, you can just make a shortcut to an empty batch file, set it run in MSDOS mode, and when you run the shortcut, Windows will do a soft restart.

    So, all you need to is write a batch file to run at startup which does the following:
    1) copy the Windows directory into you RAM disk R:
    2) delete this batch file from the RAM disk
    3) subst c: r:\
    4) do a soft restart

    Now, when you boot your minimal Windows from the hard drive, it will copy itself to RAM, switch the C: drive to the RAM drive, and soft restart itself from the RAM disk. It takes about 2-3 seconds for Windows to do a complete soft restart.

    Yoy might be able to do the same thing from a CDROM.

    ----
  • by PatJensen ( 170806 ) on Wednesday May 02, 2001 @08:10AM (#251966) Homepage
    Here [heise.de] is the Windows bootable CD HOWTO article in English. The lowdown:

    Regular backups often only offer a false feeling of security: After a system crash Windows frequently doesn't even start up anymore, and this puts the restore program out of reach, too. Therefore, a bootable and virus-proof Windows installation on CD ROM should really be found in every well-stocked emergency kit.

    'To start Windows 95 or 98 in GUI mode, it must be installed on a writeable medium. You cannot start Windows from CD.' Similar statements have been published in various PC magazines, and c't has said it, too. The time has come to revise this statement.

    The reason for this assumption lies in the fact that Windows spits out masses of error messages when unable to access the registry during startup. However, this is essentially only cosmetic: If you can live with it, Windows 9x can indeed be started from a CD ROM. This article will deal with how to eliminate the error messages and optimize CD ROM booting.

    Have fun!

    -Pat

"What man has done, man can aspire to do." -- Jerry Pournelle, about space flight

Working...