返回列表 发帖

[技术文章] 给ThinkPad预装的Vista系统重新分区

=======
给磁盘调整分区大小向来都是很简单的事情。不过在vista系统上,
这件简单的事情被复杂化了。希望我浪费在这上面的时间能被你节省出来。

wu,zhaojun
2007/08/12
=======

一年一度的学校的笔记本促销搞的如火如荼,很多人都在排长队去等自己心仪的thinkpad笔记本。我的一个朋友最近买了一台t61 wxga+,很是欢喜。不过,把系统跑起来之后,发现了一个问题。除去一个隐藏了的大概6g左右的分区(用来存放thinkpad著名的"一键恢复"的系统数据),预装的vista系统把用了整个硬盘全部分成了一个分区(即通常所说的c盘)。100g的空余空间做为一个c盘显然不是一个好的主意(也不知道为什么所有的厂商都采取这样的策略)。自然而然的想法是要把那100g分割出一些空间,独立出来用来存放一些个人数据。

把用户的个人数据和系统数据分别放在不同的分区是一个很好的习惯。好处在于,当你的vista系统出现问题无法正常启动或者系统运行经常出现异常的时候,你可以通过 thinkpad的一键恢复功能来的恢复你的系统。这个时候,你只需要有选择地只恢复存有vista系统的那一个分区(即通常意义上的c盘)。对于存放个人数据(通常所说的d盘e盘等等)的其他分区则可以毫发无损。当然这是自有windows系统以来,有经验的用户通常采用的一种分区策略,并不只限于 vista系统。

问题的关键是,我们之前在windows 98/2k/xp系统中熟悉的那些工具,比如partition magic这样的工具,目前还没有推出一个vista-compatible的版本出来。原来的那些版本在vista系统上根本无法正常运行。 google一下这个问题,你就会发现,网络上有非常之多的blog/论坛在讨论如何在不删除预装的vista系统的前提下,把系统的那个分区分割 (resize)出一些空间出来。

我个人花了两个晚上的时间来研究这个问题,下面是我个人根据网络上的一些资料和自己的实际操作总结出来的一些经验,供大家参考。

1、使用vista自身带的磁盘管理工具

相对于之前的windows 9x/2k/xp来说,vista变的“似乎聪明”了一点。它自身的磁盘管理里面实际上就可以对一个硬盘的分区进行压缩(shrink)。“压缩”这个译法有歧义性,很容易和我们平时理解的“压缩(compress)”有出入。不过中文版的vista系统好像就是这么翻译的。我们还是用shrink(缩减)来讲这件事。如下这个网页讲述了如何用vista的这个新功能来做shrink.
how to resize a partition in windows vista
[http://vistarewired.com/2007/02/16/how-to-resize-a-partition-in-windows-vista/ ]
这个方法的优点是你不用依靠第三方的工具来做这件事情。对于要求不高的朋友来说,这是个好选择。

不过,这个方法最大的弊端就是,你只能shrink出来很少一部分(少于50%)的空间出来。因为vista会把一些系统文件(比如 pagefile.sys和hibernate之后用来存放系统镜像的文件等等)放在系统分区的中后部。你如果用磁盘分析工具你就可以看到,在你的系统分区上,那些连续存放在分区头部的文件之后是一大块没有被分配的空余空间,然后在分区的中后部又有很多连续的大块文件。这样的设计在重新生成那些经常变化的 pagefile.sys文件时,可以直接得到一连串连续的空间,加快系统读写磁盘的效率。这是一个“看似高效”却“比较不合理”的设计方法(windows的所有产品或许都有这样的“特征”)。因此,vista的磁盘管理工具的shrink功能是不会帮你把这些放在中后部的文件往前面移动的。这意味着,那些处于头部和中后部中间的空闲空间你是无法重新分配出来给新的分区用的。以我朋友的系统为例,在100g的vista系统分区上,如果你不做任何调整(稍后讲到),这个工具最多只能让我分出30g左右的空间出来。用70g的空间装一个vista的系统绝对是天大的浪费。

当然,如果你想要分配再“稍微”多点的空间出来,你可以试着按照如下这个连接描述的方法,在shrink你的分区之前把pagefile.sys和hibernate等一部分占据分区中后部的文件删除掉。

working around windows vista's "shrink volume" inadequacy problems [http://www.howtogeek.com/howto/windows-vista/working-around-windows-vistas-shrink-volume-inadequacy-problems/ ]

我尝试了这个方法,可以多shrink出来大概40g的空间。因为,还是有很多“未知”的文件占据在分区的中后部。当然,对我来说,这仍然是不可接受的。
这里,我不免又对microsoft抱怨一番:他们做的东西“用的人多”只是因为他的市场推广实在强大,把大部分人潜移默化成了他们的用户。不过,他们设计出来的东西真的是半吊子,上不上下不下的,很多时候只会让人抓狂。


2、使用acronis disk director工具

国内的论坛上,大多数介绍如何在vista系统里面分割系统分区的方法多数都是连接到了这个地址:
【vista之家原创】再谈window vista如何调整硬盘分区  [http://www.vista123.com/vista/229.html ]
这个文章里面提到了一个 acronis disk director suite 10.0的软件,而且还提供了“汉化版”提供下载。我也试用了一下这个软件,和partition magic的操作很相似。可惜的是,这个软件除了在让我重启系统之后报一个“abnormal termination”的warning之外,对我之前提交的重新分区要求不闻不问。重新进入系统之后,vista的系统分区依然保持原有的分区大小。虽然网络上有很多人用这个软件来调整好了分区,不过对于我所实验的thinkpad t61而言,它是无效的。而且很多其他品牌laptop的用户也报告了同样的出错信息。具体原因,我无法和也不想深究了。

[更新:据shooter同学在第8楼和第12楼的分析,vista123上的那个acronis汉化版本可能不能在英文的vista下面使用,这也可能是导致我在上面碰到abnormal termination的原因。而根据他自己的经验,他用英文版的acronis disk director很方便的解决了无损调整分区的这个问题,并且在第8楼提供了英文版的相关下载信息。有兴趣的朋友可以参考一下。不过,如果你偏好自由软件,请接着往下读。:-]

[更新:nobel同学说"关于vista分区, 请安装paragon hard disk manager pro最新版本,在vista下进行分区."]
[更新:januar同学说"英文原版(的acronis disk director)的确是可以用地 俺试了一下"]

3、使用gpl licensed的gparted工具

最终的方法还是回到了linux。国外的论坛上很多人提到了"gparted"这个基于gpl license发布的linux工具可以用来对ntfs的分区进行resize.其功能相当于windows用户所熟悉的partition magic。不过,有人说,用这个工具对vista的系统盘进行resize之后,vista的启动会出问题,需要vista的启动光盘来修复才能正常引导。
using gparted to resize your windows vista partition
[http://www.howtogeek.com/howto/windows-vista/using-gparted-to-resize-your-windows-vista-partition/ ]

thinkpad的学生机是不带原装的vista系统盘,只提供用来恢复系统用的恢复光盘。所以一开始我没有用这个方法。可是,事到如今,我也只好冒点风险了。上面的那篇文章中,使用的是gparted的live cd来做这件事。我用的是另外一个基于linux的system rescue cd,因为除了gparted之外,它还准备了很多其他一系列做系统恢复的linux工具,所以它是我的做系统维护时候的首选。你可以在它的官方网站上: http://www.sysresccd.org 下载到最新的版本。用该光盘启动系统的时候,会问你的键盘的keymap,直接点回车用默认的就可以了。等系统启动之后,会出现一个"root %"的提示符。这时输入"startx"命令回车进入x window的桌面环境。然后用鼠标右键点击桌面上的任意空白区域,选择"gparted"菜单项,便可启动gparted工具。然后参考上面的那篇文章来对vista的系统分区进行 resize操作。具体的过程这里不再累述。

不幸的是,我也碰到了上面那篇文章中说的调整分区之后vista不能启动的问题。

[更正:这个问题实际上是我用在ubuntu live cd跑gparted工具出现的。在另外一台x61s的笔记本上,我用这个systemrescuecd test version 0.3.8-beta里面带的最新gparted没有出现这么严重的问题,只是在resize分区之后重启之后,系统会自动进入thinpad的rescure and recover的界面进行一次简单的修复。然后就可以正常进入vista了。]

因为手头没有vista的光盘,所以唯一的办法是用thinkpad的一键恢复功能把隐含分区里面备着的vista系统恢复到我调整了容量之后的c盘上。具体的做法是,在系统启动的时候,按一下那个蓝色的thinkvantage的按钮,然后选则f11进入thinkpad自带的用来进行系统维护和修复的系统。然后在左边的功能清单里面选择"rescue and restore"下面的"restore your system"来进行恢复。具体的步骤是:

step 1: restore my hard drive to the original factory state. 点击"next"之后跳到step 3;
step 3: i don't want to save any files. 点击"next"之后跳到step 6;
step 6: 点击next之后,会出来一个warning的窗口。提示你不要关机什么的。点击"ok"之后,它会出来一个"product recovery"的向导。

在这个"product recovery"向导里面,在提示"more than one partition was detected on your hard disk. what do you want to do?"的时候,你只要选择"format the c:\ partition only"那一栏就好了。然后,出来的是问你要做"full factory recovery"还是"custom factory recovery"。前者是把vista的系统做成你第一次运行vista的那个样子,加载了很多第三方的软件。而后者,则是可以选择定制恢复--也就是有选择的把一些没有用的第三方工具比如american online, diskeeper home什么的去掉,这样你恢复好的系统就不会有一堆用不上还占用系统资源的软件在跑着。这个看你个人喜好而定就好了。然后就是一直next下去。直到让它进行这个恢复操作。

整个恢复的过程大概是2.5小时我就当检验一下thinkpad的一键恢复功能了)。当然,如果你手头有或者能找到那种独立发行的vista光盘的话,参考一下上面的那篇文章进行一下修复,应该可以在5分钟之内搞定了。

4、总结

总的来说,如果你对你的thinkpad的磁盘空间分配不是很在意,你大可用第一种方法,简单的分出30%左右的磁盘空间出来存放数据。如果你和我一样不是有钱人,又不介意使用破解版的商业软件,又想优化分配你系统的所有资源,那么我推荐你使用第2种方法。如果你和我一样不是有钱人而且喜欢自由的东西又不怕麻烦,就用我介绍的第3种方法吧。

另外,可能还有别的工具或者更简单的方法可以用来进行resize,不过我好久都不用windows的东西了,所以无从知晓。知道的朋友或许可以补充一下。[更新:感谢shooter提供的第二种方法的更正]

x. 答疑:
>以下是引用lily在2007-08-14 13:44:07的发言:
>偶比较落伍,以前从来没有用过vista,看了nightowl的文章后感觉好像第三种方法最有效,但也要重新恢复
>系统。偶想不如把系统装回 windowsxp, 再用partition magic分区,然后再用自带的光盘format c,重装
>vista。方法虽然弱了些,但不知道可不可行?

呵呵。我之前的实验是想:

尽量避免重装vista才不得已用resize partition的方法。因为我不知道那个t61里面的thinkvantage的recover and rescue的功能是怎么工作的,手头又没有vista的光盘。所以,不敢轻易的就改变整个vista的系统分区。

从我目前给2台机器(t61和x61)的分区结果来看,我介绍的第三种方法应该是有效的。t61那台需要重新恢复系统的很大的可能性是因为我用的 ubuntu live cd里面的gparted工具版本不够新引起的,在实际操作的过程中有几个错误提示。在x61s上用我介绍的那个system rescue cd来做的话,就没有问题了。

当然,如果你不介意重装系统的话,完全可以把vista的那个分区全部删掉然后根据需要重新分区(不过别不小心把那个6g的隐藏分区给删掉了)。然后用 thinkvantage里面的recover and rescue把系统恢复到你新划出来的c盘上。这样或许是最简单的办法。

另外,因为用gparted来resize一个系统分区,也需要大概1.5小时。如果分区之后不会报系统不能引导的错误信息的话还好,不然,真的不如直接分区先。带这种工具的启动光盘很多(当然,我说的那个system rescue cd也是其中之一),没有必要为了调整分区而去装一个windows xp的。

题外话:个人觉得vista实在太耗资源了,如果你有合法licence的windows xp,不想经受vista对资源的无限渴求的话,倒不妨用xp(or linux)替代了vista.  imho, bad vista, http://en.wikipedia.org/wiki/bad_vista, but, ymmv.
欢迎光临:逐梦论坛

返回列表

Powered by Discuz! 7.2   论坛QQ群:逐梦论坛群

© 2001-2021 Comsenz Inc. 鲁公网安备 37120302000001号