Reply
Contributor
dayrelton
Posts: 23
Registered: ‎04-09-2012

Wiki on MBR , logical drive letters and disk signature link to registry - ah the possible schitzo

http://en.wikipedia.org/wiki/Master_boot_record

 

There is space for 4 partitions no drive letter saved in partition storage!

Uses Windows assigned logical letters.

 

However, the 4 byte signature at the MBR root level - see "Disk Identity" section:

 

In addition to the bootstrap code and a partition table, master boot records may contain a Windows NT disk signature. This is a 32-bit value that is intended to identify uniquely the disk medium (as opposed to the disk unit — the two not necessarily being the same for removable hard disks).

The disk signature was introduced by Windows NT version 3.5, but is now used by several operating systems, including the Linux kernel version 2.6 and later. Linux uses the NT disk signature at boot time to determine the location of the boot volume.[18]

Windows NT (and later Microsoft operating systems) uses the disk signature as an index to all the partitions on any disk ever connected to the computer under that OS; these signatures are kept in registry keys, primarily for storing the persistent mappings between disk partitions and drive letters. It may also be used in boot.ini files (though most do not), to describe the location of bootable Windows NT (or later) partitions.[

 

 

Contributor
dayrelton
Posts: 23
Registered: ‎04-09-2012

Copy done - When source was in 1st partiiton and clone is not in the 1st partition - a solution?

Booting from the 2nd partition can cause the 'schitzo situation' where a registry entry says the OS is in the 1st partition.

 

It appears this can be done with easeUS.

My new clone ends up in 2nd partition as 1st partition contains just XP bare load and not my registered software.

[but this was useful to run NG from as source was not the current OS and might have has files open, etc.]

 

Compress the new  2nd partition hopefully enough to move 1st partition to end of disk.

Then expand the new OS clone partition forward/backward to take up all unallocated space

 

The registry entries of the original OS point to C: since it was the 1st partition and now, so does the clone.

Now that it is back in 1st position, make it active and boot.

 

[the reason my first boots with it in 2nd position worked were a quirk of windows handling the boots due to system updates]

[when I hibernated and then rebooted the next day - oops schitzo - dark screen with underscore

 

Note barebones OS in 2nd partition should still have its registry 'pointing' to C:

Just do not make it active and boot from it.

 

My copy just finished after 4hours and 2 secs [took 2 mins longer after being defragged?!??!]

 

Any thoughts on my swapping plan?

I will shutdown my system with current C:

Then I will swap disks so my original is in the laptop and boots as C:

Then I will use easeUS to swap position of partitions on disk in USB caddy and make resulting 1st one [the clone] active.

Shutdown

Then swap the disks again and boot - clone now in 1st partition and its registry should like that.

 

Contributor
dayrelton
Posts: 23
Registered: ‎04-09-2012

A Wrinkle - original disk had 2 small partitions too - the saga continues ...

The OS partition is actually the SECOND on my original disk.

There is a small FAT16 in the 1st partition and a small FAT32 in the 3rd.

Neither ever gets a drive letter, but both are marked primary.

Looks like some stuff that came loaded from Dell.

 

So was the OS set in the registry to look at the 2nd partition all along?

Is this why I was able to boot the clone without problems 3 times?

And then it failed for some other unknown reason when I hibernated and then tried to reboot the next day?

.

Printed out registry snapshot of Mounted Devices and Disk Management display.

Will now put my original disk in laptop, boot and see what registry entries look like there.

 

Ok, need some more thinking before I try anything else.

Super Bot Obliterator
Brian_K
Posts: 5,330
Registered: ‎04-19-2009

Re: Here goes in reall-time - All software shows the logical letters assigned by windows

[ Edited ]

dayrelton wrote:

I put the new drive in the laptop and:

C: is assigned to the booted active boot partition [tech-house XP]

E: is assigned to the clone on same disk

F: is assigned to my original in the USB caddy.

 



Jim,

 

The booted OS assigns the drive letters and depending how you setup each OS the drive letters may be different. The only drive letter that matters is the drive letter of the booted OS. E: and F: as letters are of no importance. They could be X: and Y: and things would be no different. In fact to avoid confusion it can be better to avoid mentioning non active drive letters at all. For example, the second partition on the first HD can be called D1P2. It is always D1P2 no matter which OS is booted but it might be D: drive in one OS, F: drive in another OS, etc. When a computer is turned off there are no drive letters. Some people call the HD a C: drive which is really confusing. They even talk about the C: drive they have in a drawer. The booted OS assigns the drive letters. If the OS isn't booted there are no drive letters but there is still D1P2. Windows allows you to change any drive letter except for the boot partition (Microsoft terminology), the partition containing the Windows folder.

 

You asked about Disk Signatures. It's explained in this page along with the cloning traps we've discussed.

 

http://www.goodells.net/multiboot/partsigs.shtml

 

 

Phishing Phryer
DaveH
Posts: 4,689
Registered: ‎01-06-2010

Re: A Wrinkle - original disk had 2 small partitions too - the saga continues ...

You will still have the wrong registry entry in the "mounted devices" key.

 

As I understand this, please correct me if I am wrong:

C is the tech installed version of XP  (XP version 1)

E is your old version of XP and source for the clone (XP version 2)

F is the desitnation of the clone (copy of XP version 2).

 

XP version 2 (currently on E) of course boots as the C drive if it is booted alone, that partition must be C therefore the disk signature for that partition is set for C.    Registry says: Disk signature 2222 must be C

 

You clone that OS into the second partition and it carries over that registry entry. Lets say the destination partition signature is 3333.  Windows boots, the registry loads and it hits the entry: 2222 must be C.

That is the first partition on that drive when it should be the second, a hybrid has been created and it becomes scitzoid and barfs.

 

The solution is to boot into one of the other versions of windows and then do an offline registry edit of the registry that is on (copy of XP version 2).

If you know the incorrect letter that it has taken, you just need to change the keys for the C drive and the incorrect letter.

 

One will say: \DosDevices\C:, the other one will be : \DosDevices\X:

(X is the incorrect letter).

 

In order to switch them you temporarily have to move one out of the way to free up that letter.

right click on DosDevices\C: and rename it to DosDevices\Z:

Then rename the incorrect letter to C and rename Z to any letter not being used.  (that will be the OS on partition 1, you can later use disk management to rearrainge the letter.

 

Also don't forget about how you want it to boot.

Ideally you should not be changing the active partition each time, you should pick one as the primary (the first) and create another entry in the boot.ini to boot the second version.

 

Dave

 

Phishing Phryer
DaveH
Posts: 4,689
Registered: ‎01-06-2010

Re: A Wrinkle - original disk had 2 small partitions too - the saga continues ...

Or am I the one that is still confused?

Phishing Phryer
DaveH
Posts: 4,689
Registered: ‎01-06-2010

Re: A Wrinkle - original disk had 2 small partitions too - the saga continues ...

If I'm on the right track here, I'll tell you how I did this in the past.   I think I remember, it's confusing because I have done several similar things as tests.

 

When you look under the registry key: HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

You will see the drives listed as I showed: \DosDevice\X:

You also see the "value data" for each key.  I remember Brian saying that the value data is generated as a product of the disk signature and the starting point in sectors of the partition.   That makes it a unique calculation and not a random number.

Since it's a mathamatical calculation, that data will be the same for each version of windows that assigns that partition a letter.

 

Lets say you are currently in "Tech installed XP" with the clone already done and the destination is F:

Open regedit and go to the above key and look for the value data that is shown for F:

It may look something like this: 6b 6b 6c 00 7e .........etc

Make a note of that value data, that is the partition that must be assigned to C within the registry of the system that is currently on the F drive.

(Not the registry you are in right now, the registry inside the clone (copy of XP version 2)

Close the branches of the registry so not to confuse you.

Click HKEY_LOCAL_MACHINE one time to highlight it and then go to: File\load hive

Browse to F:\Windows\System32\Config and select the "System" hive

When it asks for a name give it "Temp"

Then naviagte to Temp\Mounted devices

Note, you are now "inside" the registry of the operating system currently on F  (copy of XP version 2).

 

Look for the value data you noted above, that is the partition that has to be the C drive.

Since \DosDevices\C is already being used and pointing to the wrong partition, you need to rename it to get it out of the way.

Right click on it and chage the C: to Z:

Then find the correct value data you noted and change whatever letter it currently is to C:

 

When your done, click once on the "Temp" key to highlight it and then go to: File\Unload Hive

 

Boot the clone (copy of XP version 2) and it should boot correctly as C.

 

I can tell if I'm in a hybrid by creating text files on the desktops that are different.

windows version 1.txt  for example on the first version.   If your booting into a hybrid that test file will appear in the second operating system because it's loading the incorrect  User\desktop folder.

 

Sorry, If I still misunderstand the problem.

Dave

Super Bot Obliterator
Brian_K
Posts: 5,330
Registered: ‎04-19-2009

Re: A Wrinkle - original disk had 2 small partitions too - the saga continues ...

As I understand the situation, Jim has XP1 (installed recently) and XP2 (a clone of his original OS) on the 120 GB HD.

 

Each boots as C: drive. (ignore the other drive letters as they aren't relevant to this discussion)

 

The two XPs don't share booting files. Each is an independent OS which could boot on its own if the other OS was deleted.

 

Jim, is that correct?

Contributor
dayrelton
Posts: 23
Registered: ‎04-09-2012

I See the problem just need to pick the foolproof solution - see my choice in bold below

Brian, Dave

 

80GB - 'old' disk

160GB - 'new' disk

 

The old disk has the original OS, call it XP0 - signature C:

The new disk has the tech-house barebones, call it XP1 - also signature C:

I ran NG from XP1

I cloned XP0 to 2nd partition on new disk - call clone XP2 - also signature C:

 

XP2 has not been booted - not active [I made XP1 active right after clone was made since NG made XP2 active]

But since XP1 has been booted since cloning, it may have updated its registry and changed XP2 from C: to something else as there were duplicate C:'s ???

 

TRUE Brian, the new disk has 2 OS's both with C: signatures in their registries and presumably each would boot if the other were deleted.  [of course, until this is solved, having 2 disks with working OS's is good since I can use XP1 to run NG from to copy XP0 without having to worry about files being accessed/open causing problems]

 

Dave I think you have it per Goodells link from Brian

The Goodells article seems to have the solution - 3 choices actually.

 

Cleanest is Method #2 - boot XP0 [original] and delete the registry entries.

Swap the disks and boot XP1 [tech-house], run NG and clone XP0 to XP2 on new drive with XP2 made active.

Boot XP2 which rebuilds its registry keys and MBR [apparently sets XP1 as something other than C: so there is no schitzo.]

Now I can swap disks again and boot XP0 and its registry keys and MBR get rebuilt.

[if clone works, then tech-house XP1 can be deleted and XP2 will fix its registry and MBR on its next boot]

  

So I am going to mull this all over since I have been up since 2AM - thank you both for sticking with this.

 

Super Bot Obliterator
Brian_K
Posts: 5,330
Registered: ‎04-19-2009

Re: I See the problem just need to pick the foolproof solution - see my choice in bold below

Jim, you said,

 

"I cloned XP0 to 2nd partition on new disk - call clone XP2 - also signature C:"

"XP2 has not been booted"

 

I thought you booted XP2 yesterday or is this a new clone? More after your answer.