Requirements:
- A functional Windows XP PC (or Virtual Machine) with floppy disk and DVD drives.
- OpenSuse 10.3 DVD or ISO image (if using VMware).
- GParted Live CD or ISO image (Gnome Partition Editor - a free, superb and easy-to-use partition editor).
Preliminary Steps
In the following, a pre-existing VMware Virtual Machine (VM) configured as a single-disk, Windows XP OS arrangement is our starting point. You can of course use a real Windows XP installation on a workstation or laptop, but it's easier to use VMware in this how-to.
- If you're doing this on a physical disk, you need to make some space on the disk following the XP partition into
which OpenSuse will be installed. Boot the PC with the Gparted Live CD and shrink the XP partition - it's really easy to do,
try it and you'll see. Wise monkeys also error-check and defragment their XP partition a couple of times before doing this!
- If you don't have enough free space, then did you know you can also use Gparted to copy an entire disk partition to a new disk?
No need for Norton Ghost! It's a little slow, mind you, as it's a bit-by-bit copy, but I've done this many times in microlab
environments and can vouch for it's reliability.
- You can either connect the second HDD to the motherboard or, if you're out of HDD connections, plug the new HDD into
an external USB carrier and boot with the Gparted CD.
- Once you've copyied (and pasted - those are the commands) the
partition to the new disk, you power down and insert the new HDD in place of the old one, as you'd expect.
- As a final crucial step, boot again with Gparted and right-click on what you wish to be the XP boot partition and select Manage Flags. Check the box marked boot or when you start the PC it won't find an operating system. This last step is easy to forget!
- You can either connect the second HDD to the motherboard or, if you're out of HDD connections, plug the new HDD into
an external USB carrier and boot with the Gparted CD.
- The test environment here uses a Virtual Machine. Our XP VM had only a 6Gb virtual hard disk, so first grow this to 20Gb so we have some room to install Linux.
The easiest way is to use the free Virtual Disk Manager GUI from RDPS Software,
the steps of which should be fairly self-explanatory once you have the GUI installed.
- Optionally - boot the VM (or your resized/cloned XP machine) and check that XP still sees itself in it's original partition, albeit on a disk that is now larger in capacity.
Installation
Now we install OpenSuse onto the free disk space that we've just created.
- Either insert the OpenSuse 10.3 DVD into the drive or, in VMware, specify the CD to use the ISO image of the installation DVD, and power-on
the VM. Ensure that the BIOS is configured to boot from CD first, naturally :o)
- The installation steps may be found elsewhere, but we're interested only in the disk partitioning step.
Proceed with the OpenSuse installation until the installation settings summary appears, at which time click on the tab marked Expert. - Click on the text marked Booting to bring up the Boot loader settings.
- Under Boot Loader Location change the settings so that only Boot from Root Partition is checked, and click Finish.
What did we do?
We have told Suse's Boot loader, in this case Grub, to completely isolate the Linux installation from Windows.
The Upside - there is no danger of any damage or dual-boot problems associated with Grub overwriting the MBR (Master Boot Record) already in place. Windows XP remains as it was before, completely untouched.
The Downside - the price of this safety choice is that we have a little work to do so that dual-booting can proceed. After all, the MBR still knows nothing of the Linux partition, so that's what we'll do now.
Configuring the Dual-Boot Mechanism
Let's have a look at what the OpenSuse installation did.
- Boot the VM (or PC if you're not using VMware) with the GParted Boot CD
and take a look at the disk.
We can see that OpenSuse created an extended partition in the free disk space following the single, primary Windows XP partition. This XP partition is identified by GParted as /dev/hda1.
Inside this extended partition, /dev/hda2, OpenSuse created three primary partitions:
- /dev/hda5 - linux-swap
- /dev/hda6 - root partition (/)
- /dev/hda7 - home partition (/home)
Where did /dev/hda4 and /dev/hda5 go to? To be honest, I don't know ... and if you don't either, then we both need to read some more on Linux paritioning :o) For our purposes here, this doesn't trouble us.
- In order for XP's boot loader to see and boot the Linux partition (in addition to XP), one requires to
- Boot into Linux
- Issue a command like that below to copy the boot sector of / (root) to a file named linux.bin
dd if=/dev/hda6 bs=512 count=1 of=linux.bin
Careful! This isn't the actual command you'll be using, we're not quite ready to use it yet.
- Copy linux.bin to a floppy disk
- Reboot to Windows and copy the linux.bin file to C:\
- Modifiy boot.ini to end with the following string:
c:\linux.bin="OpenSuse 10.3"
You'll see we have an apparent chicken and egg scenario!
How can one boot into Linux to then generate the file required for booting into Linux?The solution is the Suse Rescue System - don't be scared, nothing bad has happened, it's simply a bootable DVD with a terminal window that allows us to mount the HDD if we wish, perfect for what we need!
Here are the steps. - Insert the OpenSuse 10.3 DVD into the drive or associate the ISO image with the CD drive in VMware, if you prefer, and boot the VM.
- Choose the Rescue System option, and login as root.
- As we've booted from DVD, partitions on disk are now seen as /dev/sda instead of /dev/hda, just
be aware of this.
Recall that we need to mount the root partition of our OpenSuse installation so that we can copy the boot sector that was installed here. A convenient place to copy this is a floppy disk, which is accessible by both XP and OpenSuse, so we'll need to mount that too.
- Ensure that, on the Rescue System, folder /mnt is present (it should be).
Mount the HDD root partition via
>mount -t ext3 /dev/sda6 /mnt
- We also need to mount a floppy disk, so insert a blank, formatted floppy into the drive and mount it like so:
>mkdir /mnt/floppy >mount /dev/fd0 /mnt/floppy
- Now we can copy the boot sector to a file on the floppy disk with this command:
>cd / >dd if=/dev/sda6 bs=512 count=1 of=/mnt/floppy/linux.bin
- Great! We're almost done.
We want to reboot the VM to XP now, so eject the floppy, remove the OpenSuse DVD (or disassociate it's ISO image from the virtual CD drive in VMware) and issue the reboot command:
>init 0
- Boot to XP and login as normal.
Insert the floppy disk and copy linux.bin to the C:\ drive - Now we just need to edit boot.ini.
The easiest way is to the right-click My Computer and choose Properties.
In the System Properties window that appears, click on the Advanced Tab
Under Startup and Recovery click on the Settings button.
Under System Startup, click the Edit Button. - Add the final line as follows:
c:\linux.bin="OpenSuse 10.3"
- Save the file and restart the VM.
On the boot menu you should now see the option to boot to OpenSuse 10.3 - select this and the freshly installed OpenSuse instance should burst into life!
Post-Installation: Configuring OpenSuse 10.3
I know I said I wouldn't go into configuration of OpenSuse, but in VMware Workstation 6.0 I did run into a little trouble with the initial configuration of the X-Window system which resulted in a black screen. Here are the steps I performed to get round this.
- In VMware Workstation, make sure you don't resize or maximise the working window whilst the installation is taking place.
- If a black screen results when the X-system starts, power-off the VM and reboot.
When starting OpenSuse, opt for the menu item marked OpenSuse FailSafe. - If the post-installation configuration menu appears, exit out of it and you'll be dumped at a login prompt.
- Login as root and issue the following command:
>sax2&
- This X-windows configuration utility should automatically find a working screen resolution, either 640x480 or 800x600
as was the case I had. Agree to test this and choose ok. Remember, this is just to get a working X-system, one needs to
install VMware Tools to get proper screen resolution (not covered here).
- One can test the results by jumping to normal run level 5 with the command
>init 5
which should result in the GUI appearing, if all went well.
Hopefully if you encounter such problems these steps will work for you too.
And that's it, really!





