硬盘参数读取程序 - 硬盘型号、容量、序列号、固件版本等for Windows 98MENT2000XP

硬盘参数读取程序 - 硬盘型号、容量、序列号、固件版本等for Windows 98MENT2000XP
硬盘参数读取程序 - 硬盘型号、容量、序列号、固件版本等for Windows 98MENT2000XP

文件示意图:

//---------------------------------------------------------------------------

#include

#pragma hdrstop

//--------------------------------------------------------------------------- USEFORM("UnitHdDisk.cpp", FormHdParams);

//--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TFormHdParams), &FormHdParams);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

catch (...)

{

try

{

throw Exception("");

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

}

return 0;

}

//---------------------------------------------------------------------------

/*-------------------------------------------------------------------------*\

|

|

| IDE 硬盘参数读取程序|

| ~~~~~~~~~~~~~~~~~~~~ |

| Copyright (C) 1997-2003, Victor Chen |

| Email: victor@https://www.360docs.net/doc/d010125675.html, |

| Homepage: https://www.360docs.net/doc/d010125675.html, |

|

|

\*-------------------------------------------------------------------------*/ #include "ide_disk.h"

#pragma link "WinIo_bc.lib"

//--------------------------------------------------------------------------- unsigned char inportb(unsigned short p)

{

unsigned long v = 0;

GetPortVal(p, &v, 1);

return v;

}

//--------------------------------------------------------------------------- unsigned short inportw(unsigned short p)

{

unsigned long v = 0;

GetPortVal(p, &v, 2);

return v;

}

//--------------------------------------------------------------------------- unsigned long inportd(unsigned short p)

{

unsigned long v = 0;

GetPortVal(p, &v, 4);

return v;

}

//---------------------------------------------------------------------------

void outportb(unsigned short p, unsigned char v)

{

SetPortVal(p,v,1);

}

//---------------------------------------------------------------------------

void outportw(unsigned short p, unsigned short v)

{

SetPortVal(p,v,2);

}

//---------------------------------------------------------------------------

void outportd(unsigned short p, unsigned long v)

{

SetPortVal(p,v,4);

}

//=================================================== ========================

char DetectHDD(unsigned long BasePort) //bit 0: HDD-0, Bit 1: HDD-1 {

int HD_No, HD_Detected=0, i, f;

unsigned char HD_Selection[2]={0xa0,0xb0}; // C:1010 0000, D:1011 0000

for(HD_No=0; HD_No<=1; HD_No++)

{

f=0;

for(i=0;i<300;i++) //Get HDD Status, wait until HDD not busy

{

if((inportb(BasePort+7)&0x80)==0)

{

f=1;

break;

}

Sleep(2);

}

if(!f)continue;

outportb(BasePort+6, HD_Selection[HD_No]); //0# HDD Drive/Head Register

outportb(BasePort+7, 0x10); //0# HDD Status, Head back to Track 0

f=0;

for(i=0;i<300;i++) //Get HDD Status, wait until HDD not busy

{

if((inportb(BasePort+7)&0x80)==0)

{

f=1;

break;

}

Sleep(2);

}

if(!f)continue;

if(inportb(BasePort+7)==0x50) // HDD ready: 0101 0000

{

HD_Detected|=(1<

}

}

return HD_Detected;

}

//---------------------------------------------------------------------------

int GetHDDInfo(TIDE_ID_Inf *Info, char DriveNo, unsigned int

BasePort) //DriveNo ... 0:C, 1:D

{

unsigned int i=0;

int Err=0;

if(DriveNo==0)

outportb(BasePort+6, 0xa0); //select drive C:

else

outportb(BasePort+6, 0xb0); //select drive D:

outportb(BasePort+7, 0xec); //read HDD Info

while(inportb(BasePort+7)!=0x58) //0# HDD Status, wait for R/W ready 0101 0000

{

if(i>=300)

{

Err=1;

break;

}

Sleep(2);

i++;

}

if(!Err)

for(i=0;i<=255;i++)

Info->w[i]=inportw(BasePort);

return Err;

}

//--------------------------------------------------------------------------- void WordToStr(unsigned char *s, unsigned short *w, int n) {

int i;

for(i=0; i

{

s[i*2] = w[i]>>8;

s[i*2+1] = w[i]&0x00ff;

}

s[i*2]=0;

}

//---------------------------------------------------------------------------

/*-------------------------------------------------------------------------*\

|

|

| IDE 硬盘参数读取程序|

| ~~~~~~~~~~~~~~~~~~~~ |

| Copyright (C) 1997-2003, Victor Chen |

| Email: victor@https://www.360docs.net/doc/d010125675.html, |

| Homepage: https://www.360docs.net/doc/d010125675.html, |

|

|

\*-------------------------------------------------------------------------*/

#ifndef _IDE_DISK_H_YBCHEN_

#define _IDE_DISK_H_YBCHEN_

//-------------------------------------------------------------------------//

#include

#include "WinIo.h"

//-------------------------------------------------------------------------//

enum TIdePortAddrItem

{

IDE1_Port = 0x1f0, //primary IDE Controller

IDE2_Port = 0x170, //secondary IDE Controller

IDE3_Port = 0x1e8, //Tertiary IDE Controller

IDE4_Port = 0x168, //Quaternary IDE Controller

};

//--------------------- IDE_ID_Inf.Capabs (Offset 62H) --------------------// enum TIdeInfCapabsItem

{

IDE_TIM_DTA = 0x2000, //13 Standby Timer values used according to ATA standard

IDE_IOR_Spp = 0x0800, //11 IORDY supported

IDE_DIS_IOR = 0x0400, //10 device can disable use of IORDY IDE_LBA_Spp = 0x0200, // 9 LBA mode supported

IDE_DMA_Spp = 0x0100, // 8 DMA supported

};

//-------------------------------------------------------------------------//

#pragma pack(push,1)

typedef union

{

unsigned short w[256];

struct

{

unsigned short GenCfg; // 00h WORD general configuration

unsigned short L_Cyln; // 02h WORD number of logical cylinders

unsigned short Res_00; // 04h WORD reserved

unsigned short L_Head; // 06h WORD number of logical heads

unsigned short VndSp0; // 08h WORD vendor-specific unsigned short VndSp1; // 0Ah WORD vendor-specific unsigned short L_Sect; // 0Ch WORD number of logical sectors

unsigned short VndSp2; // 0Eh WORD vendor-specific unsigned short VndSp3; // 10h WORD vendor-specific unsigned short VndSp4; // 12h WORD vendor-specific unsigned short Serial[10]; // 14h 10 WORDs serial number

// no serial number if first word is 0000h

// else blank-padded ASCII serial number

unsigned short CnType; // 28h WORD vendor-specific

[controller type]

unsigned short BufNum; // 2Ah WORD vendor-specific

// [controller buf.size in 512-byte sectors]

unsigned short ECCByt; // 2Ch WORD number of vendor-specific(usually

// ECC) bytes on Read/Write Long

unsigned short Revisn[4]; // 2Eh 4 WORDs firmware revision

// no revision number if first word is 0000h

// else blank-padded ASCII revision number

unsigned short nModel[20]; // 36h 20 WORDs model number

// no model number if first word is 0000h

// else blank-padded ASCII model string

unsigned short Multip; // 5Eh WORD read/write multiple support

// bits 7-0:

maximum number of sectors per

// block supported,

// 00h if read/write multiple not supported

unsigned short Res_01; // 60h WORD reserved (0)

// able to do doubleword transfers if

// nonzero ???

unsigned short Capabs; // 62h WORD capabilities, bit 9: LBA supported

unsigned short Securi; // 64h WORD security mode

// bit 15: security-mode feature set supported

// bits 14-8: maximum number of passwords supported

unsigned short PIOTim; // 66h WORD PIO data transfer cycle timing

unsigned short DMATim; // 68h WORD single-word DMA data transfer cycle timing

//===================================================

=====================

unsigned short FldVal; // 6Ah WORD field validity

// bit 0: offsets 6Ch-73h valid

// bit 1: offsets 80h-8Dh valid

//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

unsigned short CLCyln; // 6Ch WORD logical cylinders in current translation mode

unsigned short CLHead; // 6Eh WORD logical heads in current translation mode

unsigned short CLSect; // 70h WORD logical sectors per track in current translation mode

unsigned long CLCapa; // 72h 2 WORDs current capacity in sectors (excluding device-specific uses)

//------------------------------------------------------------------------

unsigned short McSect; // 76h WORD multiple-sector count for read/write multiple command

unsigned long LBASec; // 78h 2 WORDs total number of user-addressable sectors (LBA mode), 00000000h if LBA mode not

supported

unsigned short SW_DMA; // 7Ch WORD single-word DMA transfer modes

// low byte is bitmap of supported modes (bit 0 = mode 0, etc.)

// high bytes is bitmap of active mode (bit 8 = mode 0, etc.)

unsigned short MW_DMA; // 7Eh WORD multiword DMA transfer

// low byte is bitmap of supported modes (bit 0 = mode 0, etc.)

// high bytes is bitmap of active mode (bit 8 = mode 0, etc.)

//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

unsigned short FC_PIO; // 80h WORD supported flow control PIO transfer modes

unsigned short MinDTm; // 82h WORD minimum multiword DMA transfer cycle time

unsigned short RcmDTm; // 84h WORD recommended multiword DMA cycle time

unsigned short MinNTm; // 86h WORD minimum non-flow-control PIO transfer cycle time

unsigned short MinPTm; // 88h WORD minimum PIO transfer cycle time with IORDY

unsigned short Res_02[2]; // 8Ah 2 WORDs reserved for future PIO modes (0)

//------------------------------------------------------------------------

unsigned short Res_03[57]; // 8Eh 57 WORDs reserved (0)

unsigned short VndSp5[32]; //100h 32 WORDs vendor-specific

unsigned short Res_04[95]; //140h 95 WORDs reserved (0)

//------------------------------------------------------------------------

unsigned short ChkSum; //1FE WORD Checksum and signature(0xa5)

};

} TIDE_ID_Inf; //Tt: 512 = 0x140+96*2

#pragma pack(pop)

//-------------------------------------------------------------------------//

extern char DetectHDD(unsigned long BasePort); //bit 0: HDD-0, Bit 1: HDD-1

extern int GetHDDInfo(TIDE_ID_Inf *Info, char DriveNo, unsigned int BasePort); //DriveNo ... 0:C, 1:D

extern void WordToStr(unsigned char *s, unsigned short *w, int n);

//-------------------------------------------------------------------------//

#endif

//-------------------------------------------------------------------------//

/*-------------------------------------------------------------------------*\

|

|

| IDE 硬盘参数读取程序|

| ~~~~~~~~~~~~~~~~~~~~ |

| Copyright (C) 1997-2003, Victor Chen |

| Email: victor@https://www.360docs.net/doc/d010125675.html, |

| Homepage: https://www.360docs.net/doc/d010125675.html, |

|

|

\*-------------------------------------------------------------------------*/

#include

#pragma hdrstop

#include "UnitHdDisk.h"

#include "IDE_DISK.H"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormHdParams *FormHdParams;

//---------------------------------------------------------------------------

__fastcall TFormHdParams::TFormHdParams(TComponent* Owner) : TForm(Owner)

{

Memo1->Text = "读取硬盘参数\r\nCopyright (C) Victor Chen\r\nHomepage: https://www.360docs.net/doc/d010125675.html,/\r\n\r\n";

Memo1->Lines->Add("按“硬盘参数”按钮读取硬盘参数\r\n==============================================");

bWinIoInitOK = InitializeWinIo();

if(!bWinIoInitOK)

{

Application->MessageBox("不能装载WinIO 程序!","错误信息",MB_OK|MB_ICONSTOP);

Application->Terminate();

}

}

//---------------------------------------------------------------------------

__fastcall TFormHdParams::~TFormHdParams()

{

if(bWinIoInitOK)

ShutdownWinIo();

}

//---------------------------------------------------------------------------

void __fastcall TFormHdParams::ButtonHdParamsClick(TObject *Sender)

{

TIdePortAddrItem ControllerPorts[] = {IDE1_Port, IDE2_Port}; AnsiString ControllerNames[] = {"IDE0", "IDE1"};

char *HardDiskNames[] = {"主盘", "从盘"};

char HardDiskDetected; //bit 0:master, bit 1:slave

TIDE_ID_Inf IDE_Info;

char Str[128];

移动硬盘无法识别解决方案1

移动硬盘顾名思义是就以硬盘为存储介质,运用在计算机之间交换大容量数据,强调便携性的存储产品。市场上绝大多数的移动硬盘都是以标准硬盘为基础的,而只有很少部分的是以微型硬盘(1.8英寸硬盘等)及台式3.5寸硬盘(硬盘盒),但价格因素决定着主流移动硬盘还是以标准笔记本硬盘为基础。 市场上主流的2.5英寸移动硬盘 因为采用与硬盘相同的存储介制,因此移动硬盘在数据的读写模式与标准IDE硬盘是相同的。移动硬盘多采用USB、IEEE1394等传输速度较快的接口,可以较高的速度与系统进行数据传输。随着技术发展,近两年日炙手可热的USB3.0接口技术同样应用在了移动硬盘上,速率方面相比于以往的USB2.0接口产品有飞跃的提升。

2.5寸USB 3.0接口移动硬盘实际速率 在移动硬盘的品质方面,除了消费者在购买有保障的渠道产品之外,很多人遇上系统不识别或不兼容等问题,会将其归类的到产品质量上。其实,在我们的使用过程中,很多问题现象的发生有可能是使用环境或是系统设置不当等问题。下面就让我们看看会导致我们移动硬盘出现不良状况的几中可能。 产品:FreeAgent GoFlex Pro 睿晶(500GB)(ST希捷移动硬盘 2移动硬盘状况分析:供电 2.5英寸USB移动硬盘在计算机工作时,硬盘和数据接口由USB接口供电。其可提供0.5A电流,一般的数据拷贝不会出现问题。但对于很多老式主板前置接口设计不完善,容易频繁出现供电不足的问题,造成数据丢失甚至硬盘损坏。这些情况的发生是我们务必要注意的。

相比于前置接口,后置接口供电更稳定 为加强供电,2.5英寸USB移动硬盘一般会提供从PS/2接口或者USB接口取电的电源线。所以在移动较大文件等时候,我们就需要接上PS/2取电电源线,来为数据传输提供足够的供电资源。 针对3.5寸的移动硬盘(硬盘盒)一般都自带外置电源,所以供电基本不存在问题。IEEE1394接口最大可提供1.5A电流,所以也无须外接电源。 2.5寸移动硬盘配套中的电源线及转接卡

硬盘无法识别解决办法

硬盘无法识别解决办法 移动硬盘使用中的问题 1、移动硬盘盒和硬盘连接,首先请将硬盘的跳线方式设置在主盘的位置,跳线方法可以参见硬盘图例。连接方式先连接外接电源,硬盘正常工作转动后连接USB数据线。如在USB2.0接口无法识别,USB1.1接口可以正常使用,可以安装主板自带的USB2.0的驱动程序。 2、USB移动硬盘在连接到电脑之后,系统没有弹出“发现USB设备”的提示。 在BIOS中没有为USB接口分配中断号,从而导致系统无法正常地识别和管理USB设备。重新启动电脑,进入BIOS设置窗口,在“PNP/PCI CONFIGURATION”中将“Assign IRQ For USB”一项设置为“Enable”,这样系统就可以给USB端口分配可用的中断地址。 3、移动硬盘建议在电脑的后置主板的USB接口连接,移动硬盘在电脑前置USB接口连接,而前置USB接口一般采用延长线连接,把板载的USB接口引到计算机外壳前端,所以增大的电源的消耗,使硬盘无法正常工作,系统无法正常检测出正确名称设备或只检测出移动硬盘盒的设备,自然无法选择安装驱动程序,有可能无法识别。应将USB传输线连接到计算机后面的USB接口上,同时使用PS/2辅助供电电源线,连接在电脑的键盘或鼠标接口上,进行测试。连接PS/2接口需要在关机的状态下连接,电脑启动后连接USB接口。 注:因计算机BIOS版本不同,具体设置请参阅计算机所附带的主板说明书。 4、假如你是在nForce的主板上碰到这个问题的话,则可以先安装最新的nForce专用USB2.0驱动和补丁、最新的主板补丁和操作系统补丁,还是不行的话尝试着刷新一下主板的BIOS 一般都能解决。 5、在WIN98/ME下用FDISK格式化时不能正确识别移动硬盘的容量,在WIN2000/XP下不能把硬盘格式化为FAT32格式的文件系统。 先到设备管理器中“磁盘驱动器”下找到移动硬盘,将其“属性可删除”选项改为不选中状态,重新启动计算机即可;我们的驱动程序在安装时默认是不选中状态,但如果使用过其它USB 设备则有可能已将这个选项改为选中状态。因为2000,XP操作系统不支持大于30G的FAT32的格式化,所以如果想对其格式化,可以到98系统对其格式化或利用PQ等软件。98系统不支持大容量硬盘的分区,所以您也要到WIN2000或XP下对其进行分区。 6、接入移动硬盘后,计算机没有反应。 如按正常操作连接上USB硬盘后,计算机中不显示该移动硬盘。应检查“我的电脑\控制面板\系统\设备管理器”中是否有“通用串行总线控制器”这一项,如果没有该项,必须重新启动计算机,并在启动时按住Del键,进入CMOS设置中,在“CHIPSET FEATURES SETUP”或“INTEGRATED PERIPHERALS”中将“USB Control”设置为“Enabled”,保存并启动计算机。 注:因计算机BIOS版本不同,具体设置请参阅计算机所附带的主板说明书。 7、移动硬盘在win98/win me下,驱动安装正确,但没有盘符现象的解决方法。 请确认在“设备管理器”中USB移动硬盘此项设备工作正常。如果正常,进入“设备管理器” 里的“磁盘驱动器”,选中移动硬盘,单击“属性”,将“设置”中“可删除”选项打勾,重新启动计

机器码获取生成注册码

机器码获取生成注册码 通过获取硬盘的物理序列号和网卡MAC地址,为您的程序提供了获取唯一的机器码,你可以根据此码,生成自己产品注册码,有效防止软件的盗版可以自己根据获取到的硬盘序列号和网卡MAC地址进行一定的加密算法生成,唯一的机器码. 给自己的软件制作注册码.从今天起,您开发的的任何软件如果您愿意都可以为之加密 --为您的软件制作一款注册机!当您看完这篇文章时, 您就可以理直气壮的告诉您的用户 : "喂, 想用我的软件是吧 ? 掏钱!". 呵呵, 这当然只是给自己壮胆的话, 现在连万能注册机都有了, 人家还怕啥 ? 不过只要您想想微软, 人家再牛B的加密技术都会被国人"鄙视"? 但人家不也在中国大把大把的捞钱吗?OK, 不扯了, 我们进入正题.同一般的软件注册一样, 我们这里的注册是这样进行的: 1. 首先根据用户的硬件信息生成24位的机器码 -- 相当于种子,用于生成随机数 2. 采用注册机根据特征数字生成一个24位注册码 -- 相当于伪随机数生成器, 输出长度自己定, 最后用一个格式化函数,将随机数映射到ASCII字符集合 3. 用户输入注册码注册成功 假设客户很喜欢您的软件, 也假设他没有破解, 他需要通过以下方式向您取得注册码: (1).如果他能上网, 他需要把机器码用Email发给您; (2).如果他不能上网, 他可以把机器码用手机短信的方式发给您. (3).如果他没有手机, 他可以带着机器码然后坐火车到您的办公室想您要一个注册码. --第3条只是为了让您看帖子的时候别太枯燥了, 抱歉. 现在, 您拿到了客户的机器码后, 如果您同时也收到了他汇的钱, 呵呵, 好像给软件加密就是为了要钱吧? 那么您就可以用客户的机器码生成一个唯一的注册码再用同样的方式给用户, 最后, 用户输入注册码即可! 需要强调的是客户机器的硬件信息获取方式是有很多种选择的. 这里我们选择最放心的两个硬件: CUP的序列号和硬盘的卷标号. 好了,下面您就可以一步一步制作一款软件注册机了. 步骤一: 获得CUP序列号和硬盘序列号的实现代码如下:Java代码 #region 获取cpu的序列号 public string getCpu() { string strCpu = null; ManagementClass myCpu = new ManagementClass("win32_Processor");

银川纽曼移动硬盘无法识别找回 硬盘接到电脑上没任何反应

问:一直用的移动硬盘插在电脑上没有反应磁盘管理显示未指派不能分配盘符里面有数据不想丢失怎 么办? 答:移动硬盘不认盘后,需要用排除法判断具体的故障。首先要判断是否是电脑的问题,插到后置的USB 接口,或者换一台电脑尝试;其次,要排除移动硬盘盒和数据线的故障,最好是拆开移动硬盘盒,将盘体 直接接从盘尝试,也可以更换一个盒子和数据线。要提示的是,如果移动硬盘在保修期内就直接去保修, 不要进行这一步的操作,随意打开移动硬盘盒可能会影响到保修。最后,如果排除了以上问题,就可能是 硬盘本身的故障了,一般不认盘都多种可能,坏道、固件、磁头故障都有可能导致不认盘。如果数据重要 ,要停止他通电尝试,交付我公司进行专业的检测和数据恢复。 (移动硬盘维修数据恢复)硬盘故障原因分析: 1、移动硬盘转动或转动困难,有磁头动作声音,伴有电机吱吱响,时而认盘时而蓝屏。一般都需要开 盘更换盘体电机恢复数据,个别盘也可采用技术手段不开盘将数据恢复提取出来。 2、移动硬盘转动,认分区缓慢或能够识别部分分区通常为硬盘坏扇区故障,原因为自然寿命、磁头老化 、轻微摔伤。通过镜像可恢复数据,或用专用数据恢复工具PC3000直接提取数据,恢复率95%以上。 3、移动硬盘不转动,没有任何声响或电脑不开机、电路板冒烟焦糊电路板故障,修复或更换电路板可完 全恢复数据。 4、移动硬盘电机不转,有轻微吱吱声或咔咔声,多是供电不足或跌落摔伤导致磁头卡住抱死。大多硬盘 开盘复位磁头可排除故障,有少量坏扇区,对数据没有太大影响。少数硬盘可能需要更换磁头。

5、移动硬盘转动,不认盘,有较大咔咔磁头撞击声。硬盘磁头老化,更多是跌落碰撞致使磁头损坏。可 通过更换磁头恢复数据,个别硬盘磁头可能脱落划伤硬盘盘片,导致数据无法恢复。 6、移动硬盘加密,硬盘加密多是在笔记本上,也有客户将台式硬盘加密。通过专用硬盘修复数据恢复工 具可以解密。 7、常规删除、格式化、分区表丢失、ghost、剪切、还原、文件夹加密等故障。这类故障使用软件比较 容易恢复,手工配合文件系统原理会有更高的恢复效率和恢复质量

移动硬盘不识别解决方案

移动硬盘不识别解决方案 标签:杂谈分类:应用 1、尝试检查端口有无激活 通常情况下,引起移动硬盘无法被系统正确识别的最可能原因就是计算机主板上的USB端口出现了问题,这个时候我们可以按下面步骤来逐一检查USB端口是否处于激活状态: 首先检查计算机系统是否打开了USB端口功能;在一些比较旧的计算机中,虽然主板上提供了USB端口,但在系统的CMOS参数设置页面中,该端口功能在默认状态下并没有被打开,因此我们一旦发现移动硬盘无法被系统识别的话,就应该重新启动计算机系统,并在启动的开始阶段按del键进入到CMOS参数设置页面,然后找到其中的“Integrated Peripherals”设置项或“Chipset Features Setup”设置项,检查该选项下面的“Onchip USB” 参数是否被设置为了“Disable”,倘若是的话那我们就必须将它修改成“Enabled”,最后保存好修改之后的参数,并再次重新启动计算机系统,这样就能把系统的USB端口功能打开了。 其次检查计算机主板是否支持USB端口功能;许多旧计算机或者兼容计算机根本没有提供USB端口,即使通过USB转接卡进行中转连接,主板上的芯片在默认状态下也不会提供USB端口的相关驱动程序,因此将移动硬盘插入到这些计算机中后,也常会出现无法被系统正确识别的现象。此时,我们可以打开计算机机箱,检查计算机主板上使用的是什么芯片组,然后通过网络来搜索与该芯片组型号相同的最新主板驱动程序或者USB驱动程序补丁,说不定这样才能解除移动硬盘无法被系统识别的故障。 第三检查主板上的USB端口供电是否充足;由于移动硬盘属于大功率消耗产品,它正常需要0.5A工作电流、5V工作电压,而这样的供电要求一般主板的USB端口就能达到,不过也有的主板无法为移动硬盘提供这样大小的动力,从而引发了移动硬盘无法被系统正确识别的现象。为了避免由于主板供电不足而导致无法使用移动硬盘,现在有不少移动硬盘的USB连接线缆上专门为用户准备了PS/2接口,此时使用该接口与计算机直接相连也能保证移动硬盘被系统正确识别 2、尝试按正确方法插拔 由于移动硬盘通常都使用USB端口与计算机直接相连,而许多人常常会将USB端口的热插拔功能误解为随意插拔功能,一旦移动硬盘经常地遭受到随意插拔,就很容易出现无法被系统成功识别的故障现象。为了有效避免这一现象,我们一定要做好以下几点工作:如果计算机系统以前可以正常识别移动硬盘,只是现在偶尔几次不能识别移动硬盘的话,那我们可以先打开系统的属性设置窗口,单击该窗口中的“硬件”标签,并在对应标签页面中单击“设备管理器”按钮,打开系统的设备列表窗口;找到该窗口中的“未知的USB设备”选项,然后将其直接删除;接着将移动硬盘从计算机中的对应端口中拔出来,并重新将计算机系统启动一下,最后再将移动硬盘正确地插入到计算机中,这样一来移动硬盘就可能又被系统识别到了。 由于移动硬盘刚插入计算机时,系统会花一定的时间对它进行识别并读盘,在该过程中如果强行对移动硬盘执行一些操作的话,会导致移动硬盘接口损坏或者整个硬盘被报废,因此我们无论要对硬盘执行什么操作,都必须等硬盘的工作信号灯稳定下来后才能进行,否则移动硬盘无法被系统识别将成为经常发生的事情。 为了保证系统高效识别移动硬盘,我们一定要在插入移动硬盘之前,将正在运行的所有应用程序全部关闭掉,另外尽量不要在系统启动的过程中将移动硬盘插入到计算机中。 3、尝试检查系统有无问题

移动硬盘无法识别怎么办 移动硬盘指示灯亮却不能识别

移动硬盘无法识别怎么办?移动硬盘指示灯亮却不能识别? 很多朋友都遇到过电脑无法识别移动硬盘的问题,移动硬盘无法识别一般跟usb接口及系统有关,具体出现无法识别移动硬盘的原因有多种,本文就来详细说说这个原因和解决办法。 移动硬盘无法识别怎么办?移动硬盘指示灯亮却不能识别?1、电源给usb供电不足由于usb硬盘在工作的时候也需要消耗一定的电能,如果直接通过usb接口来取电,很有可能出现供电不足。可能是usb接口连接的外设太多造成供电不足。建议使用带电的usbhub 或者使用usb转ps/2的转接头。还有可能windowsxp默认开启了节电模式,致使usb接口供电不足,使 usb接口间歇性失灵。右击我的电脑/属性/硬件/设备管理器,双击“通用串行总线控制器”会到好几个“usb root hub”双击任意一个,打开属性对话框,切换到“电源管理”选项卡,去除“允许计算机关闭这个设备以节约电源”前的勾选,点击确定返回,依次将每个usb roothub的属性都修改完后重新启动电脑。usb设备就能恢复稳定运行了,频率尽量设低一些。 2、usb延长线故障 除去上述两方面原因之外还有可能是usb接口类型不符导致移动 硬盘无法使用。比如计算机配置的usb接口是1.1标准的,而购买的移动硬盘是 usb 2.0标准的接口,这就要求连接计算机和移动硬盘的连接线必须支持usb 2.0标准。因为高速移动设备插入低速集线器,该设备可能不被正常安装,而有些朋友在使用移动硬盘的

同时还使用优盘,为了方便就直接使用优盘附送的usb 1.1标准连接线,这样就导致usb 2.0标准的移动硬盘无法正确识别。只要将连接线更换为usb 2.0标准的即可解决此故障。 3、盘符没有显示出来 如果是有盘符而没有显示出来的,解决方法:右击我的电脑/管理/存储/磁盘管理,然后右击“可移动磁盘”图标”单击快捷菜单中的“更改驱动器和路径”选项,并在随后的界面中单击“添加”按钮,接下来选中“指派驱动器号”,同时从该选项旁边的下拉列表中选择合适的盘符,在单击确定即可。最后打开我的电脑,就能看到移动硬盘的盘符了。 4、系统或系统自带的驱动的原因 usb不被电脑识别,如果是系统或系统自带的驱动的原因,可以按下面方法修复一下。 1、开机按f8进入安全模式后在退出,选重启或关机在开机,就可以进入正常模式(修复注册表)。 2、如果故障依旧,请你用系统自带的系统还原,还原到你没有出现这次故障的时候修复(如果正常模式恢复失败,请开机按f8进入到安全模式中使用系统还原)。 3、如果故障依旧,使用系统盘修复,打开命令提示符输入sfc /scannow 回车(sfc和/之间有一个空格),插入原装系统盘修复系统,系统会自动对比修复的。 4、如果故障依旧,在bios中设置光驱为第一启动设备插入系

VC++获取网卡MAC、硬盘序列号、CPU+ID、BIOS编号

VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号 以下代码可以取得系统特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码 UINT uSystemInfoLen = 0; // 在程序执行完毕后,此处存储取得的系统特征码的长度 // 网卡MAC 地址,注意: MAC 地址是可以在注册表中修改的 { UINT uErrorCode=0; IP_ADAPTER_INFO iai; ULONG uSize = 0; DWORD dwResult = GetAdaptersInfo( &iai, &uSize ); if( dwResult == ERROR_BUFFER_OVERFLOW ) { IP_ADAPTER_INFO* piai=( IP_ADAPTER_INFO* )HeapAlloc( GetProcessHeap( ), 0, uSize ); if( piai != NULL ) { dwResult = GetAdaptersInfo( piai, &uSize ); if( ERROR_SUCCESS == dwResult ) { IP_ADAPTER_INFO* piai2 = piai; while(piai2!=NULL &&(uSystemInfoLen+piai2->AddressLength )< 4096U) { CopyMemory(szSystemInfo+uSystemInfoLen,piai2->Address, piai2->AddressLength ); uSystemInfoLen += piai2->AddressLength; piai2 = piai2->Next; } } else { uErrorCode = 0xF0000000U + dwResult; } VERIFY( HeapFree( GetProcessHeap( ), 0, piai ) ); } else { return FALSE; } } else { uErrorCode = 0xE0000000U + dwResult; } if( uErrorCode != 0U ) { return FALSE; } }

移动硬盘无法识别的原因和解决办法

移动硬盘无法识别的原因和解决办法 很多朋友都遇到过电脑无法识别移动硬盘的问题,移动硬盘无法识别一般跟USB接口及系统有关,具体出现无法识别移动硬盘的原因有多种,本文就来详细说说这个原因和解决办法。电源给USB供电不足由于USB硬盘在工作的时候 ... 很多朋友都遇到过电脑无法识别移动硬盘的问题,移动硬盘无法识别一般跟USB 接口及系统有关,具体出现无法识别移动硬盘的原因有多种,本文就来详细说说这个原因和解决办法。 电源给USB供电不足 由于USB硬盘在工作的时候也需要消耗一定的电能,如果直接通过USB接口来取电,很有可能出现供电不足。可能是USB接口连接的外设太多造成供电不足。建议使用带电的USBHUB或者使用USB转PS/2的转接头。还有可能WindowsXP默认开启了节电模式,致使USB接口供电不足,使 USB接口间歇性失灵。右击我的电脑/属性/硬件/设备管理器,双击“通用串行总线控制器”会到好几个“USB Root Hub”双击任意一个,打开属性对话框,切换到“电源管理”选项卡,去除“允许计算机关闭这个设备以节约电源”前的勾选,点击确定返回,依次将每个USB RootHub的属性都修改完后重新启动电脑。USB设备就能恢复稳定运行了,频率尽量设低一些。 USB延长线故障 除去上述两方面原因之外还有可能是USB接口类型不符导致移动硬盘无法使用。比如计算机配置的USB接口是1.1标准的,而购买的移动硬盘是 USB 2.0标准的接口,这就要求连接计算机和移动硬盘的连接线必须支持USB 2.0标准。因为高速移动设备插入低速集线器,该设备可能不被正常安装,而有些朋友在使用移动硬盘的同时还使用优盘,为了方便就直接使用优盘附送的USB 1.1标准连接线,这样就导致USB 2.0标准的移动硬盘无法正确识别。只要将连接线更换为USB 2.0标准的即可解决此故障。 盘符没有显示出来 如果是有盘符而没有显示出来的,解决方法:右击我的电脑/管理/存储/磁盘管理,然后右击“可移动磁盘”图标”单击快捷菜单中的“更改驱动器和路径”选项,并在随后的界面中单击“添加”按钮,接下来选中“指派驱动器号”,同时从该选项旁边的下拉列表中选择合适的盘符,在单击确定即可。最后打开我的电脑,就能看到移动硬盘的盘符了。 系统或系统自带的驱动的原因

电脑不能识别移动硬盘的原因

电脑不能识别移动硬盘或者识别错误的原因一般来说有以下四种情况: 一、与系统有关的设置安装问题 1.不要以为只要主板有USB接口就可以使用移动硬盘,还要看系统是否支持。Windows2000、WindowsXP及以上版本的系统是可以直接支持移动硬盘的,无须安装驱动程序即可使用,而在Windows98下使用移动硬盘用就必须装驱动程序,否则系统就会将移动硬盘识别为“未知的USB设备”。 2.对于一些Windows98用户来说,在安装好移动硬盘的驱动程序之后,可以从设备管理器中查看到移动硬盘图标,但是在资源管理器中却没有相应的盘符标志,这就是系统设置不当所致。在设备管理器中双击移动硬盘图标,并且点击弹出窗口中的“属性”按钮,此时可以看见“断开”、“可删除”、“同步数据传输”和“INT 13单元”四个选项,其中“可删除”一项前系统默认是没有打钩的,勾选这个选项之后重新启动计算机,就可以在资源管理器中看见新增的移动硬盘盘符了。 二、主板的USB接口问题 由于主板的USB接口有问题引发移动硬盘不能正常使用,主要从以下方面着手解决: https://www.360docs.net/doc/d010125675.html,B接口未开启:在一些老机器上(包括一些品牌机)虽然有外置的USB接口,但在BIOS 中却是默认关闭的,这样即使系统支持也不行,因此应检查一下BIOS设置中USB接口选项是否开启:在启动电脑时按住Del键,进入BIOS设置,在“Chipset Features Setup”或“Integrated Peripherals”中将“OnChip USB”设置为“Enabled”,保存并重启电脑即可。 2.系统不支持USB接口:这种情况也主要出现在一些老电脑上。如一台兼容机,主板是旗舰的Vista710V2,主板芯片组用的是VIA Apollo MVP3,外接USB接口卡后系统竟然不认(装的是Windows Me和Windows 2000双系统),在“设备管理器”中找不到“通用串行总线控制器”。上52硬件网( https://www.360docs.net/doc/d010125675.html, )一查,原来是主板芯片组有问题,赶紧从网上下载最新的主板BIOS进行刷新,又下载了VIA专为该芯片组提供的USB驱动补丁,终于在我的电脑上认出了“移动存储设备”。 https://www.360docs.net/doc/d010125675.html,B接口供电不足:绝大多数移动硬盘正常工作所需的5V电压、0.5A电流可以直接通过主板的USB接口供给,但有的主板USB接口的供电达不到这一数值,从而导致移动硬盘无法被系统识别。好在移动硬盘盒的专用USB连接线上大都分出了一个PS/2接头,只要将该接头插在主板的PS/2接口上即可。 三、操作不当导致移动硬盘不能被使用

移动硬盘无法识别的原因及解决方法

移动硬盘无法识别的原因及解决方法 问:我的电脑使用英特尔i845PE主板,安装了Win XP操作系统。当连接一个60GB的USB2.0移动硬盘后,系统却提示找不到设备,该移动硬盘在其他机器上使用正常。请问如何解决? 答:首先请确认主板的USB接口,移动硬盘的供电和信号线有没有问题,有的移动硬盘对供电要求比较高,有的主板USB接口的供电不能满足要求,最好使用外接辅助电源的方法。关机后将移动硬盘的供电和信号线的PS/2端子插到主板上接鼠标的PS/2接口上,再开机进入系统,看看能否识别到移动硬盘。 双核变单核的原因 朋友新配了一台Core2 Duo E7400的双核电脑,让装机员装好Windows XP后直接抱回了家,结果不经意间打开任务管理器,发现CPU使用记录只显示了一个核心,顿时慌了,以为买到了假货。笔者过来检查,发现在设备管理器里的确有两个核心,为什么任务管理器里就一个核心?再仔细一看,原来任务管理器CPU使用记录被设置为了“所有CPU一张图表”,真是让人哭笑不得,估计是装机员偷懒用Ghost给他装的盗版Windows XP,才出现这样的错误。在任务管理器里的“查看”选项卡的“CPU记录”里手动把“所有CPU一张图表”改为“每个CPU一张图表”,问题就解决了。

开机几秒自动断电 这是朋友的一台老电脑,配置是Athlon64 X2 3600+和C61G主板,用了有几年了,最近突然开不了机,现象为按下机箱电源键,系统通电启动后不到10秒就自动关机了。笔者帮着开箱检查了硬件, 还把整个平台都从机箱里拿出来单独开机,却又一切正常。百思不得其解的时候,顺手按了几下机箱的电源键,发现有些粘滞,按下去要过一会儿才能弹起来……原来问题在这里,由于机箱开关按下去接触的时间太长,而主板的Power on信号导通超过5秒就会强制关机——真让人无语,谁会想到是这个破机箱电源键的问题呢?换机箱了事。 hdmi没有声音怎么办 笔者最近买了一台32英寸的液晶电视,放在卧室与电脑用HDMI 线连接看电影,而电脑上面还用VGA线连接了一台19英寸的LCD显 示器,两个显示设备采用了双屏扩展显示的方式。最近发现电视在放电影的时候不出声,经过一番研究,找到其中缘由,特与大家分享。 故障分析

修复本地磁盘或移动硬盘“文件或目录损坏且无法读取”错误的方法详解

此贴于2010。7.7.更新 本文讲解了,一些如正在读取数据时突然强行将硬盘断开或者断电等因素导致的,硬盘磁盘分区损坏的修复办法,这个主要是磁盘的分区损坏了~ 一般移动硬盘比较多见,原因有很多。但是一般的都是:正在读取数据的时候直接把移动硬盘的的数据线拔下,或者突然断电引起的。 解决办法有2种(请按照顺序尝试): 方法一: 开始》运行打开运行菜单输入chkdsk /f 不用理会它提示的信息直接Y 然后回车 接下来重新启动电脑(确保出问题的硬盘或移动硬盘和电脑处于链接状态) 电脑会自动检测磁盘错误只需等待就可以了 方法二:用外部软件进行文件恢复 这是我们要用到Easy Recovery Pro (以下简称ER) 下载地址::https://www.360docs.net/doc/d010125675.html,/soft/2070.html 首先打开ER 点击数据恢复选项 然后选择高级恢复选择你出问题的磁盘下的分区 可以看一下我的电脑那个盘符是什么比如是D盘这时你选择D盘选择点右下角的下一步 这时ER会扫描这个分区上的文件这是你就可以选中你要恢复的文

件或文件夹 再点下一步在出现的对话框中的恢复目录选项中选择恢复至本地硬盘 点浏览选择你想要存放已损坏分区文件的分区比如我D盘出问题了把D盘的数据回复到E盘这时我就可以选择E盘 这时候点下一步就OK了~ 然后在D盘重新格式化把恢复出的文件重新复制到D盘 看看是不是OK了 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ 其他相关: 错误现象:文件和文件目录图标仍在,双击后出现“文件或目录损坏且无法读取”的提示,删除时提示无法删除的信息。 错误原因:或许是没有按照步骤点击“安全删除硬件”而直接拔掉移动硬盘USB线导致了故障,或许是移动硬盘使用时间过久而自然老化,也或许是拷贝过程中有震动造成错误。 解决方法:尝试用WINDOWS自带的磁盘扫描工具进行修复。在开始菜单栏中点击“运行”,输入“cmd”,出现DOS状态对话框。在光标处输入有损坏文件的磁盘盘符后回车,再输入“CHKDSK”,回车即可看到相关检测信息。“CHKDSK”即“check disk”之意,磁盘

最新整理无法读取HFS+格式的U盘或移动硬盘怎么解决

无法读取H F S+格式的U盘或移动硬盘怎么解决不少用户们发现将H F S+格式的U盘或移动硬盘,插入W i n d o w s系统中,就无法读取了。这是什么错误呢?可能只是我们安装时候步骤错了一个设置。那么该怎么让W i n d o w s系统电脑也可以读取H F S+格式的U盘或移动硬盘呢? 解决方法: 在苹果 M a c O S X系统的安装盘里,有为B o o t C a m p 准备的 W i n d o w s驱动包,把系统光盘(或者带该镜像的U盘、移动硬盘)插进 P C,安装驱动包(B o o t C a m p- D r i v e r s-A p p l e-B o o t c a m p.m s i),就能识别 H F S+格式的磁盘了。 解压后,双击箭头指的文件 命令行工具会启动,注意最后那句话,它在问你是否安装,敲i即可。 H F S+格式的U盘在W i n d o w s系统的P C电脑上识别出来了! 补充:硬盘常见故障: 一、系统不认硬盘

二、硬盘无法读写或不能辨认 三、系统无法启动。 系统无法启动基于以下四种原因: 1.主引导程序损坏 2.分区表损坏 3.分区有效位错误 4.D O S引导文件损坏 正确使用方法: 一、保持电脑工作环境清洁 二、养成正确关机的习惯 三、正确移动硬盘,注意防震 开机时硬盘无法自举,系统不认硬盘 相关阅读:固态硬盘保养技巧 一、不要使用碎片整理 碎片整理是对付机械硬盘变慢的一个好方法,但对于固态硬盘来说这完全就是一种折磨。 消费级固态硬盘的擦写次数是有限制,碎片整理会大大减少固态硬盘的使用寿命。其实,固态硬盘的垃圾回收机制就已经是一种很好的磁盘整理,再多的整理完全没必要。W i n d o w s的磁盘整理功能是机械硬盘时代的

wd硬盘电脑无法识别怎么办

wd硬盘电脑无法识别怎么办 wd硬盘电脑无法识别解决方法一 1、usb供电不足。这个是最容易出现的问题。换所有的usb 接口试下。 2、系统故障,在计算机上(xp是我的电脑),右键,属性,设备管理器,看里面的磁盘设备,有被禁用的(有个向下黑色箭头),右键点它,启用。 2、上面如果不行,那就在计算机上,右键,管理,磁盘管理。找到移动硬盘,添加一个盘符即可。 wd硬盘电脑无法识别解决方法二 一:与系统设置相冲突,win2000,win7,xp等新系统直接支持移动移动硬盘,而win98以下的老系统要通过安装驱动才能识别。 二.usb接口接触不良。usb接口未开启,供电不足,接口松动可选择换插另外usb接口。另外一般旧电脑旧系统也不支持,可选择下载usb补丁解决问题。 三.硬盘自身质量问题,震动和不规范操作都会损坏硬盘。要严格按照规范的操作,硬盘不读盘时,不能直接将其拔出,应点击任务栏“拔出或弹出硬件”,等系统允许后才可从主机拔出。只有正确规范的使用才能更好的保养和延长西部数据的使用寿命。 如果以上操作都没有解决问题,那可能是硬盘故障,磁头故

障,音圈,驱动臂等原因。此类问题要硬盘开盘检测,硬盘内重要的数据恢复等步骤都要通过专业的数据恢复公司进行恢复。 wd硬盘电脑无法识别原因一:usb接口问题 usb接口未开启:在一些老机器上(包括一些品牌机)虽然有外置的usb接口,但在bios中却是默认关闭的,这样即使系统支持也不行,因此应检查一下bios设置中usb接口选项是否开启:在启动电脑时按住del键,进入bios设置,在“chipset features setup”或“integrated peripherals”中将“onchip usb”设置为“enabled”,保存并重启电脑即可。 系统不支持usb接口:这种情况也主要出现在一些老电脑上。如一台兼容机,主板是旗舰的vista710v2,主板芯片组用的是via apollo mvp3,外接usb接口卡后系统竟然不认(装的是windows me 和windows 2000双系统),在“设备管理器”中找不到“通用串行总线控制器”。上网一查,原来是主板芯片组有问题,赶紧从网上下载最新的主板bios进行刷新,又下载了via专为该芯片组提供的usb驱动补丁,终于在我的电脑上认出了“移动存储设备”。 usb接口供电不足:绝大多数移动硬盘正常工作所需的5v电压、0.5a电流可以直接通过主板的usb接口供给,但有的主板usb 接口的供电达不到这一数值,从而导致移动硬盘无法被系统识别。好在移动硬盘盒的专用usb连接线上大都分出了一个ps/2接头,只要将该接头插在主板的ps/2接口上即可。 wd硬盘电脑无法识别原因二:个人操作不当导致移动硬盘无法读取 在插接移动硬盘之前最好关闭正在运行的各种应用程序,也

移动硬盘无法识别的五大解决方案

移动硬盘无法识别的五大解决方案 移动硬盘,我们平时存储的一些私人重要数据都在移动硬盘上面,突然某天移动硬盘连接电脑时,没有任何反应,也就是说移动硬盘无法识别,别担心,先来分析一下情况,然后逐一排除故障解决。常见的一般有以下5种情况: 工具/原料 移动硬盘 方法/步骤 USB RootHub的属性设置:移动硬盘在工作时,需要一定的电能,而通过USB接口来取电,有时会出现供电不足。USB接口连接的外设太多也会造成供电不足。建议使用带电的USBHUB或者USB转PS/2的转接头。WindowsXP默认开启了USB节电模式,致使USB接口供电不足,使USB接口出现间断式连接。这时可以右击【我的电脑】,依次选择【属性-设备管理器】,双击“通用串行总线控制器”,会到好几个“USB Root Hub”双击任意一个,打开【USB RootHub】属性对话框,切换到【电源管理】选项卡,去除“允许计算机关闭这个设备以节约电源”前的勾选,点击确定,然后依次将其他的USB RootHub的属性都设置完毕,最后重新启动电脑。通过USB接口的供电模式设置,USB供电就相对稳定了。 2 USB供电不足:USB2.0接口最大供电电流是500毫安,这对500G以上的移动硬盘有些危险,可能会出现以下两种情况:a.如果是PC机前置USB接口,或使用USB延长线,可能会供电不足,建议换插到PC机后面的USB接口;如果为笔记本,则可更换其他USB接口。b.如果移动硬盘自带的USB数据线有2根USB接口,建议都插上,可以交替换插一下2个USB接口,这样供电才比较稳定。 3 USB接口标准不一致:现在USB接口大多数为USB2.0标准和USB3.0标准的接口,一些电脑仍然采用USB1.1标准连接线,这样就导致USB 2.0标准的移动硬盘无法正确识别。只要将连接线换为USB2.0标准即可。 4 Windows系统版本太低:Windows98之前的操作系统不支持USB外置设备,不管如何安装驱动程序、设定CMOS参数,仍然无法识别移动硬盘。针对此问题,可安装个XP系统或XP 版本以上系统,也可在微软官方站点下载相应的补丁程序让Windows98以下版本系统,能够识别移动硬盘。 5 CMOS设置:有些电脑主板默认的CMOS端口是关闭的,如果没有将其设置为开启状态,那么Windows自然无法检测到移动硬盘了。解决方法,在开机后,进入CMOS设置窗口,并且在“PNP/PCI CONFIGURATION”栏中,将“Assign IRQ For USB”一项设置为“Enable”,这样USB端口就可以使用了。 6 总结,移动硬盘无法识别的原因有很多,如果以上几种情况不能解决,也可能是移动硬盘的USB数据线或者移动硬盘本身出现故障,以上方法如不能解决,可更换一台电脑试试,确定是否是硬盘本身问题,也可寻求专业人士解决,或送至相关电脑维修点检测维修,希望通过上述的讲解,能够使大家更深地了解移动硬盘和USB的相关知识。

NET获取硬盘序列号的几个方法

最近作软件注册,收集了很多.NET相关的获取硬盘物理序列号的方法,主要分为使用WMI方式和API方式。但这些方法均可能有问题。 1,使用WMI方式,有的机器根本取不到硬盘序列号,有的方式在Vista下面会报错。 常用的使用WMI的方式主要有下面一些方式: class HardDrive { private string model = null; private string type = null; private string serialNo = null; public string Model { get {return model;} set {model = value;} } public string Type { get {return type;} set {type = value;} } public string SerialNo { get {return serialNo;} set {serialNo = value;} } } class TestProgram { ///

/// The main entry point for the application. /// [STAThread] static void Main(string[] args) { //在Vista下面失败 ArrayList hdCollection = new ArrayList(); ManagementObjectSearcher searcher = new

ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); foreach(ManagementObject wmi_HD in searcher.Get()) { HardDrive hd = new HardDrive(); hd.Model = wmi_HD["Model"].ToString(); hd.Type = wmi_HD["InterfaceType"].ToString(); hdCollection.Add(hd); } searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); int i = 0; foreach(ManagementObject wmi_HD in searcher.Get()) { // get the hard drive from collection // using index HardDrive hd = (HardDrive)hdCollection[i]; // get the hardware serial no. if (wmi_HD["SerialNumber"] == null) hd.SerialNo = "None"; else hd.SerialNo = wmi_HD["SerialNumber"].ToString(); ++i; } // Display available hard drives foreach(HardDrive hd in hdCollection) { Console.WriteLine("Model\t\t: " + hd.Model); Console.WriteLine("Type\t\t: " + hd.Type); Console.WriteLine("Serial No.\t: " + hd.SerialNo); Console.WriteLine(); } // Pause application Console.WriteLine("Press [Enter] to exit..."); Console.ReadLine(); } }

最新整理笔记本电脑找不到移动硬盘怎么办

笔记本电脑找不到移动硬盘怎么办 在有些时候我们的笔记本电脑找不到移动硬盘了,这该怎么办呢?那么下面就由学习啦小编来给你们说说笔记本电脑找不到移动硬盘的解决方法吧,希望可以帮到你们哦! 笔记本电脑找不到移动硬盘的解决方法: 一、与系统有关的设置安装问题 不要以为只要主板有U S B接口就可以使用移动硬盘,还要看系统是否支持。W i n d o w s2000、W i n d o w s X P及以上版本的系统是可以直接支持移动硬盘的,无须安装驱动程序即可使用,而在W i n d o w s98下使用移动硬盘用就必须装驱动程序,否则系统就会将移动硬盘识别为未知的U S B设备。 二、主板的U S B接口问题 由于主板的U S B接口有问题引发移动硬盘不能正常使用,主要从以下方面着手解决: 1.U S B接口未开启:在一些老机器上(包括一些品牌机)虽然有外置的U S B接口,但在B I O S中却是默认关闭的,这样即使系统支持也不行,因此应检查一下B I O S设置中U S B接口选项是否开启:在启动电脑时按住D e l键,

进入B I O S设置,在C h i p s e t F e a t u r e s S e t u p或 I n t e g r a t e d P e r i p h e r a l s中将O n C h i p U S B设置为 E n a b l e d,保存并重启电脑即可。 2.系统不支持U S B接口:这种情况也主要出现在一些老电脑上。如一台兼容机,主板是旗舰的V I S T A710V2,主板芯片组用的是V I A A p o l l o M V P3,外接U S B接口卡后系统竟然不认(装的是W i n d o w s M e和W i n d o w s2000双系统),在设备管理器中找不到通用串行总线控制器。上网一查,原来是主板芯片组有问题,赶紧从网上下载最 新的主板B I O S进行刷新,又下载了V I A专为该芯片组提供的U S B驱动补丁,终于在我的电脑上认出了移动存储设备。 3.U S B接口供电不足:绝大多数移动硬盘正常工作所需的5V电压、0.5A电流可以直接通过主板的U S B接口供给,但有的主板U S B接口的供电达不到这一数值,从而导致移动硬盘无法被系统识别。好在移动硬盘盒的专用U S B连接线上大都分出了一个P S/2接头,只要将该接头插在主板的P S/2接口上即可。 三、操作不当导致移动硬盘不能被使用 因操作不当而导致移动硬盘不能正常使用,主要是

VC获得硬盘序列号

VC 之获取硬盘序列号 上一回,一帆风给大家讲了讲如何读取计算机的MAC地址,这次聊聊怎么获取硬盘序列号。硬盘物理序列号是硬盘的出厂序列号,它是全球都是唯一的,不会随着系统的安装、硬盘的格式化等操作而改变,跟mac地址一样都具有唯一性。1,第一步:创建设备对象,得到设备句柄,设备为硬盘。 { CString sFilePath; sFilePath.Format("\\\\.\\PHYSICALDRIVE%d", driver); HANDLE hFile=::CreateFile(sFilePath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); DWORD dwBytesReturned; GETVERSIONINPARAMS gvopVersionParams; DeviceIoControl(hFile, //向设备对象发送SMART_GET_VERSION设备请求,获取硬盘属性 SMART_GET_VERSION, NULL, 0, &gvopVersionParams, sizeof(gvopVersionParams), &dwBytesReturned, NULL); if(gvopVersionParams.bIDEDeviceMap <= 0) return -2; 2。第二步,发送SMART_RCV_DRIVE_DATA设备请求,获取硬盘详细信息。 // IDE or ATAPI IDENTIFY cmd int btIDCmd = 0; SENDCMDINPARAMS InParams; int nDrive =0; btIDCmd = (gvopVersionParams.bIDEDeviceMap >> nDrive & 0x10) ? IDE_ATAPI_IDENTIFY : IDE_ATA_IDENTIFY; // 输出参数 BYTE btIDOutCmd[sizeof(SENDCMDOUTPARAMS) + IDENTIFY_BUFFER_SIZE - 1]; if(DoIdentify(hFile, &InParams,

相关文档
最新文档