CN103135947B - 一种显示Windows盘符的方法和装置 - Google Patents

一种显示Windows盘符的方法和装置 Download PDF

Info

Publication number
CN103135947B
CN103135947B CN201310098815.3A CN201310098815A CN103135947B CN 103135947 B CN103135947 B CN 103135947B CN 201310098815 A CN201310098815 A CN 201310098815A CN 103135947 B CN103135947 B CN 103135947B
Authority
CN
China
Prior art keywords
drive
subregion
windows
partition table
hard disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310098815.3A
Other languages
English (en)
Other versions
CN103135947A (zh
Inventor
陈章琪
刘昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310098815.3A priority Critical patent/CN103135947B/zh
Publication of CN103135947A publication Critical patent/CN103135947A/zh
Application granted granted Critical
Publication of CN103135947B publication Critical patent/CN103135947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种显示Windows盘符的方法和装置,涉及计算机技术领域。该方法包括:在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息;从硬盘中获取硬盘的分区表;根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系;根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作。本发明的技术方案能够使得用户在非Windows系统下,找到自己熟悉的盘符,从而方便、快捷地找到文件,在Windows起不来的情况下,把重要文件和数据备份出来。

Description

一种显示Windows盘符的方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种在一种显示Windows盘符的方法和装置。
背景技术
通常在非Windows系统中列举硬盘的盘符时,和用户在Windows系统下看到的不一致,导致Windows用户在非Windows系统中找硬盘上的文件比较困难。
例如,Linux系统在显示硬盘的时候没有显示盘符,仅仅是显示硬盘的分区大小,Windows用户在Linux系统上查找硬盘上的文件非常不方便。又例如,WinePE系统中只是简单的按照分区顺序来依次显示盘符,如第一个分区显示为C盘,第二个分区显示为D盘,以此类推,然而实际上Windows上的盘符并不是以分区顺序来分配的,很可能C盘并不是第一个分区。
当用户在Windows系统不可用的情况下,使用基于非Windows系统的急救盘(例如,360急救盘是一款类似于WinPE或者LiveUSB急救类产品,其作用是在用户的操作系统崩溃、无法正常启动的时候为用户提供一个临时性的、安全的操作环境。让用户可以对硬盘上的文件及数据进行管理,对损坏的系统进行修复,甚至能够对硬盘上已经损坏的Windows操作系统进行修改操作)将重要文件备份到U盘或其他分区时,由于非Windows系统不显示盘符或者显示的盘符与Windows系统不一致,导致Windows用户查找文件很困难,或者错误的删除其它盘的文件,导致数据丢失。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种显示Windows盘符的方法和装置。
依据本发明的一个方面,提供了一种显示Windows盘符的方法,其中,该方法包括:
在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息;
从硬盘中获取硬盘的分区表;
根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系;
根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作。
可选地,所述非Windows系统为WinPE系统或Linux系统。
可选地,所述在非Windows系统中访问Windows的注册表文件包括:当所述非Windows系统为Linux系统时,通过wine软件加载offreg.dll动态链接库,再通过offreg.dll动态链接库读取Windows的注册表文件;当所述非Windows系统为WinPE系统时,通过offreg.dll动态链接库读取Windows的注册表文件。
可选地,所述根据各盘符与各分区之间的对应关系,在非Windows系统中完成显示Windows盘符的操作包括:当所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式;当所述非Windows系统为WinPE系统时,通过调用Windows API DefineDosDevice重新创建盘符与分区之间的映射关系。
可选地,所述从所述注册表中获取盘符信息包括:从注册表文件的挂载设备文件夹中获取盘符信息。
可选地,在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的后8个字节为该盘符对应的分区的起始位置;所述分区表中包括:硬盘的每个分区与该分区的起始位置之间的对应关系;所述根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系包括:对于每个盘符,根据该盘符对应的分区的起始位置,从分区表中查找起始位置相同的分区,以该起始位置相同的分区为该盘符对应的分区。
可选地,在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的前4个字节为该分区表标识;所述从硬盘中获取硬盘的分区表包括:从硬盘的第一个扇区的指定位置查找到所述分区表标识,再从查找到的分区标识向后跳两个字节读取64字节的分区表。
可选地,所述在指定位置创建该对应的分区的快捷方式包括:在桌面上创建该对应的分区的快捷方式。
可选地,所述当所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式包括:对于任一个盘符X,将该盘符X对应的分区挂载到指定目录下,并且在另一指定目录下创建一个链接,该链接指向所述指定目录下的该盘符X对应的分区,然后在桌面上创建一个快捷方式指向所述另一指定目录下的所述链接。
根据本发明的另一方面,提供了一种显示Windows盘符的装置,其中,该装置包括:盘符信息获取单元、分区表获取单元、对应关系确定单元和显示处理单元;
所述盘符信息获取单元,适于在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息;
所述分区表获取单元,适于从硬盘中获取硬盘的分区表;
所述对应关系确定单元,适于根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系;
所述显示处理单元,适于根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作。
可选地,所述非Windows系统为WinPE系统或Linux系统。
可选地,所述盘符信息获取单元包括:第一获取单元和第二获取单元;
所述第一获取单元,适于在所述非Windows系统为Linux系统时,通过wine软件加载offreg.dll动态链接库,再通过offreg.dll动态链接库读取Windows的注册表文件;
所述第二获取单元,适于在所述非Windows系统为WinPE系统时,通过offreg.dll动态链接库读取Windows的注册表文件。
可选地,所述显示处理单元包括:第一处理单元和第二处理单元;
所述第一处理单元,适于在所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式;
所述第二处理单元,适于在所述非Windows系统为WinPE系统时,通过调用Windows API DefineDosDevice重新创建盘符与分区之间的映射关系。
可选地,所述盘符信息获取单元,适于从注册表文件的挂载设备文件夹中获取盘符信息。
可选地,在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的后8个字节为该盘符对应的分区的起始位置;所述分区表中包括:硬盘的每个分区与该分区的起始位置之间的对应关系;
所述对应关系确定单元,适于对每个盘符,根据该盘符对应的分区的起始位置,从分区表中查找起始位置相同的分区,以该起始位置相同的分区为该盘符对应的分区。
可选地,在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的前4个字节为该分区表标识;
所述分区表获取单元,适于从硬盘的第一个扇区的指定位置查找到所述分区表标识,再从查找到的分区标识向后跳两个字节读取64字节的分区表。
可选地,所述显示处理单元,适于在桌面上创建该对应的分区的快捷方式。
可选地,所述第一处理单元,适于对任一个盘符X,将该盘符X对应的分区挂载到指定目录下,并且在另一指定目录下创建一个链接,该链接指向所述指定目录下的该盘符X对应的分区,然后在桌面上创建一个快捷方式指向所述另一指定目录下的所述链接。
根据本发明的这种在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息,从硬盘中获取硬盘的分区表,根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系,根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作的技术方案,使得用户在非Windows系统下,找到自己熟悉的Windows盘符,从而方便、快捷地找到文件,在Windows起不来的情况下,把重要文件和数据备份出来,同时也避免了误删硬盘上的数据导致数据丢失的情况。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种显示Windows盘符的方法的流程图;
图2示出了根据本发明一个实施例的在Linux系统中显示Windows盘符的方法的流程图;
图3示出了根据本发明一个实施例的Windows系统的注册表示意图;
图4示出了根据本发明一个实施例的在WinPE系统中显示Windows盘符的方法的流程图;
图5示出了根据本发明一个实施例的一种显示Windows盘符的装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种显示Windows盘符的方法的流程图。这里是在非Windows系统中,参见图1,该方法包括:
步骤S110,在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息。
步骤S120,从硬盘中获取硬盘的分区表。
步骤S130,根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系。
步骤S140,根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作。
根据图1所示的方法中,在非Windows系统中确定Windows系统中各盘符与各分区之间的对应关系,然后在非Windows系统中完成显示Windows盘符的操作,可以使得Windows用户能够在非Windows系统看到Windows盘符,从而方便快捷地找到所需的文件。
在基于非Windows系统的急救盘应用中,当Windows系统不可用时,使用急救盘运行该非Windows系统,然后通过图1所示的操作,在该非Windows系统中显示Windows盘符,从而使得习惯使用Windows系统的用户可以快速地查找到重要的文件,将其备份到U盘或其他分区中,同时也避免了误删硬盘上的数据导致数据丢失的情况。
下面以非Windows系统为WinPE系统或Linux系统为例对图1所示方法进一步详细说明。
图2示出了根据本发明一个实施例的在Linux系统中显示Windows盘符的方法的流程图。参见图2,该方法包括:
步骤S210,在Linux系统中,通过wine软件加载offreg.dll动态链接库,再通过offreg.dll动态链接库读取Windows的注册表文件。
这里,wine是一款Linux系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行。offreg.dll的作用是访问Windows的注册表文件。
步骤S220,从注册表文件中获取盘符信息。
本步骤中时从注册表文件的挂载设备文件夹中获取盘符信息。图3示出了根据本发明一个实施例的Windows系统的注册表示意图。参见图3,“挂在设备(MountedDevices)”的路径为HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices。
根据本发明一个实施例所获取的盘符信息如表1所示:
表1
参见表1,在盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的前4个字节为分区表标识,该盘符数据的后8个字节为该盘符对应的分区的起始位置。在表1中,C、D、E和F盘的盘符数据的前4个字节相同,均为7b67cc62,则说明这几个盘符时在同一个硬盘上。
步骤S230,从硬盘中获取硬盘的分区表。
本步骤中,从硬盘的第一个扇区的指定位置(0x1b8)查找到分区表标识7b67cc62,再从查找到的分区标识向后跳两个字节读取64字节的分区表。
根据本发明一个实施例所得到的分区表如表2所示:
表2
参见表2,从7b67cc62开始,跳两个字节后,用中括号括起来的64个字节即为所得到的分区表。分区表中包括:硬盘的每个分区与该分区的起始位置之间的对应关系。
步骤S240,根据盘符信息和分区表确定各盘符与各分区之间的对应关系。
在本步骤中,具体来说对于每个盘符,根据该盘符对应的分区的起始位置,从分区表中查找起始位置相同的分区,以该起始位置相同的分区为该盘符对应的分区。
例如,盘符数据的后八个字节是这个盘符对应的分区的起始位置,单位是字节,而硬盘分区表中的分区起始位置以扇区为单位。以C盘为例,起始位置是0x7e00字节,对应的起始位置是0x7e00/512等于0x3F,其中,512字节是一个扇区的大小,从硬盘分区表中查找发现第一个分区就是从第0x3F扇区开始的,所以C盘就是第一个分区。以此类推,找出这块硬盘上的所有分区与盘符的对应关系。
步骤S205,在Linux系统中,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式。
在本发明的一个实施例中,可以在桌面上创建对应分区的快捷方式。
在本发明的一个实施例中,本步骤中可以执行如下:对于任一个盘符X,将该盘符X对应的分区挂载到指定目录下,并且在另一指定目录下创建一个链接,该链接指向所述指定目录下的该盘符X对应的分区,然后在桌面上创建一个快捷方式指向所述另一指定目录下的所述链接。
以C盘对应的分区表示为sda1为例:把sda1挂载在/mnt/sda1目录下,并且在/mypc目录下创建一个链接C:,指向/mnt/sda1,这样就把C:和sda1的对应关系建立起来了,然后在桌面上创建一个快捷方式C:指向/mypc/C:,在用户双击这个快捷方式后,打开文件浏览器查看/mypc/C:下的文件,也就是/mnt/sda1下的文件。其它的分区也按这个方法来建立与盘符的关联。如果有多硬盘也是采用类似的方法,找出对应的关系,并在系统里建立盘符与分区的关联。
通过图2所示的方法,可以让用户使用基于Linux的急救盘时,找到自己熟悉的盘符,从而方便、快捷地找到文件,在Windows起不来的情况下,把重要文件和数据备份出来。
图4示出了根据本发明一个实施例的在WinPE系统中显示Windows盘符的方法的流程图。参见图4,该方法包括:
步骤S410,在WinPE系统中,通过offreg.dll动态链接库读取Windows的注册表文件。
步骤S420,从注册表文件中获取盘符信息。
本步骤的具体执行过程与步骤S220相同。
步骤S430,从硬盘中获取硬盘的分区表。
本步骤的具体执行过程与步骤S230相同。
步骤S440,根据盘符信息和分区表确定各盘符与各分区之间的对应关系。
本步骤的具体执行过程与步骤S240相同。
步骤S450,在WinPE系统中,通过调用Windows API DefineDosDevice重新创建盘符与分区之间的映射关系。
在本步骤中,在WinePE系统中找出Windows盘符与分区之间的对应关系后,调用Windows API DefineDosDevice重新定义盘符,具体步骤如下:
a)删除现在的C盘的映射:
DefineDosDevice(DDD_REMOVE_DEFINITION,“C:”,NULL);
b)创建新的C盘映射:DefineDosDevice(DDD_RAW_TARGET_PATH,“C:”,“\\Device\\Harddisk0\\Partition1”);
这样就把C盘和正确的分区对应上了。其他盘符的操作相同。
通过图4所示的方法,可以让用户使用基于WinePE的急救盘时,找到自己熟悉的Windows盘符,从而方便、快捷地找到文件,在Windows起不来的情况下,把重要文件和数据备份出来。
图5示出了根据本发明一个实施例的一种显示Windows盘符的装置的结构图。这里是在非Windows系统中显示Windows盘符,如图5所示,该装置包括:盘符信息获取单元510、分区表获取单元520、对应关系确定单元530和显示处理单元540。
盘符信息获取单元510,适于在非Windows系统中访问Windows的注册表文件,从注册表文件中获取盘符信息。
分区表获取单元520,适于从硬盘中获取硬盘的分区表。
对应关系确定单元530,适于根据盘符信息和分区表确定各盘符与各分区之间的对应关系。
显示处理单元540,适于根据各盘符与各分区之间的对应关系,在非Windows系统中完成显示Windows盘符的操作。
其中,非Windows系统可以为WinPE系统或Linux系统。
在本发明的一个实施例中,盘符信息获取单元510包括:第一获取单元和第二获取单元。
所述第一获取单元,适于在所述非Windows系统为Linux系统时,通过wine软件加载offreg.dll动态链接库,再通过offreg.dll动态链接库读取Windows的注册表文件;
所述第二获取单元,适于在所述非Windows系统为WinPE系统时,通过offreg.dll动态链接库读取Windows的注册表文件。
在本发明的一个实施例中,显示处理单元540包括:第一处理单元和第二处理单元。
所述第一处理单元,适于在所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式。在本发明的一个实施例中,第一处理单元适于对任一个盘符X,将该盘符X对应的分区挂载到指定目录下,并且在另一指定目录下创建一个链接,该链接指向所述指定目录下的该盘符X对应的分区,然后在桌面上创建一个快捷方式指向所述另一指定目录下的所述链接。
所述第二处理单元,适于在所述非Windows系统为WinPE系统时,通过调用Windows API DefineDosDevice重新创建盘符与分区之间的映射关系。
在本发明的一个实施例中,盘符信息获取单元510,适于从注册表文件的挂载设备文件夹中获取盘符信息。具体可参见前述的步骤S220中的描述。
在本发明的一个实施例中,在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的后8个字节为该盘符对应的分区的起始位置;所述分区表中包括:硬盘的每个分区与该分区的起始位置之间的对应关系。则对应关系确定单元530,适于对每个盘符,根据该盘符对应的分区的起始位置,从分区表中查找起始位置相同的分区,以该起始位置相同的分区为该盘符对应的分区。具体举例说明参见前述步骤S240的相关描述。
在本发明的一个实施例中,在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的前4个字节为该分区表标识。在分区表获取单元520,适于从硬盘的第一个扇区的指定位置查找到分区表标识,再从查找到的分区标识向后跳两个字节读取64字节的分区表。具体举例说明参见前述步骤S230的相关描述。
在本发明的一个实施例中,显示处理单元540,适于在桌面上创建该对应的分区的快捷方式。
综上所述,根据本发明的这种在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息,从硬盘中获取硬盘的分区表,根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系,根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作的技术方案,使得用户在非Windows系统下,找到自己熟悉的盘符,从而方便、快捷地找到文件,在Windows起不来的情况下,把重要文件和数据备份出来,同时也避免了误删硬盘上的数据导致数据丢失的情况。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的在非Windows系统中显示Windows盘符的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (18)

1.一种显示Windows盘符的方法,其中,该方法包括:
在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息;
从硬盘中获取硬盘的分区表;
根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系;
根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作。
2.如权利要求1所述的方法,其中,
所述非Windows系统为WinPE系统或Linux系统。
3.如权利要求2所述的方法,其中,所述在非Windows系统中访问Windows的注册表文件包括:
当所述非Windows系统为Linux系统时,通过wine软件加载offreg.dll动态链接库,再通过offreg.dll动态链接库读取Windows的注册表文件;
当所述非Windows系统为WinPE系统时,通过offreg.dll动态链接库读取Windows的注册表文件。
4.如权利要求2所述的方法,其中,所述根据各盘符与各分区之间的对应关系,在非Windows系统中完成显示Windows盘符的操作包括:
当所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式;
当所述非Windows系统为WinPE系统时,通过调用Windows APIDefineDosDevice重新创建盘符与分区之间的映射关系。
5.如权利要求1所述的方法,其中,所述从所述注册表中获取盘符信息包括:
从注册表文件的挂载设备文件夹中获取盘符信息。
6.如权利要求1所述的方法,其中,
在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的后8个字节为该盘符对应的分区的起始位置;
所述分区表中包括:硬盘的每个分区与该分区的起始位置之间的对应关系;
所述根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系包括:对于每个盘符,根据该盘符对应的分区的起始位置,从分区表中查找起始位置相同的分区,以该起始位置相同的分区为该盘符对应的分区。
7.如权利要求1所述的方法,其中,
在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的前4个字节为该分区表标识;
所述从硬盘中获取硬盘的分区表包括:从硬盘的第一个扇区的指定位置查找到所述分区表标识,再从查找到的分区标识向后跳两个字节读取64字节的分区表。
8.如权利要求4所述的方法,其中,所述在指定位置创建该对应的分区的快捷方式包括:
在桌面上创建该对应的分区的快捷方式。
9.如权利要求4至8中任一项所述的方法,其中,所述当所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式包括:
对于任一个盘符X,将该盘符X对应的分区挂载到指定目录下,并且在另一指定目录下创建一个链接,该链接指向所述指定目录下的该盘符X对应的分区,然后在桌面上创建一个快捷方式指向所述另一指定目录下的所述链接。
10.一种显示Windows盘符的装置,其中,该装置包括:盘符信息获取单元、分区表获取单元、对应关系确定单元和显示处理单元;
所述盘符信息获取单元,适于在非Windows系统中访问Windows的注册表文件,从所述注册表文件中获取盘符信息;
所述分区表获取单元,适于从硬盘中获取硬盘的分区表;
所述对应关系确定单元,适于根据所述盘符信息和所述分区表确定各盘符与各分区之间的对应关系;
所述显示处理单元,适于根据各盘符与各分区之间的对应关系,在所述非Windows系统中完成显示Windows盘符的操作。
11.如权利要求10所述的装置,其中,
所述非Windows系统为WinPE系统或Linux系统。
12.如权利要求11所述的装置,其中,所述盘符信息获取单元包括:第一获取单元和第二获取单元;
所述第一获取单元,适于在所述非Windows系统为Linux系统时,通过wine软件加载offreg.dll动态链接库,再通过offreg.dll动态链接库读取Windows的注册表文件;
所述第二获取单元,适于在所述非Windows系统为WinPE系统时,通过offreg.dll动态链接库读取Windows的注册表文件。
13.如权利要求11所述的装置,其中,所述显示处理单元包括:第一处理单元和第二处理单元;
所述第一处理单元,适于在所述非Windows系统为Linux系统时,对于每个盘符,在指定目录下挂载该盘符对应的分区,并在指定位置创建该对应的分区的快捷方式;
所述第二处理单元,适于在所述非Windows系统为WinPE系统时,通过调用Windows API DefineDosDevice重新创建盘符与分区之间的映射关系。
14.如权利要求10所述的装置,其中,
所述盘符信息获取单元,适于从注册表文件的挂载设备文件夹中获取盘符信息。
15.如权利要求10所述的装置,其中,
在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的后8个字节为该盘符对应的分区的起始位置;
所述分区表中包括:硬盘的每个分区与该分区的起始位置之间的对应关系;
所述对应关系确定单元,适于对每个盘符,根据该盘符对应的分区的起始位置,从分区表中查找起始位置相同的分区,以该起始位置相同的分区为该盘符对应的分区。
16.如权利要求10所述的装置,其中,
在所述盘符信息中,每个盘符对应一段12字节的二进制盘符数据,该盘符数据的前4个字节为该分区表标识;
所述分区表获取单元,适于从硬盘的第一个扇区的指定位置查找到所述分区表标识,再从查找到的分区标识向后跳两个字节读取64字节的分区表。
17.如权利要求13所述的装置,其中,
所述显示处理单元,适于在桌面上创建该对应的分区的快捷方式。
18.如权利要求13至17中任一项所述的装置,其中,
所述第一处理单元,适于对任一个盘符X,将该盘符X对应的分区挂载到指定目录下,并且在另一指定目录下创建一个链接,该链接指向所述指定目录下的该盘符X对应的分区,然后在桌面上创建一个快捷方式指向所述另一指定目录下的所述链接。
CN201310098815.3A 2013-03-26 2013-03-26 一种显示Windows盘符的方法和装置 Active CN103135947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310098815.3A CN103135947B (zh) 2013-03-26 2013-03-26 一种显示Windows盘符的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310098815.3A CN103135947B (zh) 2013-03-26 2013-03-26 一种显示Windows盘符的方法和装置

Publications (2)

Publication Number Publication Date
CN103135947A CN103135947A (zh) 2013-06-05
CN103135947B true CN103135947B (zh) 2015-09-09

Family

ID=48495829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310098815.3A Active CN103135947B (zh) 2013-03-26 2013-03-26 一种显示Windows盘符的方法和装置

Country Status (1)

Country Link
CN (1) CN103135947B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239023B (zh) * 2013-06-24 2018-10-09 腾讯科技(深圳)有限公司 移动存储装置管理方法及装置
CN105373339B (zh) * 2014-08-29 2019-02-12 深圳市金胜电子科技有限公司 一种硬盘数据的拷贝方法及系统
CN104281498B (zh) * 2014-09-18 2017-08-11 飞天诚信科技股份有限公司 一种windows系统下自动恢复逻辑驱动器的方法
CN105487860B (zh) * 2015-11-25 2021-06-08 普华基础软件股份有限公司 自动配置Linux桌面的方法及系统
CN105893273B (zh) * 2016-03-29 2019-04-09 广州市中海达测绘仪器有限公司 一种基于单磁盘实现多分区多盘符的方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999046672A1 (en) * 1998-03-10 1999-09-16 Ftp Software, Inc. Direct network file system
US6370545B1 (en) * 1999-04-29 2002-04-09 Kom Networks Method of accessing removable storage media
US6681325B1 (en) * 1999-09-15 2004-01-20 Powerquest Corporation Providing disk layout information to an operating system for booting after disk repartitioning
CN101320334A (zh) * 2008-06-26 2008-12-10 黄苏晋 个人移动工作站的设置方法
CN102479163A (zh) * 2010-11-25 2012-05-30 鸿富锦精密工业(深圳)有限公司 多硬盘自动识别系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999046672A1 (en) * 1998-03-10 1999-09-16 Ftp Software, Inc. Direct network file system
US6370545B1 (en) * 1999-04-29 2002-04-09 Kom Networks Method of accessing removable storage media
US6681325B1 (en) * 1999-09-15 2004-01-20 Powerquest Corporation Providing disk layout information to an operating system for booting after disk repartitioning
CN101320334A (zh) * 2008-06-26 2008-12-10 黄苏晋 个人移动工作站的设置方法
CN102479163A (zh) * 2010-11-25 2012-05-30 鸿富锦精密工业(深圳)有限公司 多硬盘自动识别系统及方法

Also Published As

Publication number Publication date
CN103135947A (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
US11157449B2 (en) Managing data in storage according to a log structure
US8370835B2 (en) Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
CN103135947B (zh) 一种显示Windows盘符的方法和装置
US9563446B2 (en) Binary file generation
US8549271B1 (en) Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device
US10223021B2 (en) Handling failure of a command to add a record to a log
CN110096227B (zh) 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质
US11086638B2 (en) Method and apparatus for loading application
US20120278580A1 (en) Data storage reclamation systems and methods
CN105468686A (zh) 减少冗余数据的方法及装置
CN110162525B (zh) 基于b+树的读写冲突解决方法、装置及存储介质
US10212067B2 (en) Dynamic symbolic links for referencing in a file system
US9116621B1 (en) System and method of transfer of control between memory locations
CN103150506A (zh) 一种恶意程序检测的方法和装置
CN105183760A (zh) 一种网页组件加载方法和装置
US20040215949A1 (en) Discriminating between bootable devices in an information handling system
CN110168532A (zh) 数据更新方法和存储装置
CN111443912A (zh) 基于组件的页面渲染方法、装置、计算机设备和存储介质
CN102999725B (zh) 恶意代码处理方法和系统
US9785517B2 (en) Rebuilding damaged areas of a volume table using a volume data set
CN104376126A (zh) 在Linux驱动中绑定内核符号的方法及装置
US20090043770A1 (en) Method of Realizing Commands Synchronization in Supporting Multi-Threading Non-Volitale Memory File System
US9766990B1 (en) Checkpoint block storage device
US20110093848A1 (en) System for improving a user-space environment
CN102831002A (zh) 补丁程序卸载方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220715

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.