Paperlined.org
projects > muxboot > theory_of_operation
document updated 14 years ago, on Mar 30, 2012

The partition table will be physically rewritten every time the user changes OS's  (using Switcher).

Usually, the partition table will be rewritten to contain only the one to threee partitions needed
to boot a single OS.  From the booting OS's standpoint, there will be a large amount of
space on the disk that looks unpartitioned.  In reality, this space is used for other OS's.

The data for all partitions (both visible and invisible) is stored in an area of the disk called
"ManyWorlds".  ManyWorlds stores the partition start and end location, partition type, and a few
other pieces of information.




Switcher can go to "show all" mode that will make ALL partitions visible at once.
The USB drive isn't expected to boot in this configuration.   It's only used so that the user can
quickly explore all of their OS's data at once.





There will also be a "guard partitions" mode, intended to be used during initial installation of an
OS.  In this mode, Switcher will create three different areas:

      +---------------------------+
      | +------+         +------+ |
      | |      |         |      | |
      | |  G1  |  empty  |  G2  | |
      | |      |         |      | |
      | +------+         +------+ |
      +---------------------------+

"Guard1" and "Guard2" are bogus partitions, whose only job is to prevent the new OS from overwriting
partitions that it can't see.  In reality, there are probably several partitions sitting underneath
each guard partition.

The empty space is where the OS is expected to install itself.