Search My Blog

Wednesday, October 6, 2010

How to install and boot 145 operating systems in a PC - JustLinux Forums

And I thought I was a Linux Distro Trying Nut! With my 40 or so Linux CD - DVD's and 4 Computers with up to 2 Linux Distros, WinXP Duel or Trippe Boot. Along with Windows on 3 more PC's;)

Check out What this Guy is doing!

Don
 
Old 12-30-2006, 07:01 PM
saikee's Avatar
moderator
 
Join Date: Jun 2004
Location: Newcastle upon Tyne
Posts: 2,619
How to install and boot 145 operating systems in a PC

--- Updated 4 Jun 10 - The gpt partitioning scheme can have 128 partitions inside. No good for the 32-bit MS Windows but alright for Linux with Grub2. More details available here.

--- Updated 8 Apr 09, Good news! kernel 2.6.28 and newer have finally decided to support large partitions. A report is here. I have managed to run a Ubuntu from sda130! Currently I am trying a 1.5 TB hard disk with 60 partitions and will report the progress later. The new kernel 2.6.28 is not universally available in every Linux and many teething troubles will have to overcome before a user can install a large number of operating systems into a hard disk but it is coming this way.

--- Updated 17 Sep 07, A warning added in Post #21 on 63 partitions in a Pata hard disk is no longer supported by Linux kernel newer than 2.6.20-------------------

--- Updated 20 Sep 07, a new nested Grub menu system + added Solaris and BSD systems showned in Post #32, #33 and #34 ----------------

Author's notes - This thread has picked up some interest from the Internet by readers who commented the title without reading its content. For this reason I summarize the information briefly as follow:-

(1) A simple howto procedure, which is applicable from 1 to 300+ systems, is described. (Let me know if there is anything simpler or easier)
(2) One standard Linux boot loader controls all the systems. (indirectly becasue every system has its own original boot loader preserved)
(3) The controlling boot loader is not attached to any operating system (This is my own choice. Grub can be attached to any OS, even in ntfs partition as work around available).
(4) 3 Dos, 5 Windows, 137 Linux (more Linux since added plus one Solaris and 2 BSD) using 3 Pata and 2 Sata hard disks) (The number is limited by the availability of partitions/hard disks)
(5) Every system is booted identically and universally by the same 3 lines of commands. No need to worry what OS it is. (using the exactly the method every Linux boots a Windows but on all other systems)
(6) The 145-system booting menu can be created ahead of the installation of the systems. (I believe this has not been tried before)
(7) A nested Grub menu system is showed (Showned in Post #32 to #34. This probably has not been tried before)

Although not indicated by the thread these points should be obvious to experienced PC users

(a) The described procedure is applicable to any boot loader. (Grub happens to be the easiest while the others may have various limitations or take too long or too much work to achieve the similar goal).
(b) Everything is standard, no new thing invented, no hacking involved and the technology has been there all the time (Anyone can do it. I am just the one who is willing to write about it)
(c) The arrangement makes every system suitable for booting manually, say by a Grub floppy or booted by any other boot loader(Every system is self sufficient with its own boot loader inside the boot sector of the residing partition)

----------------------------------------------------------------------------------------------------------

How to install and boot 145 operating systems in a PC

This is the "howto" I promised to write after this thread.

The 145 systems are:-

3 Dos
5 Windows
137 Linux

I have also installed most of the PC-based BSD and Solaris together with a Darwin x86 too but these systems dislike to co-exist with a large number of other systems so I have to keep them off in another PC until I find a way to tackle the technical issues. (edited : latest arrangement in Post #32, #33 and #34)

There are only 3 steps in this howto.

Step 1 – A simple hardware scheme

An operating system needs to reside in a home. That is a partition to me. I used 2x300Gb Pata disk and 2x200 Sata Disk to set up 152 partitions. I always put one operating system in one partition. As an extended partition of each hard disk has no storage of its own, one data-only partition is needed for my personal data, another data-only partition to house the common boot loader and one Swap partition is needed for all the Linux I ended up losing 7 partitions leaving 145 partitions to house the 145 operating systems.

Step 2 – A simple boot scheme

I put Grub in a data-only partition, created a boot menu to boot all the partitions before any of the operating systems was installed. When a partition is filled the system inside becomes bootable instantly. This scheme is dead simple, technically sound, perfectly applicable is every situation but can be viewed unconventional to some PC users. For those who know nothing about Grub it is just one of the two boot loaders commonly used in Linux. The other one is called Lilo possibly used by less than 40% of the Linux distros at the begining of 2007.

In a nutshell I use this Grub to boot up the boot loader of any of the 145 systems that I choose to use. Afterward it is the duty of the second boot loader that brings up its master.

Step 3 – A simple installation scheme

It is really simple. I just installed each system inside a single partition. For MS systems there is more work as I had to install each as a stand alone system so that it always boot to a “C” drive. I then moved the disks with the MS systems to the final position and edit Grub's menu file to boot it back to a “C” drive status.

My scheme depends every system having a boot loader inside its root partition. This is inherent in every MS systems and other operating systems that rely on booting from a bootable primary partition. For Linux it is an optional choice.


Hardware used

The PC is a self-assembled unit using the cheap components available. Nothing to write home about. Just average for an ordinary PC user say 5 years behind the latest technology as this is all I can afford.

Motherboard : Asrock 939NF4G-SATA2
CPU : AMD 939 64 +3200
Ram :1025Mb
Video : Onboard integrated NV44 graphics DX9.0 VGA
Hard disk 2x300Gb Maxtor 133/Mb/s Pata Diamond Max 10
2x200Gb 150Mb/s Sata-I Maxtor Diamond Maxline III
Sound card : SoundBlaster 5.1
Network card : Generic Realtek 8139 10/100 Entrnet
Keyboard : Generic PS/2 keyboard
Mouse : Generic PS/2 mouse

Essential tools

(1) A bootable Grub floppy or a bootable Grub CD.

(2) A Linux Live CD. Ideally one that has Grub inside.

(3) A Dos 6 or above bootable floppy with fdisk.exe inside

(4) A Win2k or XP installation CD

For the production of the Item (1) above and how to use the rest see the last link of my signature.


Partition tables

Here is the details of the partitioning scheme as output by “fdisk-l” Linux command.
Code:
Warning: omitting partitions after #60. They will be deleted if you save this partition table.  Disk /dev/hda: 300.0 GB, 300090728448 bytes 255 heads, 63 sectors/track, 36483 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes     Device Boot      Start         End      Blocks   Id  System /dev/hda1   *           1         122      979933+  16  Hidden FAT16 /dev/hda2             123         244      979965   16  Hidden FAT16 /dev/hda3             245         366      979965   16  Hidden FAT16 /dev/hda4             367       36483   290109802+   5  Extended /dev/hda5             367         609     1951866   82  Linux swap /dev/hda6             610        1217     4883728+  83  Linux /dev/hda7            1218        1825     4883728+  83  Linux /dev/hda8            1826        2433     4883728+  83  Linux /dev/hda9            2434        3041     4883728+  83  Linux /dev/hda10           3042        3649     4883728+  83  Linux /dev/hda11           3650        4257     4883728+  83  Linux /dev/hda12           4258        4865     4883728+  83  Linux /dev/hda13           4866        5473     4883728+  83  Linux /dev/hda14           5474        6081     4883728+  83  Linux /dev/hda15           6082        6689     4883728+  83  Linux /dev/hda16           6690        7297     4883728+  83  Linux /dev/hda17           7298        7905     4883728+  83  Linux /dev/hda18           7906        8513     4883728+  83  Linux /dev/hda19           8514        9121     4883728+  83  Linux /dev/hda20           9122        9729     4883728+  83  Linux /dev/hda21           9730       10337     4883728+  83  Linux /dev/hda22          10338       10945     4883728+  83  Linux /dev/hda23          10946       11553     4883728+  83  Linux /dev/hda24          11554       12161     4883728+  83  Linux /dev/hda25          12162       12769     4883728+  83  Linux /dev/hda26          12770       13377     4883728+  83  Linux /dev/hda27          13378       13985     4883728+  83  Linux /dev/hda28          13986       14593     4883728+  83  Linux /dev/hda29          14594       15201     4883728+  83  Linux /dev/hda30          15202       15809     4883728+  83  Linux /dev/hda31          15810       16417     4883728+  83  Linux /dev/hda32          16418       17025     4883728+  83  Linux /dev/hda33          17026       17633     4883728+  83  Linux /dev/hda34          17634       18241     4883728+  83  Linux /dev/hda35          18242       18849     4883728+  83  Linux /dev/hda36          18850       19457     4883728+  83  Linux /dev/hda37          19458       20065     4883728+  83  Linux /dev/hda38          20066       20673     4883728+  83  Linux /dev/hda39          20674       21281     4883728+  83  Linux /dev/hda40          21282       21889     4883728+  83  Linux /dev/hda41          21890       22497     4883728+  83  Linux /dev/hda42          22498       23105     4883728+  83  Linux /dev/hda43          23106       23713     4883728+  83  Linux /dev/hda44          23714       24321     4883728+  83  Linux /dev/hda45          24322       24929     4883728+  83  Linux /dev/hda46          24930       25537     4883728+  83  Linux /dev/hda47          25538       26145     4883728+  83  Linux /dev/hda48          26146       26753     4883728+  83  Linux /dev/hda49          26754       27361     4883728+  83  Linux /dev/hda50          27362       27969     4883728+  83  Linux /dev/hda51          27970       28577     4883728+  83  Linux /dev/hda52          28578       29185     4883728+  83  Linux /dev/hda53          29186       29793     4883728+  83  Linux /dev/hda54          29794       30401     4883728+  83  Linux /dev/hda55          30402       31009     4883728+  83  Linux /dev/hda56          31010       31617     4883728+  83  Linux /dev/hda57          31618       32833     9767488+  83  Linux /dev/hda58          32834       34049     9767488+  83  Linux /dev/hda59          34050       34657     4883728+  83  Linux /dev/hda60          34658       35265     4883728+  83  Linux  Disk /dev/hdc: 300.0 GB, 300090728448 bytes 255 heads, 63 sectors/track, 36483 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes     Device Boot      Start         End      Blocks   Id  System /dev/hdc1               1         122      979933+  16  Hidden FAT16 /dev/hdc2             123         730     4883760   1c  Hidden W95 FAT32 (LBA) /dev/hdc3             731        3162    19535040   17  Hidden HPFS/NTFS /dev/hdc4            3163       36483   267650932+   5  Extended  /dev/hdc5            3163        3770     4883728+  83  Linux /dev/hdc6            3771        4378     4883728+  83  Linux /dev/hdc7            4379        4986     4883728+  83  Linux /dev/hdc8            4987        5594     4883728+  83  Linux /dev/hdc9            5595        6202     4883728+  83  Linux /dev/hdc10           6203        6810     4883728+  83  Linux /dev/hdc11           6811        7418     4883728+  83  Linux /dev/hdc12           7419        8026     4883728+  83  Linux /dev/hdc13           8027        8634     4883728+  83  Linux /dev/hdc14           8635        9242     4883728+  83  Linux /dev/hdc15           9243        9850     4883728+  83  Linux /dev/hdc16           9851       10458     4883728+  83  Linux /dev/hdc17          10459       11066     4883728+  83  Linux /dev/hdc18          11067       11674     4883728+  83  Linux /dev/hdc19          11675       12282     4883728+  83  Linux /dev/hdc20          12283       12890     4883728+  83  Linux /dev/hdc21          12891       13498     4883728+  83  Linux /dev/hdc22          13499       14106     4883728+  83  Linux /dev/hdc23          14107       14714     4883728+  83  Linux /dev/hdc24          14715       15322     4883728+  83  Linux /dev/hdc25          15323       15930     4883728+  83  Linux /dev/hdc26          15931       16538     4883728+  83  Linux /dev/hdc27          16539       17146     4883728+  83  Linux /dev/hdc28          17147       17754     4883728+  83  Linux /dev/hdc29          17755       18362     4883728+  83  Linux /dev/hdc30          18363       18970     4883728+  83  Linux /dev/hdc31          18971       19578     4883728+  83  Linux /dev/hdc32          19579       20186     4883728+  83  Linux /dev/hdc33          20187       20794     4883728+  83  Linux /dev/hdc34          20795       21402     4883728+  83  Linux /dev/hdc35          21403       22010     4883728+  83  Linux /dev/hdc36          22011       22618     4883728+  83  Linux /dev/hdc37          22619       23226     4883728+  83  Linux /dev/hdc38          23227       23834     4883728+  83  Linux /dev/hdc39          23835       24442     4883728+  83  Linux /dev/hdc40          24443       25050     4883728+  83  Linux /dev/hdc41          25051       25658     4883728+  83  Linux /dev/hdc42          25659       26266     4883728+  83  Linux /dev/hdc43          26267       26874     4883728+  83  Linux /dev/hdc44          26875       27482     4883728+  83  Linux /dev/hdc45          27483       28090     4883728+  83  Linux /dev/hdc46          28091       28698     4883728+  83  Linux /dev/hdc47          28699       29306     4883728+  83  Linux /dev/hdc48          29307       29914     4883728+  83  Linux /dev/hdc49          29915       30522     4883728+  83  Linux /dev/hdc50          30523       31130     4883728+  83  Linux /dev/hdc51          31131       31738     4883728+  83  Linux /dev/hdc52          31739       32346     4883728+  83  Linux /dev/hdc53          32347       32954     4883728+  83  Linux /dev/hdc54          32955       33562     4883728+  83  Linux /dev/hdc55          33563       34170     4883728+  83  Linux /dev/hdc56          34171       34778     4883728+  83  Linux /dev/hdc57          34779       35386     4883728+  83  Linux /dev/hdc58  *       35387       35994     4883728+  83  Linux /dev/hdc59          35995       36483     3927861   83  Linux  Disk /dev/sda: 203.9 GB, 203928109056 bytes 255 heads, 63 sectors/track, 24792 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes     Device Boot      Start         End      Blocks   Id  System /dev/sda1   *           1        5099    40957686    7  HPFS/NTFS /dev/sda2            5100        6315     9767520   83  Linux /dev/sda3            6316        6923     4883760   83  Linux /dev/sda4            6924       24792   143532742+   5  Extended /dev/sda5            6924        7531     4883728+  83  Linux /dev/sda6            7532        8139     4883728+  83  Linux /dev/sda7            8140        8747     4883728+  83  Linux /dev/sda8            8748        9355     4883728+  83  Linux /dev/sda9            9356        9963     4883728+  83  Linux /dev/sda10           9964       10571     4883728+  83  Linux /dev/sda11          10572       11179     4883728+  a9  NetBSD /dev/sda12          11180       11787     4883728+  83  Linux /dev/sda13  *       11788       12395     4883728+  83  Linux /dev/sda14          12396       23916    92542401    c  W95 FAT32 (LBA) /dev/sda15          23917       24792     7036438+  83  Linux  Disk /dev/sdb: 203.9 GB, 203928109056 bytes 255 heads, 63 sectors/track, 24792 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes     Device Boot      Start         End      Blocks   Id  System /dev/sdb1   *           1        1216     9767488+   7  HPFS/NTFS /dev/sdb2            1217        1338      979965   1b  Hidden W95 FAT32 /dev/sdb3            1339        1460      979965   83  Linux /dev/sdb4            1461       24792   187414290    f  W95 Ext'd (LBA) /dev/sdb5            1461        2676     9767488+  83  Linux /dev/sdb6            2677        3892     9767488+  83  Linux /dev/sdb7            3893        6324    19535008+  83  Linux /dev/sdb8            6325        8756    19535008+  83  Linux /dev/sdb9            8757       11188    19535008+  83  Linux /dev/sdb10          11189       13620    19535008+  83  Linux /dev/sdb11          13621       16052    19535008+  83  Linux /dev/sdb12          16053       18484    19535008+  83  Linux /dev/sdb13          18485       20916    19535008+  83  Linux /dev/sdb14          20917       23348    19535008+  83  Linux /dev/sdb15          23349       24792    11598898+  83  Linux
My hda has partitions hda61, hda62 and hda63 but they are not shown by fdisk program.

Continued with next post

Read more, after the above on the Page...
http://www.justlinux.com/forum/showthread.php?threadid=147959

Don

No comments: