Hi,
I failed to install grub-1.99 on a hard disk and I found the reason is because GRUB thought that there was a ext2 filesystem installed on that disk due to garbage data. The error messages are listed below.
# grub-setup --directory=/mnt/root/mnt2/boot/grub /dev/sdc
grub-setup: warn: Attempting to install GRUB to a disk with multiple partition labels or both partition label and filesystem. This is not supported yet..
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..
grub-setup: error: will not proceed with blocklists.
I also tried the following command and used gdb to confirm this.
bash-3.00# grub-probe -t fs -d /dev/sdc
ext2
Then I checked the grub-setup help doc and saw that there is a "--skip-fs-probe" option. The description for this option is below.
-s, --skip-fs-probe Do not probe for filesystems in DEVICE
I tried this option but it still promoted the same error messages. Finally I checked the source code, it seems that this operation is not doing what I am expecting. It does not prevent GRUB from detecting the filesystem and GRUB refuses to do installation if some garbage data was found.
Is this behavior correct? What's the workaround if I want GRUB to do the installation without checking the existence of filesystem?
Thanks,
Weber