LVPM

Revision 2 as of 2007-10-22 22:07:07

Clear message

Summary

Following the installation of Ubuntu onto a loopmounted partition, utilities to manage the loopmounted partitions to accomplish tasks such as resizing and transferring them to dedicated partitions should be provided or be easily accessible to users. [http://lubi.sourceforge.net/lvpm.html LVPM] provides some of these features for installations generated by Wubi.

Rationale

The loopmounted-install approach generated by Wubi is clearly not a viable long-term solution. It has problems, including, but not limited to:

  • Reduced hard drive performance, due to the overhead of using 2 filesystems; a loopmounted ext3 partition is used within an NTFS filesystem.
  • Increased risks of filesystem corruption and data loss if either of the filesystems are not unmounted properly.
  • Lack of support for hibernation and suspend due to the usage of FUSE.
  • Potential conflicts with various boot scripts and mechanisms that are not compatible with loopmounted root filesystems.
  • Potentially vulnerable to Windows malware, since the bootloader mechanism [https://gna.org/projects/grub4dos/ GRUB4DOS] and the disk images reside as normal files on the Windows filesystem, and are thus easier for malware to target than seperate partitions.

  • Keeps the Ubuntu install dependent on Windows; should the Windows bootloader fail, Ubuntu will be unable to boot even if the install is intact, and the user will be unable to remove their Windows partition without deleting their loopmounted install, thus preventing full migration to Ubuntu.
  • More issues that haven't yet been discovered, but will likely be exposed as future technology and more widespread usage of loopmounted-installs emerge throughout the 3 years of the Ubuntu 8.04 LTS release support cycle.

However, should users be unable, for some reason, to migrate their loopmounted install to a dedicated partition, it should also be possible for them to resize/expand their loopmounted partitions using the tool.

Use Cases

Anna is satisfied with running Ubuntu after using it on a loopmounted installation, and wants to switch to using entirely Ubuntu, but wouldn't like to backup and reinstall her existing Ubuntu install just to be able to remove Windows. She instead uses LVPM to transfer her install to a dedicated partition, and is then able to remove Windows and run Ubuntu exclusively afterwards.

Ben has run out of hard drive space on his loopmounted Ubuntu install. However, he is already using all 4 primary partitions on his hard drive, so he can't switch to a dedicated-partition install. Instead, he uses LVPM to expand the size of his disk image, and is able to use the additional space afterwards.

Implementation

Installation

The LVPM (Loopmounted Virtual Partition Manager) tool should be installed when the installer detects that a loopmounted-installation approach is being used. Since the total size is relatively small (a few hundred KB at max), it should be bundled in, and be available in the official repositories (in case of critical updates).

Visibility

The tool should be clearly visible and accessible to the user, but not to the level of being "nagware". It should be available as an entry in the System -> Administration submenu.

For further visibility, LVPM may perhaps also be included as an icon on the desktop or periodically appear as a reminder in the notification area, triggered by certain conditions such as going below the 5% threshold on free disk space.

Running

Currently, LVPM runs from within the loopmounted install, and uses rsync to duplicate the contents of the loopmounted partitions.

Perhaps it would be safer to copy the necessary files from the existing system into a temporary initrd, and reboot into that environment, run entirely from the RAM, so that there's less chances of data corruption/loss or other failures due to changes within the mounted, running filesystem.

Transferring installs to a dedicated partition

Resizing

Outstanding Issues

With the emergence of new technologies that provide the same advantages, is there even a need anymore for officially supporting loopmounted-installs?

With Windows Vista's new dynamic partitions and ability to safely resize its own partitions while running, the partitioning phase can be done in the initial installation phase itself via the Windows Vista Drive Management API, while still running in Windows.

  • The dangers and inconveniences of drive partitioning, which the loopmounted-install approach was meant to alleviate, are thus eliminated. Although this will only be compatible with Windows Vista and newer, Vista market share is rapidly rising and is expected to be the dominant OS by the release of Ubuntu 8.04 LTS, or soon afterwards. Users of older OSes can always use the traditional CD install or a (third-party) netboot-based solution such as [http://lubi.sourceforge.net/unetbootin.html UNetbootin].

The CD iso can be placed on the existing NTFS drive, and the installation can be automatically targeted towards the free space created while running Windows, to be used as the partition.

  • The other advantage, the no-CD install and automated-install, can thus also be retained while avoiding the problems of a loopmounted-install.

Is the 2-step process for installation (first to loopmounted partition, then to dedicated partition) too complicated? Would it be better to simply go for a dedicated-partition install the first way around, using an approach like to the one above, thus eliminating the need for a LVPM?

Are the trivial (if any) advantages provided by a loopmounted installation over a dedicated-partition install, which are not provided by the approach above, worth the extra work of officially maintaining and supporting both the modified loopmounted-booting patches and the LVPM tool?


CategorySpec