This is a bit of a negative but I thought I'd include it for completeness.
A friend has an elderly Windows 98SE system that recently gave them a few heart-stopping moments when it wouldn't boot. (Problem since resolved). There is legacy software running on there and it is not a simple matter to upgrade. I decided to see if I could get it running on alternative hardware and picked on the M300C as a possible candidate.
Step one was to come away with an image of the existing Windows 98 partition. This was done by booting Tinycore from a CDROM, mounting an external USB drive and then copying the partition to it using 'dd'. The Win 98SE partition was ~2GB in size.
dd if=/dev/hda1 of=/mnt/sda1/Win98HDA1.img bs=1024k
Next I plugged in a 4GB Hitachi Microdrive to a CF adapter and plugged it into a USB/IDE adapter. This I plugged into a Linux box. I then partitioned the Microdrive as:
I installed Tinycore 3.3 on partition 1, restored the Windows 98 system to partition 2, formatted partition 3 as FAT32 and copied onto it the contents of the Windows 98SE CDROM. Subsequently I also added some drivers that I'd downloaded from VIAs site.
I transferred the Microdrive over to the M300C and booted Tinycore. In order to dual boot Linux and Windows I added the following lines to Grub's menu.lst file:
title Windows 98
root (hd0,1)
chainloader +1
makeactive
Booting into Windows was semi-successful as it went through the 'found new hardware loading drivers' stage. I ended up with a system where things sort-of worked but the mouse didn't. Having installed the drivers for the CN700 display chip the system died every time I tried to change the screen resolution.
To cut a long story short I ended up deciding to do a clean install of Windows 98. This consistently blue-screens in the middle of the install process and so that's where things have stopped.
FYI the Windows 98SE system is running on Wyse VX90L.