Upgrading from Windows when the BIOS won't boot a removable device
This turned out to be a fairly simple procedure, but I had enough false starts (and enough Googling) to think it worth recording what worked.
I was given an old but working convertable laptop (Toshiba Portege M200). It came with no floppy or optical drive, had USB ports but could not boot from a USB drive, and the hard disc contained a single large partition. There is/was an external CDROM for this model, but I didn't fancy trying to track one down.
Fortunately, the HDD still booted, but to an old and very slow Windows XP installation.
- Download the Plop boot manager. (Although the previous owner was smart and careful, there's always a risk of viruses in an old Windows box, so I didn't want to risk something 'phoning home if I connected it to the internet. I used my Linux box to put the file on a USB stick.)
- In Windows, extract the Plop Zip file and run InstallToBootMenu.bat. (If you feel lucky, you may be tempted to use InstallToMBR and skip to step 7, BUT remember that if you clobber the bootloader and then find that Plop doesn't work for you, you'll be left with an oddly-shaped paperweight.)
- Reboot, and select Plop from the boot menu.
- Enter Plop setup and change "Force USB 1.1" to "Mode1" (This is obviously system dependant, mine hangs on any other setting).
- Plug in a bootable USB stick, return to the main Plop menu and select "USB". Make sure the USB stick boots all the way!
- Now, install Plop to the hard disc's MBR. That way, you will still be able to boot the machine if you corrupt the Windows partition later. This is theoretically the most dangerous step, since if it fails you could end up with a brick, so pray you don't get a power surge half way through! (I rebooted to Windows to start the install, but you could do it from a live Linux distro.)
- Reboot to a USB stick containing Parted Magic, or another utility distro. (I tried SysRescCD first, but for some reason it wouldn't boot).
- Shrink the Windows partition and add your preferred system of Linux partition(s). Don't forget a decent swap partition if the system's short of RAM.
- Read Note 10 below, then boot and install the Linux distro of your choice from a USB stick. (I used Debian Live Standard for a base install then apt-got what I wanted for a lightweight system).
- You will need a Linux bootloader somewhere - the obvious choices are to install it to a Linux partition, leaving Plop as the inital boot manager, or to put the bootloader on the MBR as usual and clobber Plop. Personally I am mightily impressed with Plop: Despite the name it's prettier and boots more devices than any other boot manager I've come across; it's also free to use and I don't know any reason not to trust it. However, it is not open source, plus the paranoid might worry about it being copied via a potentially-compromised Windows system - either of which may or may not put you off. (I eventually decided to remove Plop from the MBR, but left it in the Windows boot menu so I could chain-load it if I need it.)
And that's that. I intend to remove Windows once I've verified that Debian can drive the M200's hardware sufficiently well, since it's unlikely ever to be used, in which case Plop will get another home. Incidentally, if (like mine) your main system is a little awkward about alternative boot methods, you might want to consider adding a copy of Plop to your boot options just in case.
We are free to think. We are free to plan. And we are free to do. But once an action has been taken, we are never free from its consequences.
--Russel M. Nelson, apostle.