initramfs-tools: UUID checks now fail for NTFS which has upper cases UUIDS

Bug #1553107 reported by Andy Whitcroft on 2016-03-04
This bug affects 3 people
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Andy Whitcroft

Bug Description

The new code to lowercase all UUIDs is breaking NTFS mounts because those have UPPERcase UUIDs exclusivly. The correct fix would be to make blkid handle this as it knows what range of values the various UUIDs have and whether upper/lower casing them is even safe.

For initramfs-tools it is clear we should be checking that the UUIDs unmodified before attempting to change their case. This guearentees existing installs are never affected. We should likely also only case map those in a known UUID format which is case insensitive.

NOTE: the bug herein was only exposed in -proposed and found by testers on Bug #1548120, thanks goes to them.

Andy Whitcroft (apw) on 2016-03-04
Changed in initramfs-tools (Ubuntu):
status: New → In Progress
importance: Undecided → Critical
assignee: nobody → Andy Whitcroft (apw)
milestone: none → ubuntu-16.03
Manoj Iyer (manjo) wrote :

$ apt-cache policy initramfs-tools
  Installed: 0.122ubuntu6~rc1
  Candidate: 0.122ubuntu6~rc1
  Version table:
 *** 0.122ubuntu6~rc1 500
        500 xenial/main arm64 Packages

root=PARTUUID=7c5978e5-a56f-4c4c-a3f1-de1467d0b602 (lower case) works
root=PARTUUID=7C5978E5-A56F-4C4C-A3F1-DE1467D0B602 (upper case) does not work.

Manoj Iyer (manjo) wrote :

I was able to boot with both upper and lowercase PARTUUID using:

$ apt-cache policy initramfs-tools
  Installed: 0.122ubuntu6~rc2
  Candidate: 0.122ubuntu6~rc2
  Version table:
 *** 0.122ubuntu6~rc2 500
        500 xenial/main arm64 Packages

syscon-hh (syscon-kono) wrote :

Now I am able to boot the loop device located on a windows (10) *NTFS* partition:

laura@WUBI-UNITY:~$ sudo apt-cache policy initramfs-tools
[sudo] Passwort für laura:
  Installiert: 0.122ubuntu6~rc2
  Installationskandidat: 0.122ubuntu6~rc2
 *** 0.122ubuntu6~rc2 100
        100 /var/lib/dpkg/status
     0.122ubuntu5 500
        500 xenial-proposed/main amd64 Packages
     0.122ubuntu3 500
        500 xenial/main amd64 Packages

laura@WUBI-UNITY:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.4.0-10-generic root=UUID=B40C077F0C073BBC loop=/ubuntu/disks/root.disk rw quiet nomodeset vt.handoff=7

The XENIAL system is running well

Andy Whitcroft (apw) wrote :

@manoj @syscon-hh -- thanks both for testing. I will get this uploaded and perhaps this time it can actually migrate.

Andy Whitcroft (apw) on 2016-03-05
description: updated
hakuna_matata (hakuna-matata) wrote :

It works for me, too.

$ apt-cache policy initramfs-tools
  Installed: 0.122ubuntu6
  Candidate: 0.122ubuntu6
  Version table:
 *** 0.122ubuntu6 500
        500 xenial-proposed/main amd64 Packages
        500 xenial-proposed/main i386 Packages
        100 /var/lib/dpkg/status
     0.122ubuntu3 500
        500 xenial/main amd64 Packages
        500 xenial/main i386 Packages

Many thanks for your prompt reaction,

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.122ubuntu6

initramfs-tools (0.122ubuntu6) xenial; urgency=medium

  [ Andy Whitcroft ]
  * uuids: only apply case mapping to RFC#4122 format uuids (LP: #1553107,

  [ Timo Aaltonen ]
  * hooks/framebuffer: Copy kernel/ubuntu/i915 backport driver too. (LP:

initramfs-tools (0.122ubuntu5) xenial; urgency=medium

  [ Andy Whitcroft ]
  * uuids: busybox tr does not support symbolic ranges expand manually
    (LP: #1548120)

  [ Martin Pitt ]
  * wait-for-root.c: Drop check if device is queued in udev (LP: #1539195)

initramfs-tools (0.122ubuntu4) xenial; urgency=medium

  [ Manoj Iyer ]
  * Add support for uppercase and lowercase uuids. (LP: #1548120)

 -- Andy Whitcroft <email address hidden> Fri, 04 Mar 2016 10:12:42 +0000

Changed in initramfs-tools (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers