#718176 grub-setup fails to read core.img from an XFS file system

Package:
grub-pc
Source:
grub2
Description:
GRand Unified Bootloader, version 2 (PC/BIOS version)
Submitter:
Marco d'Itri
Date:
2013-07-28 12:51:06 UTC
Severity:
important
#718176#5
Date:
2013-07-28 12:46:24 UTC
From:
To:
While upgrading this system from squeeze to wheezy, grub-setup was
unable to read core.img to generate a blocklist (even trying multiple
times).

The system was left in an unbootable state, because the on-disk MBR was
not compatible anymore with the newly installed core.img.

After mounting the system from a live CD, grub-install kept failing,
even if I just run grub-setup without creating a new core.img.
I managed to make it work only after umounting and remounting the disk
and manually running grub-setup.


root@grml:/#  /usr/sbin/grub-setup --verbose --force --directory=/boot/grub --device-map=/boot/grub/device.map /dev/vda
/usr/sbin/grub-setup: info: Scanning for dmraid_nv RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: scanning hd0 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0,msdos2.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0,msdos1.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0,msdos2.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0,msdos1.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: scanning hd0 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: scanning hd0,msdos2 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: scanning hd0,msdos1 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: transformed OS device `/dev/vda' into GRUB device `hd0'.
/usr/sbin/grub-setup: info: /dev/vda2 starts from 4209030.
/usr/sbin/grub-setup: info: opening the device hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Partition 0 starts from 1.
/usr/sbin/grub-setup: info: Partition 1 starts from 4209030.
/usr/sbin/grub-setup: info: guessed root device `/dev/vda2' and root_dev `hd0,msdos2' from dir `/boot/grub'.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/boot.img.
/usr/sbin/grub-setup: info: reading /boot/grub/boot.img.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/boot.img.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/core.img.
/usr/sbin/grub-setup: info: reading /boot/grub/core.img.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/core.img.
/usr/sbin/grub-setup: info: root is `hd0,msdos2', dest is `hd0'.
/usr/sbin/grub-setup: info: Opening root.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Opening dest.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: setting the root device to `hd0,msdos2'.
/usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!.
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: info: will leave the core image on the filesystem.
/usr/sbin/grub-setup: info: attempting to read the core image `/boot/grub/core.img' from GRUB.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: succeeded in opening the core image but the data is different.
/usr/sbin/grub-setup: info: attempting to read the core image `/boot/grub/core.img' from GRUB again.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: succeeded in opening the core image but the data is different.
/usr/sbin/grub-setup: info: attempting to read the core image `/boot/grub/core.img' from GRUB again.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: succeeded in opening the core image but the data is different.
/usr/sbin/grub-setup: info: attempting to read the core image `/boot/grub/core.img' from GRUB again.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: succeeded in opening the core image but the data is different.
/usr/sbin/grub-setup: info: attempting to read the core image `/boot/grub/core.img' from GRUB again.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: succeeded in opening the core image but the data is different.
/usr/sbin/grub-setup: error: cannot read `/boot/grub/core.img' correctly.


After remounting the file system:

root@grml:/#  /usr/sbin/grub-setup --verbose --force --directory=/boot/grub --device-map=/boot/grub/device.map /dev/vda
/usr/sbin/grub-setup: info: Scanning for dmraid_nv RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: scanning hd0 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0,msdos2.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid09 RAID devices on disk hd0,msdos1.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0,msdos2.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Scanning for mdraid1x RAID devices on disk hd0,msdos1.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: scanning hd0 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: scanning hd0,msdos2 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: scanning hd0,msdos1 for LVM.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: no LVM signature found.
/usr/sbin/grub-setup: info: transformed OS device `/dev/vda' into GRUB device `hd0'.
/usr/sbin/grub-setup: info: /dev/vda2 starts from 4209030.
/usr/sbin/grub-setup: info: opening the device hd0.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Partition 0 starts from 1.
/usr/sbin/grub-setup: info: Partition 1 starts from 4209030.
/usr/sbin/grub-setup: info: guessed root device `/dev/vda2' and root_dev `hd0,msdos2' from dir `/boot/grub'.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/boot.img.
/usr/sbin/grub-setup: info: reading /boot/grub/boot.img.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/boot.img.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/core.img.
/usr/sbin/grub-setup: info: reading /boot/grub/core.img.
/usr/sbin/grub-setup: info: getting the size of /boot/grub/core.img.
/usr/sbin/grub-setup: info: root is `hd0,msdos2', dest is `hd0'.
/usr/sbin/grub-setup: info: Opening root.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: Opening dest.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: setting the root device to `hd0,msdos2'.
/usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!.
/usr/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-setup: info: will leave the core image on the filesystem.
/usr/sbin/grub-setup: info: attempting to read the core image `/boot/grub/core.img' from GRUB.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the size of hd0 is 19529728.
/usr/sbin/grub-setup: info: the first sector is <4377950,0,512>.
/usr/sbin/grub-setup: info: saving <4377951,0,512>.
/usr/sbin/grub-setup: info: saving <4377952,0,512>.
/usr/sbin/grub-setup: info: saving <4377953,0,512>.
/usr/sbin/grub-setup: info: saving <4377954,0,512>.
/usr/sbin/grub-setup: info: saving <4377955,0,512>.
/usr/sbin/grub-setup: info: saving <4377956,0,512>.
/usr/sbin/grub-setup: info: saving <4377957,0,512>.
/usr/sbin/grub-setup: info: saving <4377958,0,512>.
/usr/sbin/grub-setup: info: saving <4377959,0,512>.
/usr/sbin/grub-setup: info: saving <4377960,0,512>.
/usr/sbin/grub-setup: info: saving <4377961,0,512>.
/usr/sbin/grub-setup: info: saving <4377962,0,512>.
/usr/sbin/grub-setup: info: saving <4377963,0,512>.
/usr/sbin/grub-setup: info: saving <4377964,0,512>.
/usr/sbin/grub-setup: info: saving <4377965,0,512>.
/usr/sbin/grub-setup: info: saving <4377966,0,512>.
/usr/sbin/grub-setup: info: saving <4377967,0,512>.
/usr/sbin/grub-setup: info: saving <4377968,0,512>.
/usr/sbin/grub-setup: info: saving <4377969,0,512>.
/usr/sbin/grub-setup: info: saving <4377970,0,512>.
/usr/sbin/grub-setup: info: saving <4377971,0,512>.
/usr/sbin/grub-setup: info: saving <4377972,0,512>.
/usr/sbin/grub-setup: info: saving <4377973,0,512>.
/usr/sbin/grub-setup: info: saving <4377974,0,512>.
/usr/sbin/grub-setup: info: saving <4377975,0,512>.
/usr/sbin/grub-setup: info: saving <4377976,0,512>.
/usr/sbin/grub-setup: info: saving <4377977,0,512>.
/usr/sbin/grub-setup: info: saving <4377978,0,512>.
/usr/sbin/grub-setup: info: saving <4377979,0,512>.
/usr/sbin/grub-setup: info: saving <4377980,0,512>.
/usr/sbin/grub-setup: info: saving <4377981,0,512>.
/usr/sbin/grub-setup: info: saving <4377982,0,512>.
/usr/sbin/grub-setup: info: saving <4377983,0,512>.
/usr/sbin/grub-setup: info: saving <4377984,0,512>.
/usr/sbin/grub-setup: info: saving <4377985,0,512>.
/usr/sbin/grub-setup: info: saving <4377986,0,512>.
/usr/sbin/grub-setup: info: saving <4377987,0,512>.
/usr/sbin/grub-setup: info: saving <4377988,0,512>.
/usr/sbin/grub-setup: info: saving <4377989,0,512>.
/usr/sbin/grub-setup: info: saving <4377990,0,512>.
/usr/sbin/grub-setup: info: saving <4377991,0,512>.
/usr/sbin/grub-setup: info: saving <4377992,0,512>.
/usr/sbin/grub-setup: info: saving <4377993,0,512>.
/usr/sbin/grub-setup: info: saving <4377994,0,512>.
/usr/sbin/grub-setup: info: saving <4377995,0,512>.
/usr/sbin/grub-setup: info: saving <4377996,0,512>.
/usr/sbin/grub-setup: info: saving <4377997,0,512>.
/usr/sbin/grub-setup: info: saving <4377998,0,512>.
/usr/sbin/grub-setup: info: saving <4377999,0,512>.
/usr/sbin/grub-setup: info: saving <4378000,0,512>.
/usr/sbin/grub-setup: info: saving <4378001,0,267>.
/usr/sbin/grub-setup: info: dos partition is -2, bsd partition is -2.
/usr/sbin/grub-setup: info: opening the core image `/boot/grub/core.img'.
/usr/sbin/grub-setup: info: writing 0x400 bytes.