升级160G大硬盘者必读
程序员文章站
2022-07-08 22:46:53
升级160G大硬盘者必读如果你要升级160GB的大硬盘,如果你想避免大硬盘在使用中出现古怪问题,请仔细阅读下文。 硬盘技术的发展除了速度越来越快以外,在容量上也过了几道门槛,每一道门槛都给升级造... 09-04-21...
如果你要升级160gb的大硬盘,如果你想避免大硬盘在使用中出现古怪问题,请仔细阅读下文。
硬盘技术的发展除了速度越来越快以外,在容量上也过了几道门槛,每一道门槛都给升级造成了一定困难。在以往,只是主板支持的问题,现在连操作系统都出现了由于硬盘容量过大的兼容性问题。如何顺利地升级使用160gb以上的大硬盘,是很有讲究的,万一处理不当,就有丢失大量数据的危险。
一、问题的由来
因为簇和柱面早期定义的问题,很多操作系统和bios都有137gb的容量限制,在以往32gb、80gb门槛的时候,可以利用不调用bios的dm等软件,直接对硬盘分区,使用也没什么问题。不过超过了137gb的容量以后,需要48位寻址的支持,如果此时主板有137gb限制的话,dm也不让你分超过137gb后面的容量(可能显示容量正确,但真进行分区操作时候会弹出红色提示窗口:hdd i/o error)。或者即使你用pqmagic等软件分出来了,也有许多的兼容性问题。
现在最突出的问题,就是操作系统中存在数据溢出的bug,如果处理不当,很容易突然出现不认分区格式、丢分区或是目录变乱码的故障。这种故障带有随机性,笔者在几个大的bbs已经见到有不少这样的帖子,所以不要以为目前使用正常,就漫不经心,万一“中奖”了,那可是上百gb的数据损失啊!
二、支持大硬盘的关键
1.支持48位寻址的bios
这个是顺利使用160gb大硬盘的第一关键——有人沿用以前的方式,挂作从盘,在bios里把硬盘设为none,然后靠dm分区或让windows自己识别硬盘。这种方式也不能说完全不可用,但通常会让硬盘只能运行在pio的传输模式下,无法使用udma传输,新硬盘性能发挥就大打折扣了;而且没bios的支持,操作系统在48位寻址模式方面兼容性也容易出问题。
如果不清楚自己的主板bios是否支持48位寻址,可以下载intel出的一个小工具来检验一下。这个工具名为intel 48-bit lba test program(注意,在使用该软件时,需要挂接一容量超过137gb的硬盘),在dos下运行“48lbachk.exe”之后会见到如图1的画面。
它会搜索系统中所挂接的ata/atapi设备并给出相应提示,如当前接硬盘的容量等。针对不同的硬件系统,检测结果会出现以下三种:
“passed”表示bios支持48-bit lba;
“failed”表示bios不支持48-bit lba;
“undetermined”则表示测试程序不能确定被测bios是否具有48-bit lba能力。遇到这种情况,还是上厂家主页查查资料再确认,笔者用的升技kgb7 raid检验结果也是不能确定的,但在升技的主页找到的bios说明可以支持137gb以上的硬盘,刷新后顺利升级了。最好的办法还是升级bios,不然宁可买小一点的硬盘,不要冒数据丢失的危险。
工具下载地址:ftp://download.intel.com/support/chipsets/iaa/48lbachk.exe
2.分区软件也讲究
接下来就是分区软件是否支持大便盘的问题了。就目前笔者接触过的软件,第三方的分区软件不是支持不充分,就是兼容性问题比较多——像dm最新的版本只到2001年的9.56,实在太落伍了。有些文章介绍利用dm来改容量变相支持大硬盘,这种方式是有危险的,只适用于很老的主板上。通常的后果是造成被改的160gb或者250gb硬盘只能当成137gb使用,再也改不回来,成为“残疾”。
diskgen我也专门试验过,结果是能识别160gb的硬盘,也能正常分区,但不能在软件里顺利格式化,只有fat12(不是fat32)的格式可选,显然是支持不充分了。现在只有用winme上自带的fdisk和win2000/xp启动光盘,或是进入了windows后用它的“磁盘管理器”来分区及格式化大硬盘比较保险,pq分区大师的兼容性问题太多了,也不可靠。
还有个现象就是用dos里的format格式化大于64gb的分区时,在开始报告格式化的大小是不正确的,但到最后会正确显示数值。原因是format命令会在内部使用一些16位值来计算大小,当硬盘大小等于或大于64gb时,这些变量中有一些会溢出。例如,如果分区或硬盘的大小为70.3gb(75,484,122,112字节),format命令最初报告的硬盘大小就是63 gb(6,764,579,840字节),这只是显示方面的问题,记住加上“/q”参数,格式化就能很快完成了。可参考微软知识库的文章http://support.microsoft.com/default.aspx?scid=kb;en-us;q263045
三、操作系统相关的要点
不支持48位寻址的操作系统,在访问大于137gb的数据时有可能出现溢出的bug,造成破坏,这是目前种种问题的根源。最常见的情况就是能够正确分区并安装好系统,但写入大量数据(120gb以上)后就丢失分区,或者是拷贝数据过程中失去响应。重新启动以后该分区的文件夹变成了乱码,甚至不能访问,报告该分区没有经过格式化……现在每个人用的操作系统各有不同,微软的补丁也很多,相当多的人不知道自己系统里存在这种危险性。其实微软的在线知识库里有相关的说明文章,地址http://support.microsoft.com/default.aspx?scid=kb;en-us;303013,不过是英文的页面,所以没引起大家的重视。笔者查阅了相关的资料,综合自己的使用经验,总结出几条要点:
1.尽量用微软自家的分区软件
这点在上面分析过了,主要是为了保证分区表的稳定。注意不是win98的fdisk,要winme自带的fdisk才能显示正确容量。如果你嫌fdisk分区速度太慢,可以先划出一个5gb左右的分区,安装win2000或winxp等操作系统,后面的容量到windows中的“控制面板→管理工具→磁盘管理”里再划分,如图2。格式化时注意选好格式,勾上快速格式化。另外win2000和winxp的安装光盘引导后,都具有磁盘管理的功能,还是中文界面,推荐使用。
2.适当的补丁及打开48位寻址功能
如果磁盘分区中安装了不支持48位lba寻址的旧版本windows,例如没打补丁的win2000或更旧版本,而该分区以前是由支持48位的系统在超出当前137gb的可寻址限制创建的,访问这些分区就可能出现破坏数据的情况。如果在注册表中启用了48位atapi支持,并且具有容量超过137gb的硬盘,但是没有48位lba兼容bios,则只有硬盘的前137gb是可寻址的,不能使用硬盘的其余部分。
win2000的用户,请打上sp4补丁。微软的资料上说,安装了winxp home edition或winxp professional的service pack 1 (sp1)之后才会启用48位lba支持。事实上是,即使打过sp1的补丁也要检查atapi.sys的版本,因为只有5.1.2600.1135版本才能完全支持48位lba,(winxp 64-bit edition需要5.1.2600.1152版本)而5.1.2600.1135版本是在sp1后推出的,这个文件是在331958这个补丁里。如果你对诸多补丁感到混乱,或下载有困难,可以手工编辑注册表,操作如下:
在“开始→运行”中键入regedit,在hkey_local_machinesystemcurrentcontrolsetservicesatapiparameters下,建立一个dword值,名为enablebiglba,数值填1,如图3。这是专业版的修改方法,home版和server版我没用过,但在注册表内搜索atapi的键值,相应作修改应该也不算难事。听朋友说,他用的win2003也能正常识别137gb后面的容量。
3.分区及格式处理的建议
①尽量把ntfs分区放最后
win98实在是太古老了,对ntfs格式和48位寻址都不支持,微软也停止了对它升级支持。虽然在预先分好区的160gb硬盘上,win98也能访问各个fat32分区,但难保不会出什么bug。鉴于某些老的软件必须在win98里运行,建议大家使用win98 win2000/xp的双系统,而且把100gb以后的容量格式化为ntfs分区,放在最后。这样,win98运行的时候,不会访问到超过137gb以后的数据,就大大减少了破坏数据的危险。
②可以把最后30gb单独分成一个区
如果你的机器里有工程图纸、3d素材这样重要的数据,建议把最后的30gb专门分出一个区。再把无关重要的东西放到里面,试着把分区装满,进行多次读写的试验。如果最后的分区一直读写正常,那说明系统对48位寻址兼容性良好;万一不正常,也不会措手不及,造成巨大的损失。
③及时备份分区表
无论你用的是不是超过137gb的硬盘,及时备份分区表都是很重要的。万一遇到突发故障,有分区表备份,恢复数据把握就大多了。
另外,建议不要把分区填得太满,保持1gb左右的空间比较保险。笔者试过在一个磁盘阵列上一不小心解压临时文件把c盘填满了,结果windows提示故障并停止了响应,按reset重新启动后,竟然提示阵列不能识别了。只有重新进行设置并分区,损失了部分数据,可谓血的教训。
四、小结
1.注意,这里说的137gb容量限制,是指单个硬盘而言。不是说你买了两三个硬盘,合起来容量会限制在137gb。例如买了两个120gb的硬盘,如果没组成阵列,分别使用,加起来的200多gb的总容量是不受影响的。
2.bios不支持137gb以上硬盘容量的主板,尽量升级bios,否则还是买120gb的硬盘好了。主要是考虑到数据溢出的bug,遇到厂家bios停止升级又不愿意花钱买新主板的,还是不要冒险了。
3.如果分区是win2000/xp创建的,万一系统崩溃,务必记住:重新安装后,在未安装相应补丁前,千万不要访问硬盘100gb后面的分区,否则可能导致数据丢失!
硬盘技术的发展除了速度越来越快以外,在容量上也过了几道门槛,每一道门槛都给升级造成了一定困难。在以往,只是主板支持的问题,现在连操作系统都出现了由于硬盘容量过大的兼容性问题。如何顺利地升级使用160gb以上的大硬盘,是很有讲究的,万一处理不当,就有丢失大量数据的危险。
一、问题的由来
因为簇和柱面早期定义的问题,很多操作系统和bios都有137gb的容量限制,在以往32gb、80gb门槛的时候,可以利用不调用bios的dm等软件,直接对硬盘分区,使用也没什么问题。不过超过了137gb的容量以后,需要48位寻址的支持,如果此时主板有137gb限制的话,dm也不让你分超过137gb后面的容量(可能显示容量正确,但真进行分区操作时候会弹出红色提示窗口:hdd i/o error)。或者即使你用pqmagic等软件分出来了,也有许多的兼容性问题。
现在最突出的问题,就是操作系统中存在数据溢出的bug,如果处理不当,很容易突然出现不认分区格式、丢分区或是目录变乱码的故障。这种故障带有随机性,笔者在几个大的bbs已经见到有不少这样的帖子,所以不要以为目前使用正常,就漫不经心,万一“中奖”了,那可是上百gb的数据损失啊!
二、支持大硬盘的关键
1.支持48位寻址的bios
这个是顺利使用160gb大硬盘的第一关键——有人沿用以前的方式,挂作从盘,在bios里把硬盘设为none,然后靠dm分区或让windows自己识别硬盘。这种方式也不能说完全不可用,但通常会让硬盘只能运行在pio的传输模式下,无法使用udma传输,新硬盘性能发挥就大打折扣了;而且没bios的支持,操作系统在48位寻址模式方面兼容性也容易出问题。
如果不清楚自己的主板bios是否支持48位寻址,可以下载intel出的一个小工具来检验一下。这个工具名为intel 48-bit lba test program(注意,在使用该软件时,需要挂接一容量超过137gb的硬盘),在dos下运行“48lbachk.exe”之后会见到如图1的画面。
它会搜索系统中所挂接的ata/atapi设备并给出相应提示,如当前接硬盘的容量等。针对不同的硬件系统,检测结果会出现以下三种:
“passed”表示bios支持48-bit lba;
“failed”表示bios不支持48-bit lba;
“undetermined”则表示测试程序不能确定被测bios是否具有48-bit lba能力。遇到这种情况,还是上厂家主页查查资料再确认,笔者用的升技kgb7 raid检验结果也是不能确定的,但在升技的主页找到的bios说明可以支持137gb以上的硬盘,刷新后顺利升级了。最好的办法还是升级bios,不然宁可买小一点的硬盘,不要冒数据丢失的危险。
工具下载地址:ftp://download.intel.com/support/chipsets/iaa/48lbachk.exe
2.分区软件也讲究
接下来就是分区软件是否支持大便盘的问题了。就目前笔者接触过的软件,第三方的分区软件不是支持不充分,就是兼容性问题比较多——像dm最新的版本只到2001年的9.56,实在太落伍了。有些文章介绍利用dm来改容量变相支持大硬盘,这种方式是有危险的,只适用于很老的主板上。通常的后果是造成被改的160gb或者250gb硬盘只能当成137gb使用,再也改不回来,成为“残疾”。
diskgen我也专门试验过,结果是能识别160gb的硬盘,也能正常分区,但不能在软件里顺利格式化,只有fat12(不是fat32)的格式可选,显然是支持不充分了。现在只有用winme上自带的fdisk和win2000/xp启动光盘,或是进入了windows后用它的“磁盘管理器”来分区及格式化大硬盘比较保险,pq分区大师的兼容性问题太多了,也不可靠。
还有个现象就是用dos里的format格式化大于64gb的分区时,在开始报告格式化的大小是不正确的,但到最后会正确显示数值。原因是format命令会在内部使用一些16位值来计算大小,当硬盘大小等于或大于64gb时,这些变量中有一些会溢出。例如,如果分区或硬盘的大小为70.3gb(75,484,122,112字节),format命令最初报告的硬盘大小就是63 gb(6,764,579,840字节),这只是显示方面的问题,记住加上“/q”参数,格式化就能很快完成了。可参考微软知识库的文章http://support.microsoft.com/default.aspx?scid=kb;en-us;q263045
三、操作系统相关的要点
不支持48位寻址的操作系统,在访问大于137gb的数据时有可能出现溢出的bug,造成破坏,这是目前种种问题的根源。最常见的情况就是能够正确分区并安装好系统,但写入大量数据(120gb以上)后就丢失分区,或者是拷贝数据过程中失去响应。重新启动以后该分区的文件夹变成了乱码,甚至不能访问,报告该分区没有经过格式化……现在每个人用的操作系统各有不同,微软的补丁也很多,相当多的人不知道自己系统里存在这种危险性。其实微软的在线知识库里有相关的说明文章,地址http://support.microsoft.com/default.aspx?scid=kb;en-us;303013,不过是英文的页面,所以没引起大家的重视。笔者查阅了相关的资料,综合自己的使用经验,总结出几条要点:
1.尽量用微软自家的分区软件
这点在上面分析过了,主要是为了保证分区表的稳定。注意不是win98的fdisk,要winme自带的fdisk才能显示正确容量。如果你嫌fdisk分区速度太慢,可以先划出一个5gb左右的分区,安装win2000或winxp等操作系统,后面的容量到windows中的“控制面板→管理工具→磁盘管理”里再划分,如图2。格式化时注意选好格式,勾上快速格式化。另外win2000和winxp的安装光盘引导后,都具有磁盘管理的功能,还是中文界面,推荐使用。
2.适当的补丁及打开48位寻址功能
如果磁盘分区中安装了不支持48位lba寻址的旧版本windows,例如没打补丁的win2000或更旧版本,而该分区以前是由支持48位的系统在超出当前137gb的可寻址限制创建的,访问这些分区就可能出现破坏数据的情况。如果在注册表中启用了48位atapi支持,并且具有容量超过137gb的硬盘,但是没有48位lba兼容bios,则只有硬盘的前137gb是可寻址的,不能使用硬盘的其余部分。
win2000的用户,请打上sp4补丁。微软的资料上说,安装了winxp home edition或winxp professional的service pack 1 (sp1)之后才会启用48位lba支持。事实上是,即使打过sp1的补丁也要检查atapi.sys的版本,因为只有5.1.2600.1135版本才能完全支持48位lba,(winxp 64-bit edition需要5.1.2600.1152版本)而5.1.2600.1135版本是在sp1后推出的,这个文件是在331958这个补丁里。如果你对诸多补丁感到混乱,或下载有困难,可以手工编辑注册表,操作如下:
在“开始→运行”中键入regedit,在hkey_local_machinesystemcurrentcontrolsetservicesatapiparameters下,建立一个dword值,名为enablebiglba,数值填1,如图3。这是专业版的修改方法,home版和server版我没用过,但在注册表内搜索atapi的键值,相应作修改应该也不算难事。听朋友说,他用的win2003也能正常识别137gb后面的容量。
3.分区及格式处理的建议
①尽量把ntfs分区放最后
win98实在是太古老了,对ntfs格式和48位寻址都不支持,微软也停止了对它升级支持。虽然在预先分好区的160gb硬盘上,win98也能访问各个fat32分区,但难保不会出什么bug。鉴于某些老的软件必须在win98里运行,建议大家使用win98 win2000/xp的双系统,而且把100gb以后的容量格式化为ntfs分区,放在最后。这样,win98运行的时候,不会访问到超过137gb以后的数据,就大大减少了破坏数据的危险。
②可以把最后30gb单独分成一个区
如果你的机器里有工程图纸、3d素材这样重要的数据,建议把最后的30gb专门分出一个区。再把无关重要的东西放到里面,试着把分区装满,进行多次读写的试验。如果最后的分区一直读写正常,那说明系统对48位寻址兼容性良好;万一不正常,也不会措手不及,造成巨大的损失。
③及时备份分区表
无论你用的是不是超过137gb的硬盘,及时备份分区表都是很重要的。万一遇到突发故障,有分区表备份,恢复数据把握就大多了。
另外,建议不要把分区填得太满,保持1gb左右的空间比较保险。笔者试过在一个磁盘阵列上一不小心解压临时文件把c盘填满了,结果windows提示故障并停止了响应,按reset重新启动后,竟然提示阵列不能识别了。只有重新进行设置并分区,损失了部分数据,可谓血的教训。
四、小结
1.注意,这里说的137gb容量限制,是指单个硬盘而言。不是说你买了两三个硬盘,合起来容量会限制在137gb。例如买了两个120gb的硬盘,如果没组成阵列,分别使用,加起来的200多gb的总容量是不受影响的。
2.bios不支持137gb以上硬盘容量的主板,尽量升级bios,否则还是买120gb的硬盘好了。主要是考虑到数据溢出的bug,遇到厂家bios停止升级又不愿意花钱买新主板的,还是不要冒险了。
3.如果分区是win2000/xp创建的,万一系统崩溃,务必记住:重新安装后,在未安装相应补丁前,千万不要访问硬盘100gb后面的分区,否则可能导致数据丢失!
上一篇: 干鱿鱼放冷藏还是冷冻比较好?
下一篇: 支付宝如何搜索附近的充电宝
推荐阅读