Ok I fixed it!
I know that page and extended that procedure.
I found an obscure option of grub install, that can be used only in the shell.
Instead of using the grub-install I use the install command inside the grub shell.
Essentially after setting the root in the grub shell one issues a command
like (assume you have you stuff in /boot/grub and /hda1 for windows and
/hdb1 for /boot):
install /boot/grub/Stage1 d (hd1,0) /boot/grub/Stage2
this performs an install similar to the grub-install /dev/hda2 described in the howto (but pointing to /dev/hdb1 in this case).
Later the same command used there:
dd if=/dev/hdb1 of=/osshare/linux.bin bs=512 count=1
will produce a working boot sector that allows the NT Loader to boot from the second hard drive.
The key point behind this is the "d" letter in the statement "install" one
issues in the grub shell (and one cannot obtain the same from the command line).
The idea is that if you issue such command, the "path" to the Stage2 file of
the loader is considered absolute instead normally it is relative.
It is like adding a $ in a preadsheet formula, or / in front of a path!
The boot of grub nomally fails because it looks for the Stage2 file in the
same physical disk. With the new procedure it looks for it with an absolute path, i.e. in the second disk!
It took me a while to figure it out because it is documented in a hidden
subpage of grub documentation, that is even a bit hard to read the first
The result is: you don't need to repartition the first disk!