WubiMigration

Revision 2 as of 2008-12-06 20:47:54

Clear message

Rationale

Provide a tool to help users migrate a Wubi installation to a dedicated partition

Implementation

  • Rely on existing Ubuntu CD or USB stick; alternatively, offer to burn an existing CD or USB stick
  • All from Ubuntu; Windows need not be involved

First stage (within Ubuntu)

  • Ubiquity derivative with a simpler UI; partitioning options are more restricted, and many questions need not be asked;
    • Language, keyboard, user questions are unnecessary because all the answers are in place on the source filesystem already; migration-assistant is unnecessary
    • Simpler partitioner, No advanced partitioner. Autopartitioning alternatives:
      • Resize nominated partition
      • Select free space
      • Install into existing partition? -> general feature

  • Ask the user if they have an existing ISO if they want to use. Use BitTorrent to download a new ISO if they do not.

  • Asks whether the user prefers to use a USB key (warn about wiping it) or burn a CD
  • Modifies a known bit on the disk to notify gfxboot-theme-ubuntu that it should show the migrate option (TBD).
    • As an alternative to using a CD/USB for the second stage, it might be possible to use a D-I based initrd with local preseeding, that would avoid issues with burning a CD (bad medium) and booting off CD/USB (BIOS, people ejecting the media). In this case in stage 1 we create a preseed file, download d-i initrd/kernel in /boot, and replace menu.lst. All the user has to do is selecting "Ubuntu" at next reboot, then d-i kicks in in non-interactive mode. The first stage ubiquity interface and the second stage tasks are the same as in the CD/USB approach.

Second Stage (after reboot)

  • mount partitions and clear if necessary (i.e. normal bottom half of partman)
  • copy - potential checksumming will depend on method of copying:
  • regenerate fstab from scratch
  • regenerate menu.lst
  • install grub package and do usual grub installation
  • remove lupin-support package
  • regenerate initramfs

Third stage (post-install)

  • Notify the user that they can remove Wubi from the Windows side.

Ubiquity Partitioning Page Mockup

Following is a draft to enhance the usability of the Ubiquity partitioning page to be used both in Ubiquity and Wubi migration tool. (in case of Wubi migration, the options resize/delete options will be limited to feasible situations).

You currently have Ubuntu installed in a Windows partition.
 [*] Copy your existing installation into a dedicated partition
 [ ] Install Ubuntu from scratch
 
Install into:
 [*] Available free space in hard disk #1 (sda, 8GB) 
 [ ] Available free space in hard disk #2 (sdb, 6GB)
 [ ] Empty partition #2 of hard disk #1 (sda2, 26GB)
 [ ] Empty partition #5 of hard disk #1 (sda5, 12GB)
 [ ] Advanced Mode

Free up space for the new installation:
 [Resize an existing partition] [Delete an existing disk/partition] 

The install-into list only contains safe items, I.E. items that do not contain any file and are large enough. For instance, if disk #1 is in use, and the user wants to dedicate the full disk #1 to the installation, he will have to click on "Delete an existing disk/partition", delete disk #1 and then select "Free space in hard disk #1" which will appear in the install-into list.

This is safer and clearer than merging the two operations into a single action such as "Install into disk #1", as in current ubiquity dialog. In particular, with the above suggestion, it is not possible to accidentally overwrite/delete any file unless the user explicitly selects "Delete an existing disk/partition" or (s)he uses the "Advanced Mode".

If there is no available free space or empty partition the Install-into list will instead display a message such as "No free space is available. You will need to free up some space first in order to continue the installation. A minimum of 4GB are required."

Resize partition dialog:

 Squeeze [partition #1] in [disk #1]
 to 5GB [ =====|========= ] and free up 10GB
 -----------------------------------------------------
 Partition Info: /dev/sda1
 Total size: 15GB
 In use: 4GB
 Label: mytarget
 Filesystem: NTFS
 Files: WINDOWS, temp, Program Files, RECYCLER
 -----------------------------------------------------
 [Resize Partition] [Cancel]

Delete partition dialog:

 Delete: [partition #1 | all partitions] in [disk #1]
 and free up 15GB
 -----------------------------------------------------
 Partition Info: /dev/sda1
 Total size: 15GB
 In use: 4GB
 Label: mytarget
 Filesystem: NTFS
 Files: WINDOWS, temp, Program Files, RECYCLER
 -----------------------------------------------------
 [Delete Partition] [Cancel]

Advanced Mode (same as ubiquity):

  • Overwrite an existing disk/partition #skip disk/partitions where wubi is installed
  • Create multiple mountpoints