help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can Grub start Windows XP from "other" partition


From: Ulf Zibis
Subject: Re: Can Grub start Windows XP from "other" partition
Date: Mon, 28 Jan 2013 19:33:59 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2

Hi All, hi Felix,

as I'm not subscribed to this list, please cc me while answering, e.g. by "Reply 
all".

Maybe you remember this discussion.

Now I've found a possibility to have 2 WinXP installations, both originally installed on "C:", alternatively running on one disk. As I still was unable to boot a Windows by Grub from a logical partition (only NTLDR can do that, but in my case resolves incompatible drive letter), I deleted the sda2 recovery partition, to use it for the old WinXP installation.

First I tried this:
http://www.gnu.org/software/grub/manual/grub.html#DOS_002fWindows

It works for to boot the Win-installation on sda1, but it dosn't work for the one on sda2 (~ 10 seconds after WinXP boot screen I got a blue-screen).

So the only thing I found out, that works, is to swap the order of those partitions in the partition table:
         Device Boot Start     End   #cyls    #blocks   Id  System
      /dev/sda1   *      0+   3038    3039-  24410736    7 HPFS/NTFS/exFAT
      /dev/sda2      16418   19456    3039   24410767+   7 HPFS/NTFS/exFAT
      /dev/sda3       3039    5390    2352   18892440   83  Linux
      ....
exchange/toggle with:
      /dev/sda1      16418   19456    3039   24410767+   7 HPFS/NTFS/exFAT
      /dev/sda2   *      0+   3038    3039-  24410736    7 HPFS/NTFS/exFAT
      /dev/sda3       3039    5390    2352   18892440   83  Linux
      ....

Unfortunately grub can't do that until now, so I'wd like to suggest an enhancement (is this the right place here?) e.g.:
      parttool (hd0,1) swap-order (hd0,2)

Thanks,

-Ulf


On 2012-11-17 01:10 (GMT+0100) Ulf Zibis composed:

    I have an old bad running WinXP installation, which was installed on 
partition
    1 as C:.
    Now I want to move this installation to another partition and make a fresh
    WinXP installation on
    partition 1.
    For some reasons, I want to have the possibility to run the old installation
    later. I believe, that
    I can run it, if I manually "hide" the 1. partition and mark the 2. as
    active/boot, so Windows will
    guess the 2. partition as C:.
    I Grub smart enough to do that for me when booting the old Windows partition
    from the 2. partition?

    Ideally I would like to move the old WinXP installation to a "logical"
    partition. Would that also work?
    So my preferred partitioning would be like:
    Primary partition 1: new Windows XP installation
    Primary partition 2: Thinkpad Recovery (physically at the end of the of the
    harddrive)
    Primary partition 3: Ubuntu
    Extended partition 4:
    Logical partition 5: Ubuntu swap
    Logical partition 6: Data
    Logical partition 7: Backup
    Logical partition 8: old bad Windows XP installation (Copy from originally 
C:)


> Windows primary partitions cannot be "moved" except via sophisticated understanding and working knowledge of partitioning and the Windows registry.

Some time ago I was able to manually hide partition 1 and flag partition 2 for boot. In that case, the "old" Windows was moved from primary partition 1 to primary partition 2. IIRC then the "old" Windows booted properly without any registry change. In MBR I set:
1BE: 80 -> 00
1C2: 07 -> 17
1CE: 00 -> 80
(This hack should not work, if the "old" Windows is moved into a logical partition in the extended area.) IIRC, the boot manager, distributed with the old commercial Powerquest Partition Manager, used exactly this technique to manage multi-boot on multiple Windows installations. I would be happy, if Grub 2 could somehow do the same, and revert the change when booting from another partition. This would necessitate to delete the Thinkpad Recovery partition or install Linux to a logical partition. So still preferentially I would like Grub 2 to boot the new Windows installation from primary partition 1 and the "old" Windows installation from any logical partition, but having the systemdrive named as C: in both cases.

I remember that I had read a tutorial about "duplicating Windows" to 2 partitions for the purpose to have a working installation and a test installation to try out dangerous things without corrupting the first. I'm pretty sure, that the 2nd one was created by just copying the 1st, and if booted into the 2nd, partition 1 appeared as D:.
Unfortunately I do not find this tutorial again by Google.

> Windows needs a primary to be C:, but it needn't be "installed" to C:.

In other words, Windows needs the NTloader, boot.ini etc. in the first Windows-visible-native-typed partition which is always named as C:. If Windows itself is "installed" in any other other partition, it would be named different, e.g. D:, E: ... right? Also Grub 2 is not able to boot Windows from a logical partition, if there is no Windows-visible-native-typed primary partition?

> What you can do is designate the new installation be "installed" to a logical, as long as there is a C:/primary to boot from. If there are no other Windows-native partition types, the logical will be D:, where the new XP would be installed and run from after booting from C:, much like Linux can have a separate /boot instead of having everything on /.

Yes, that should work. Then I would have the "old" Windows in C: and the new installed Windows in D:, meaning, that the system drive would be D:
But I want it vice versa, to later have the possibility to simply delete the 
"old" Windows partition.

> If you now have Grub on the MBR, the Windows installation will overwrite it with standard PC MBR code. Before starting another Windows installation if you install Grub to your Ubuntu / partition, then either of Windows or Linux can chainload the other via the standard MBR code Windows will install, as spelled out on http://fm.no-ip.com/PC/install-doz-after.html which should help understanding multiboot with more than one Windows as well as with Linux.

Do I understand right, that here Grub 2 can chainload Windows via the hda1, even if hda3 is the "active" partition?

- Ulf





reply via email to

[Prev in Thread] Current Thread [Next in Thread]