Hello! I have a system with a hard drive with a geometry that doesn't leave space for GRUB to be embedded:
Disk /dev/sda: 30.0 GB, 30020272128 bytes 64 heads, 32 sectors/track, 28629 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Disk identifier: 0xfafa98d2 Device Boot Start End Blocks Id System /dev/sda1 1 26704 27344880 83 Linux /dev/sda2 26705 28629 1971200 82 Linux swap / Solaris I'm trying to install the current GRUB2: # grub-install /dev/sda grub-setup: error: Cannot read `/boot/grub/core.img' correctly It turns out following happens in grub-setup: - core.img is read by the OS facilities - the memory image is modified - the memory image is compared to core.img read by GRUB FS code and fails - the memory image is modified again - first 2 sectors of the memory image are written to core.img I think the 2 sectors should be written before the image is read back. I tried to fix it, but it didn't work in the first try (GRUB hangs after showing "GRUB Loading kernel.") I'm also surprised that the code alternately uses dir and DEFAULT_DIRECTORY to calculate core_path. core_path is calculated 3 times in one function! If dir and DEFAULT_DIRECTORY are used correctly, I suggest that two different variables are used for what is now called core_path. -- Regards, Pavel Roskin _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel