Main goals is to have/being:
- Windows XP
- Main Linux installation
- "Some other" Linux installation which I am currently experimenting with.
- All three OS installations completely separate (at least to begin with). I won't share
/home
between my Linux installations, as it might be that some applications I'm using are of different versions and thus have different config files in my$HOME
. - Able to wipe the current Windows XP installation and install a previous image of it later on, to enjoy a fresh Windows system.
- Able to change my experiment Linux installation into some other distribution.
- Creating a sensible partitioning scheme for this which fits my 120.0 GB hard drive. Appended info: It's for a laptop with a relatively weak CPU and no hardware viritualization support, so adding a HDD isn't an option nor is running a full fledged OS in a VM.
Why:
- I've not used Windows for maybe 10 months. I'm not about to start using it extensivly, but it might come in handy from time to time if I need to run some Windows only software.
- My main Linux installation is Ubuntu, which I do like a lot. At the same time I do feel that some things could be improved (it contains an exceptionally old version of Awesome in it's latest LTS offering and I tend to think that a rolling release system would be more convenient to use). Due to this I would like to explore the other distributions which are out there...
- My experiment Linux installation should just be for testing things out. I would like to try a couple of different distributions (my first is Arch Linux) and try to configure them. It's mostly for playing around and experimenting. If I find something I like it might replace my main Linux installation later on.
Questions and thoughts:
- How would you suggest I partition my hard drive? My idea is having Windows XP and my experimental Linux installation on one partition each. And maybe spread out my main Linux installation over multiple partitions if there is a benefit to it. Will all Linux distributions be happy to live in a single partition?
- Do you see any problem in writing over my current Windows XP with an older image later on? I guess it shouldn't mess up the partitioning table or the MBR, but I'd like a second opinion.
- What about the installation of different distributions on the experimental part of my hard drive? (The part I saved for experimental installs of Linux.) Any problems you foresee?
- I was thinking of using Clonezilla for the imaging. I need to image individual partitions as that's what I need to restore as well. I'm sending/receiving the images from my home server, so they need not be stored on the 120 GB hard disk. Any comments on this? Will I have to make a note of the partitioning scheme on paper in case the partition table accidentally should be damaged to be able to restore the partitions?
- What else should I think about when planning this setup?
Having done (almost) exactly this for several years on my laptop (I never replaced my Windows install with a fresh one, though), here are some comments I have:
dd if=/dev/sda of=orig.mbr -bs 512 -count 1
) Then, whenever you install the secondary Linux you just rewrite the MBR back to the disk and update the menu.txt in the /boot/grub directory to include the reference to your new partition.The laptop in question for me was Intel Core Duo 2GHz with 2GB RAM and 120GB HD. Here is the exact partition table I used but the details aren't that important, it's just to give you an idea:
It may not have been the best (most optimal) partitioning scheme and opinions vary widely on what partitions to create, but it worked just fine for me.
---How would you suggest I partition my hard drive?
Shared data for the linux installs to be kept on the windows partition.
---Will all Linux distributions be happy to live in a single partition?
Yes. As long as you use "standard" filesystems and features. Don't use EXT4 yet. The main benefits of partitioning linux systems are security and mitigating out of disk errors. Neither happen magically just from partitioning. Better to learn on a single partition and then create multiple partitions when you understand why and what else needs to be done to take advantage of the added complexity. Many people/companies have multiple linux partitions which serve no purpose other than to waste more slack space. When you use multiple partitions you'll create them based on security and usage patterns.
And if this seems complex, it's actually overly simplified. Use a single partition or the distributions partitioning recommendation until you're sure you know why you want something different.
---Do you see any problem in writing over my current Windows XP with an older image later on?
Activation maybe, otherwise no.
---What about the installation of different distributions on the experimental part of my hard drive? ...Any problems you foresee?
Don't use LVM, EXT4 or other "new" file systems. Always use custom partitioning during linux installs and install into either Linux_main or Linux_test as needed.
---I was thinking of using Clonezilla ...
No problems here. Use custom/expert mode Clonezilla for highest compression to save space.
---Will I have to make a note of the partitioning scheme on paper in case the partition table accidentally should be damaged to be able to restore the partitions?
I've never needed to with many multi-boot systems. How/why would the partition table be damaged without damaging data in the partitions? This usually happens from jumping into a automatic install using the whole disk and the partition info alone probably won't help by the time you notice the problem. You shouldn't be doing potential partition modifications without backing up first. (adding a disk, re-partitioning, installs, etc.)
---What else should I think about when planning this setup?
Never share home partitions from different linux versions or distributions, share data only. I solve mangled home directory problems often for other people who try to do this. Other than transient cache data your home preference data should never be a significant size to matter. Therefore there is no benefit to sharing it, only potential problems using mismatched versions of preferences and binaries. Do share the data portion of your home directories.
Install grub into the 1st sector of each linux's partition. Then install a third grub in the MBR and chainload to the two partition grubs. This way kernel updates will always be reflected in the menus and the MBR will never be messed with during updates or re-installs. (Except for a windows re-install when you'll need to replace the MBR grub and edit the chainloader menu options for the two linux partitions again. Just do a web search for grub chainload. There are many howto's online to do this type of setup. I have development QA testing systems with 12 or more distributions (6x2 32bit and 64bit) to test against on a single drive. These are used for hardware testing of devices not supported in virtualization.
Just a little warning: Many Linuxes defaults to use LVM partitioning when installing, but Windows XP will not install on a hard disk that contains LVM partitions (I suppose reapplying an XP image is OK, though I've never tried that).
Have you considered using a virtual solution? Like VirtualBox etc so that you can try the other OS's out in your preferred OS?
First note: Use the same /home, just create a different user for the two installations.
Second, I'd go for
You probably don't need swap if you have >1GB of RAM.
EDIT: due to comment
I've personally never had a problem, but due to limitations of partitioning. Create an file based swap space then. dd if=/dev/zero of=/boot/swap.img bs=1M count=512, create the swap filesystem with mkswap /boot/swap.img mount in /etc/fstab with: /boot/swap.img none swap 0 0. You can activate it immediately with swapon /boot/swap.img.
You'll want to keep your most commonly used OSs on the outside of the drive, it makes a minimal response speed but it helps.
Don't install Grub when you install the new distros, just edit your /boot/grub/menu.lst (on Linux_main) as need for the new install.
Use dd for backups, it can do the whole hard drive. If you need to do it via network, use netcat.
If you find a distro you like after experimenting with it, just clear the middle two partitions and reinstall using the one you like. Keep /home. Edit your /boot/grub/menu.lst from knoppix or from whatever distro you just installed
sidenote: You might want to look at getting another hard drive for either Windows or /home. When you do, add a /boot partition to your main drive and modify grub to boot from that.