diff --git a/src/create_disk.sh b/src/create_disk.sh index e83784f3eb..3fd484dac1 100755 --- a/src/create_disk.sh +++ b/src/create_disk.sh @@ -317,7 +317,14 @@ if [ -e (md/md-boot) ]; then # the main grub.cfg. set prefix=md/md-boot else - search --label boot --set prefix --no-floppy + if [ -f ${config_directory}/bootuuid.cfg ]; then + source ${config_directory}/bootuuid.cfg + fi + if [ -n "${BOOT_UUID}" ]; then + search --fs-uuid "${BOOT_UUID}" --set prefix --no-floppy + else + search --label boot --set prefix --no-floppy + fi fi set prefix=($prefix)/grub2 configfile $prefix/grub.cfg diff --git a/src/grub.cfg b/src/grub.cfg index 48171f07b7..f213ff97cd 100644 --- a/src/grub.cfg +++ b/src/grub.cfg @@ -19,7 +19,14 @@ if [ -d (md/md-boot)/grub2 ]; then set boot=md/md-boot set prefix=($boot)/grub2 else - search --label boot --set boot --no-floppy + if [ -f ${config_directory}/bootuuid.cfg ]; then + source ${config_directory}/bootuuid.cfg + fi + if [ -n "${BOOT_UUID}" ]; then + search --fs-uuid "${BOOT_UUID}" --set boot --no-floppy + else + search --label boot --set boot --no-floppy + fi fi set root=$boot