adrian15 wrote:
Tomislav Vucic wrote:
Hello, I found GRUB very helpfull, but I need to do one more thing,
but how???
first of all I have 3 OS-s (2 of them are win xp, plz don't ask why,
and third is Ubuntu 6.06 as default for booting)
Questions:
*How to hide one xp partition from another with grub?
**Is it possible to do so if I have only one hard disk? Or is it
somehow connected with it?
Yes.
Check the hide and unhide commands.
It would be something as this:
title Boot 1
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
boot
title Boot 2
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,1)
chainloader +1
boot
The problem with some xps is that even if you do this trick they
remember the partitions that were before the hiding.
I think there's a solution about editing I don't know what about the
registry.
Or... if you do not mind working... you hide the 2nd windows.
You install the 1st windows. You hide the 1st windows.
And then you install the 2nd windows. Then... you use these commands
from grub console and you're done.
If you do not mind reinstall Windows you can recover your grub with my
Super Grub Disk (http://adrian15.raulete.net/grub/)
You can also use Super Grub Disk to hide and unhide partitions and
boot whatever you want to (in theory, I haven't tried it myself in a
real system).
The option is found inside the Special Boot menu. Hide and Unhide
and... boot option I think it is called.
adrian15
_______________________________________________
Bug-grub mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-grub
I did alot of work along these lines... I got it all figured out, but
have not actually done a clean sweep to get my own system up.
Eventually I hoped to write it up and get it to the list, but my notes
are poor and I don't remember everything. I had 10 Win2K systems on one
PC, including out of logical partitions, on both hda and hdb. ("10" is
a limit of NTLDR, else you could have alot! Perhaps you could have
another grub entry that chainloads a hacked pbr that load a second NTLDR
(NTDLR2) which is in turn hacked to load boot2.ini instead of boot.ini
with 10 more?).
Anyway, the trick is that they have to be completely hidden from each
other, and Win2K is very good and cleaver at figuring things out and
remembering. Sometimes I had systems that APPEARED to be running
indpendently, but in reality were accessing files from another Windows
partition! Don't be fooled - it is easy. Once you think it is working,
try trashing the other windows installation and see if the one you think
you are running still runs. (You cat dd if=/dev/hdX | gzip -c >
/nfsmount/save.tgz pretty fast on a 100MBit net to save a partition,
then restore it later with the inverse).
I had grub fiddle the hiding, then start the NT loader, which gave me a
choice of partitions to boot Win2K from. NTLDR was in its own fat32
partition. grub was chainloading a file with the NT boot sector (pbr)
from that partition. All my Win2K installations were to FAT32, not
NTFS. You would have to study the Starman stuff to see about the length
of the NTFS PBR.
I am quite sure that everything I learned applies to XP also, although I
have to stop short because I don't have XP. I learned much from the
"Starman"'s pages about MBRs.
With regards to your question, the problem, as Adrian indicated, is that
Windows remembers everything it has ever seen, even if it is now
hidden. I have even wiped out the PBR (which has critical information
about the file system) and had Windows 2K still happily and successfully
use the partition. What you need to do is to get Windows 2K to believe
that everything it knows about a disk may be invalid. To do this you
need to hide all of the partitions except for the one you want to be
visible to the copy of XP you are about to boot, then zero the serial
number in the MBR of every disk that you want Windows to re-ennumerate.
When you boot Win2K it will invalidate everything it knew about the
disks with the zeroed SN and reenumerate the partitions. Hidden ones
will not be noticed. You will have to go through this for each XP system.
Note that you CAN use the "storage management" stuff under XP to assign
a drive letter to a hidden parition - then you have let the cat out of
the bag, and you will have to hide it and clear the disk SN again to get
XP to forget about it.
To zero the MBR S/N, boot your favorite linux CD and run the following
command:
dd if=/dev/zero of=/dev/hda bs=1 count=4 seek=440
This of course zeros /dev/hda. For another disk, put /dev/hdb, etc.
Hope this helps. Sorry I can't give you a complete dump at this time.
I wish I had written it up when it was fresh in my mind.
--Ray
_______________________________________________
Bug-grub mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-grub