diff --git a/elements/cloud-init-disable-resizefs/README.rst b/elements/cloud-init-disable-resizefs/README.rst
new file mode 100644
index 000000000..0be8e28fd
--- /dev/null
+++ b/elements/cloud-init-disable-resizefs/README.rst
@@ -0,0 +1,7 @@
+Disable cloud-init's resizefs module
+------------------------------------
+
+The cloud-init resizefs module can be extremely slow and will also
+unwittingly create a root filesystem that cannot be booted by grub if
+the underlying partition is too big. This removes it from cloud.cfg,
+putting the onus for resizing on the user post-boot.
diff --git a/elements/cloud-init-disable-resizefs/post-install.d/50-cloud-init-disable-resizefs b/elements/cloud-init-disable-resizefs/post-install.d/50-cloud-init-disable-resizefs
new file mode 100755
index 000000000..156abd7ad
--- /dev/null
+++ b/elements/cloud-init-disable-resizefs/post-install.d/50-cloud-init-disable-resizefs
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then
+    set -x
+fi
+set -eu
+set -o pipefail
+
+sed -ie 's/^ - resizefs$//' /etc/cloud/cloud.cfg