[Bug 512670] Re: Enable creation of out-of-order partition tables to make Windows-interoperable USB disks

Daniel Richard G. skunk at iskunk.org
Sat Mar 15 02:07:52 UTC 2014


Codeslinger, Windows is not known to "trash" hard drives when booting
for no other reason than seeing an out-of-order partition table. I don't
know what happened in your scenario, but it was likely some errant tool
like a defragmenter or partitioner that was not able to handle such a
table. If Windows doesn't like a partition table, the standard behavior
is that it doesn't recognize the drive, let alone boot.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to partman-base in Ubuntu.
https://bugs.launchpad.net/bugs/512670

Title:
  Enable creation of out-of-order partition tables to make Windows-
  interoperable USB disks

Status in “partman-base” package in Ubuntu:
  New

Bug description:
  Binary package hint: partman-base

  This is a wishlist item, filed at the suggestion of Colin Watson in a
  thread on the grub-devel mailing list:

      http://lists.gnu.org/archive/html/grub-devel/2010-01/msg00202.html

  When partitioning a large external USB hard drive on which to install
  Ubuntu, there are two competing considerations that the user may have
  in mind:

  1. Some computers will not be able to boot off the USB hard drive if
  /boot is farther than a certain distance from the start of the disk
  (i.e. a BIOS boot barrier, a problem which still plagues us nowadays).
  Therefore, /boot (or "/", if not separate) should be the first/first-
  ish partition, with the bulk of the disk after it.

  2. When a USB disk is connected to a Windows system, Windows will
  mount the first partition, and ignore any others on the disk. So if
  the bulk of the disk is a large FAT32/NTFS partition, then that should
  be the first partition.

  
  A nifty way of resolving the conflict between these two is to use an out-of-order partition table. Partition #1 is the large FAT32/NTFS partition, but in the disk's physical layout, it is actually the last partition. Partition #2 is a Linux partition, and is first in the disk's layout. Partitions #3, #4 et al. occupy the space between the end of partition #2 and the beginning of partition #1. An illustrated example:

      |<-sdx2->|<--sdx3-->|<--sdx4-->|<------------sdx1------------>|

  Windows will correctly mount and use the "first" partition, and the
  Linux boot process (i.e. GRUB2) will sidestep any BIOS limitations
  because it doesn't need to read far into the disk to find /boot.

  Currently, however, there is no way to produce a partition table like
  this in the Ubuntu graphical partitioner. The wish is to make that
  possible.

  Caveat: Colin mentioned that GRUB2 should eventually have a module
  (ata.mod) that would allow its MBR-resident portion to find /boot
  using its own disk routines and not those of the BIOS, thereby
  avoiding any potential BIOS limitations. For the time being, however,
  ata.mod appears not to be stable enough for production use. (And for
  my part, I'm not sure whether it'll also be able to do the USB
  interfacing.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/partman-base/+bug/512670/+subscriptions



More information about the foundations-bugs mailing list