Em 04-03-2013 08:32, Brian escreveu:
On Sun 03 Mar 2013 at 23:34:23 -0300, Joao Luis Meloni Assirati wrote:Brian wrote:fdisk leaves space at the beginning of the drive because GRUB requires it to embed part of itself there. But GRUB will not go there because it thinks it is overwriting data on the disk when it detects the iso9660 signature. This is by design.This is clearly a bug, because the disk has a partition table and therefore there is no useful data before the first partition.It might be advisable to read http://lists.gnu.org/archive/html/grub-devel/2009-10/msg00207.html before tackling the GRUB maintainers. The behaviour can be overridden but not with --force.
That discussion seems absurd to me. Just put a flag --no-data-check to skip all possible data overwrite check on user request.
D-I uses partman for partitioning. It too leaves an embedding area which contains the iso9660 data sector. The solution is to remember to do dd if=/dev/zero of=/dev/sdX count=65 before partitioning.But this will destroy the partition table, which is not right if you have other operating systems or partitions containing data. Maybe 'grub-install --force<device>' would suffice?The act of writing the isohybrid destroys all data on the drive so at this point it is a bit late to worry about that. :)
In the present case, yes, but in general the installer cannot simply clear the partition table even if there is an isohybrid fragment in the mbr. The isohybrid may be ancient data that was later overwrited by a partition table.
Should the need arise to target the specific sector with the iso9660 data on it then something like dd if=/dev/zero of=/dev/sdc bs=512 seek=63 count=64 could be used.
Maybe this code could be placed in the installer just before calling grub-install. We are absolutely certain that this sector has no valuable data because there is a partition table.