nico 发表于 2006-3-10 14:01

【BLOG】系统盘符错乱, volume GUID, MountedDevices, Ghost


SYMPTOMS
After you try to log on to your Windows 2000-based computer by using a valid user name and password, the Loading your personal settings dialog box is displayed, followed by the Saving your settings dialog box. However, the desktop does not appear, and the Welcome to Windows logon screen is displayed again.

Note If the paging file is located on the system or boot partition, you may also receive the following warning message before returning to the "Welcome to Windows" logon screen:

Your system has no paging file, or the paging file is too small.

CAUSE
This problem can occur if your Windows 2000 boot partition drive letter does not match the drive letter assigned during the initial Windows 2000 Setup. Windows 2000 maintains a record of drive letters in a registry based database and re-assigns drive letters based on Globally Unique Identifiers (GUID) recorded for each volume. Should the volume GUID change or be duplicated (by hard drive cloning software), the original drive letter may not be re-assigned to the boot volume.

This may also occur if you break a system/boot mirror, and then attempt to boot to the old shadow drive if the original primary drive is missing or inaccessible. This is because the volume GUID for the shadow drive is different than that of the original primary drive and does not get the same drive letter assigned.



Windows 2000 maintains a record of drive letters in a registry based database and re-assigns drive letters based on Globally Unique Identifiers (GUID) recorded for each volume.

How to define/create a volume GUID?


Unique Volume Names
Two factors can make it hard to reliably mount a specific volume at a
specified volume mount point across operating system restarts. One factor
is that two different volumes can have the same label, which makes them
indistinguishable except by drive letter. The other factor is that drive
letters do not necessarily remain the same. If a computer's administrator
does not use the Disk Administrator to enforce drive letters, then drive
letters can change as drives are removed from or added to the system.

To solve this problem, the system refers to volumes to be mounted with
unique volume names. These are strings of this form:

"\\?\Volume{GUID}\"

where GUID is a globally unique identifier (GUID) that identifies the
volume. The \\?\ turns off path parsing and is ignored as part of the path,
as discussed in Path Lengths. Note the trailing backslash. All volume mount
point functions that take a unique volume name as a parameter require the
trailing backslash; all volume mount point functions that return a unique
volume name provide the trailing backslash. You can use CreateFile to open
a volume by referring to its unique volume name, but without a trailing
backslash. When using CreateFile, a unique volume name with a backslash
refers to the root directory of the volume.

The operating system assigns a unique volume name to a volume when the
computer first encounters it, for example during formatting or
installation. The volume mount point functions use unique volume names to
refer to volumes. To learn the unique volume name of any drive, use the
GetVolumeNameForVolumeMountPoint function.


volume GUID 应该是存放在分区内的某个文件/扇区内, 当使用 Ghost 复制一个分区时, 这个 volume GUID 也被复制, 如果再将这个分区复制到另一个分区时, 就会出现 volume GUID 重复的情况.
    (这种情况下, 系统会有两个系统, 修改 boot.ini 可以引导双系统. 但第二个系统下, 系统所在的分区就是 C:, 也就是说两个系统对应的 C: 不是一个分区, 这种情形下虽然 volume GUID 有重复, 但没有引起盘符紊乱)

kissgirl 发表于 2006-3-10 14:11

又来抛砖引玉~~~

这类问题让我郁闷了很久了,举个我自己的例子,我自己基本上不用光驱,所以41P上用slim的硬盘,每次装系统我习惯都把slim拔下来装,因为如果插上一起装,装好之后就会出现盘符错落(主盘分3个区,slim只有一个区),即使是这样,装好系统设置好前3个区盘符再插上slim,slim硬盘立即变成disk0,主盘变成disk1,百思不得其解。

nico 发表于 2006-3-10 14:33


The GUID is set during the formatting process. Windows uses the GUID for disk recognition. An arbitrary change risks the recognition of a volume depending upon the type of partitioning used - GPT or LDM.




O.k. There are 2 Serial numbers on a hard drive.

1 A Volume Serial number. (Can be changed, Use a program called WinHex are check out sector 0 )

2 A Hard drive serial number stored on EEPROM (Can't be changed)



volume GUID 不同于 Volume Serial Number. 后者可以通过 dir 看到, 前者可以用 dd for win 看到


C:\>dir a
Volume in drive C has no label.
Volume Serial Number is E075-2388

Directory of C:\


D:\nico\Desktop\dd>dd --list
rawwrite dd for windows version 0.3.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by the GPL.See copying.txt for details
Win32 Available Volume Information
\\.\Volume{f3f6e437-a195-11da-a964-806d6172696f}\
link to \\?\Device\HarddiskVolume1
fixed media
Mounted on c:\

看不出
f3f6e437-a195-11da-a964-806d6172696f
E075-2388
两者有什么直接联系

Change Volume Serial Number



While WinNT/2K and Windows 9x's built-in Label utility lets you change the labels of disk volumes, it does not provide any means for changing volume ids. This utiltity, VolumeID, allows you to change the ids of FAT and NTFS disks (floppies or hard drives) on both Windows 9x and Windows NT/2K/XP/2K3.

Usage: volumeid <driveletter:> xxxx-xxxx

This is a command-line program that you must run from a command-prompt window.

Note that changes on NTFS volumes won't be visible until the next reboot. In addition, you should shut down any applications you have running before changing a volume id. NT may become confused and think that the media (disk) has changed after a FAT volume id has changed and pop up messages indicating that you should reinsert the original disk (!). It may then fail the disk requests of applications using those drives.

http://www.sysinternals.com/Files/VolumeId.zip

[ 本帖最后由 nico 于 2006-3-10 14:43 编辑 ]

nico 发表于 2006-3-10 15:06

"难道 quoted 的内容不算字数?"

quoted from Ghost 8.0 readme.txt

Windows 2000/XP boot failures
-----------------------------
Boot failures after cloning Windows 2000/XP systems can usually be attributed to one of two causes:

Cause 1
-------
Differences between the position and layout of partitions after the clone resulted in new drive letters being assigned to existing volumes by the booting system.

Some elements of the Windows boot process appear to access files using paths with drive letters.

As a result, when the booting operating system fails to locate the file due to the drive being allocated a new drive letter, a boot failure occurs.

Solution
--------
When running Ghost, you can use one of the following command-line options.
a. Initialize the disk signature using the -FDSZ (force disk signature zero) switch. Initializing the disk signature forces Windows to discard any existing drive letters and to start reallocating new drive letters from scratch.

Note: Ghost generally performs this initialization during a Windows disk load operation. It will not perform this initialization if you are only loading a
partition. In this case the -FDSZ switch should be used to fix a boot failure.

b. Alternately, if you wish to retain the allocated drive letters, use the -FDSP switch (force disk signature preserve). This will only be required on Windows
disk load operations that result in a boot failure.

Cause 2
-------
Windows does not have the correct mass storage controller driver configured and loaded for the hardware it is booting on due to hardware differences between the source and destination computers.

Solution
--------
The Sysprep INF file (Sysprep.inf) contains a section for specifying one or more mass storage controllers that you want Windows to load before it continues to boot.

For more information, see the Microsoft Sysprep documentation at:

www.microsoft.com/windows2000/library/planning/incremental/sysprep11.asp

Cloning encrypted files
-----------------------
If you clone an image file that includes encrypted files on a Windows 2000 or XP computer and you perform a SID change, the encrypted files become inaccessible. Decrypt these files before creating the image file.

nico 发表于 2006-3-10 16:02

Multiple-path software may cause disk signature to change

http://support.microsoft.com/kb/293778/EN-US/


If Ftdisk detects a 0 (zero) or duplicate disk signature, then it writes a new signature without prompting or notifying the user.

You must change the signature immediately because Ftdisk cannot report the same unique ID (which is composed of the signature and partition offset) to Mount Manager (Mountmgr). When Mountmgr sees a new unique ID, it creates a new volume GUID and a fresh drive letter assignment for that new volume.

liemoony 发表于 2009-10-31 17:17

= =我今天不小心干了这事 后来终于 修改到能进系统了...但是我的系统分区变成每个重复一次了...好比C和G是同个分区却有2个盘符 而且输入法只认路径为G如果改C 无法启动.搞的我头打估计还是注册表里面有那里没修复 有没人能帮下我
页: [1]
查看完整版本: 【BLOG】系统盘符错乱, volume GUID, MountedDevices, Ghost