Attempting to re-run the specific config on an existing Trusty instance: 1) sudo umount /mnt 2) sudo vi /etc/fstab and remove /mnt entry, save, quit 3) write out #cloud-config from this bug to user-data.cfg 4) sudo cloud-init --files user-data.cfg single --name cc_disk_setup --frequency always 5) sudo cloud-init --files user-data.cfg single --name cc_mounts --frequency always This correctly creates the partitions, links, mounts and fstab entries. Now to test why this appears to fail during initial boot. ubuntu@trusty-161117-1648:~$ cat /etc/issue Ubuntu 14.04.5 LTS \n \l ubuntu@trusty-161117-1648:~$ cat /etc/cloud/build.info build_name: server serial: 20161111 ubuntu@trusty-161117-1648:~$ cat /proc/partitions major minor #blocks name 1 0 65536 ram0 1 1 65536 ram1 1 2 65536 ram2 1 3 65536 ram3 1 4 65536 ram4 1 5 65536 ram5 1 6 65536 ram6 1 7 65536 ram7 1 8 65536 ram8 1 9 65536 ram9 1 10 65536 ram10 1 11 65536 ram11 1 12 65536 ram12 1 13 65536 ram13 1 14 65536 ram14 1 15 65536 ram15 11 0 7168 sr0 8 0 30720000 sda 8 1 30718976 sda1 8 16 298844160 sdb 8 17 197236735 sdb1 8 18 101607424 sdb2 ubuntu@trusty-161117-1648:~$ ls -al /dev/disk/azure/ total 0 drwxr-xr-x 2 root root 140 Nov 17 18:25 . drwxr-xr-x 6 root root 120 Nov 17 16:50 .. lrwxrwxrwx 1 root root 9 Nov 17 18:25 resource -> ../../sdb lrwxrwxrwx 1 root root 10 Nov 17 18:28 resource-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Nov 17 18:28 resource-part2 -> ../../sdb2 lrwxrwxrwx 1 root root 9 Nov 17 16:50 root -> ../../sda lrwxrwxrwx 1 root root 10 Nov 17 16:50 root-part1 -> ../../sda1 ubuntu@trusty-161117-1648:~$ cat /proc/swaps Filename Type Size Used Priority /dev/sdb2 partition 101607420 0 -1 ubuntu@trusty-161117-1648:~$ cat /etc/fstab # CLOUD_IMG: This file was created/modified by the Cloud Image build process UUID=167596ac-7e64-403a-9407-bf06b48032a2 / ext4 defaults,discard 0 0 # CLOUD_IMG: This file was created/modified by the Cloud Image build process # The following is used to dynamically configured additional # NICs. Do not remove unless you know what you are doing. none /etc/network/interfaces.dynamic.d tmpfs nodev,noexec,nosuid,size=64K 0 0 /dev/disk/azure/resource-part1 /mnt2 auto defaults,nobootwait,comment=cloudconfig 0 2 /dev/disk/azure/resource-part2 none swap sw,comment=cloudconfig 0 0 ubuntu@trusty-161117-1648:~$ cat /proc/mounts sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,relatime,size=3561560k,nr_inodes=890390,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=713472k,mode=755 0 0 /dev/sda1 / ext4 rw,relatime,discard,data=ordered 0 0 none /sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755 0 0 none /sys/fs/fuse/connections fusectl rw,relatime 0 0 none /sys/kernel/debug debugfs rw,relatime 0 0 none /sys/kernel/security securityfs rw,relatime 0 0 none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0 none /run/user tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755 0 0 none /sys/fs/pstore pstore rw,relatime 0 0 none /etc/network/interfaces.dynamic.d tmpfs rw,nosuid,nodev,noexec,relatime,size=64k 0 0 systemd /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd 0 0 /dev/sdb1 /mnt2 ext4 rw,relatime,data=ordered 0 0