ssd这玩意,容量是个大问题。我选来选去,最后放弃了64g,选购了120GB的,本以为很够用,开机一看,就一个盘符,才86g,实在没办法,不得不折腾一下。

首先应解释一下win7一年不过64位win7算上驱动有30g之多,而且linux的io调度,ext4文件系统都有比win7先进。我感觉ubuntu的开机速度只有win7的一半,虽然我没有任何精简的正版windows7也是10秒内搞定了。

空间小的关键是品牌机的隐藏分区,这个隐藏分区有25g,是一个完整的系统备份,如果系统被搞乱了,开机按f8就可把系统恢复到出厂状态。非常nice的功能,可是对ssd来说平白少掉25g无异于谋杀。我换上ssd之后,用华硕的系统恢复光盘恢复了系统,默认重新分区并重新装置了隐藏分区,空间就这么没了。

要安全删除掉隐藏分区,我觉得得对启动流程有一定了解。

开机时首先启动bios,自检,然后bios根据设定的启动顺序依次查找可启动的设备,在第一个找到的设备启动。启动时首先加载该硬盘的首MBR,MBR由三部分组成,446字节的启动程式,64字节的dpt,即分区表,尾部为2字节的结束符。由于分区表为64字节,所以每个硬盘只能有四个主扇区,所谓逻辑扇区只是对主扇区的划分,其实现是在系统启动后由系统实现的,所以无法从逻辑扇区启动系统。

每个硬盘只能有一个活动分区,即启动分区,因此windows的fixmbr不必针对单个扇区执行,活动分区即启动分区的位置是在分区时就决定的,即读分区表就可以了解的。启动到mbr后,mbr加载启动程序,win是bcd,lninux是grub,所谓多系统就是设定该程序实现的,启动程序再加载内核和主线程。

因此顺序是:MBR→active分区的首boot分区→bcd→winload.exe

因此先确定哪个分区为活动分区,如果隐藏分区为活动分区,证明启动顺序为mbr-隐藏分区-隐藏分区的bcd-c盘,这就不能删掉隐藏分区,否则无法启动,我感觉这种情况应用安装光盘启动,然后shift+f10进入命令行下,diskpart删掉隐藏分区,再把c盘设为active分区,fixmbr,fixboot c: 。应该就可以启动了,当然这只是理论设想,我未实践过。

如果像我一样,隐藏分区不为活动分区,证明这货和启动流程屁关系没有。在windows的计算机管理中就可以看到它。右键删之,照常启动,没有一点影响,从原理上这也是不可能的。但是windows自带的磁盘管理只能合并向后的连续空间,不能合并向前的,无所谓,微软什么时候出过好东西了。我使用的是付费的acronis disk director home,找序列号可花了不少时间,不过用这个软件就可以安全调整任意磁盘空间,甚至不连续的也行。

相信大多数人都用过磁盘整理,任何人也没法对正在运行中的c盘做整理,整理是通过定制一个任务在下次启动时实现的,acronis disk director home也是如此。牛逼人理应可以用linux u盘开机然后用gparted直接调整,理论上,我没试过。

但是影响呢?平白少掉一个分区不会对系统有影响么?我开始也是这么想,但是证明没有任何影响,照常使用。一键还原自然是不能用了,问题是windows7自己的还原备份也不能用了。华硕可能是用自己的一键还原程序修改或者替代了win7的还原程序,但是备份还是可以做的。没关系,用win7 灾难紧急恢复光盘开机,用此光盘恢复即可。注意win7的备份和ghost一样是包括mbr和分区表的,我第一次恢复就不明不白多出一个25g分区,里面却没有任何东西