[Bug 556167] Re: vmbuilder uses parted to create disk images, which leads to broken sector counts (cannot use grub2 on disk images created by vmbuilder/parted)

Kees Cook kees at ubuntu.com
Wed Nov 16 18:41:34 UTC 2011


Hm, I don't agree. I think the problem is in libparted/arch/linux.c
init_file():

        dev->bios_geom.sectors = 32;

vs _device_probe_geometry() which defaults to what the LBA reports or:

        dev->bios_geom.sectors = 63;

So, when vmbuilder uses parted to build the disk, parted treats the disk
file differently than it would a real LBA mode drive. Fixing this is the
core cause of the problem, as far as I see it.

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

Title:
  vmbuilder uses parted to create disk images, which leads to broken
  sector counts (cannot use grub2 on disk images created by
  vmbuilder/parted)

Status in “parted” package in Ubuntu:
  Confirmed
Status in “vm-builder” package in Ubuntu:
  Confirmed

Bug description:
  parted uses a fixed sector count of "32" when writing partitions to a
  non-block device.  (See init_file() via linux_new() in
  libparted/arch/linux.c)  As a result, the track size of disks created
  with vmbuilder is 32 sectors, not the generally expected 63 sectors
  (used with LBA mode).  This means that the "embedding region" between
  the end of the MBR and the start of partition 1 is half the "normal"
  size, and grub2 will not install.

  /usr/sbin/grub-setup: warn: Your embedding area is unusually small.
  core.img won't fit in it..

  Fastest solution I see is to use an environment override as already
  done in init_file() for sector size.  Perhaps PARTED_SECTORS?  And
  then set this to 63 when calling parted from vm-builder.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/parted/+bug/556167/+subscriptions




More information about the foundations-bugs mailing list