簇是系统在硬盘上读写文件时的单位,是一个数据块(逻辑概念)。而扇区是硬盘划分的最小单位值,就是簇(数据块)占用的地方(物理概念)。NTFS对于大于2GB的分区,默认簇大小为8个扇区(4KB)。
绝大多数的机械硬盘默认是512字节的扇区,采用的是DRAM作为存储介质; 而机械硬盘,无论是SLC颗粒还是MLC颗粒,都属于NAND闪存存储单元。 这种硬盘的扇区是4K,这就是4K的由来。
NTFS格式有一个特性,那就是起始簇的位置! NTFS分区起始位置不是从0开始,而是从LBA63开始,就是第六十三个扇区开始开始存储。 而且NFTS默认认为扇区是512字节大小,而不是智能调节到第六十三个扇区。 这样问题就来了,63个扇区×512字节=31.5K,也就是说,磁盘的前31.5K是不能被使用的。 使用机械硬盘就算了,使用固态硬盘,存储第一个字,也需要占用31.5K-35.5K之间的磁盘扇区。 最过分的是这样子排列下去,恰好每到一个扇区的4K位置,就会造成一个数据存2个扇区的情况。 而且这样排列,只要到了那个能被4K整除的位置就100%占用了2个扇区,哪怕只写一个字。 固态硬盘无论是MLC还是SLC,都是有写入读取次数的,这样极大的损伤了性能和寿命。 而且,增加了读取次数。 这个时候无论簇是多大,都会造成性能和空间的浪费。 所以这个问题就叫做4K!
硬盘分区的时候有一个东西叫做物理存储单元,俗称簇。分区的时候可以指定这个大小。这个簇不是硬盘的物理结构,而是使用方法。随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4K扇区”。随着NTFS成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以,有了“4K对齐”的概念。 传统硬盘的每个扇区固定是512字节,新标准的"4K扇区"的硬盘,硬盘厂商为了保证与操作系统兼容性,也将扇区模拟成512B扇区,这时就会有4K扇区和4K簇不对齐的情况发生。所以就要用“4K对齐"的方式,将硬盘模拟扇区对齐成“4k扇区”。“4K对齐”就是将硬盘扇区对齐到8的整数倍个模拟扇区,即512B*8=4096B,4096字节即是4K。所以只要是8的倍数都是4K对齐了。例如用win7系统对硬盘分区格式化时,默认是将硬盘扇区对齐到2048个扇区的整数倍,即512B*2048=1048576B=1024KB,即1M对齐,并满足4K对齐,该值只要是4096B的倍数就是4K对齐。
我们平时说的硬盘4k对齐是指符合“4K扇区”定义格式化过的硬盘,并且按照“4K扇区”的规则写入数据,4k对齐可以避免在向硬盘写入最小量的数据可能占用两个"4K扇区"的情况出现(跟脚踏两只船的道理一样),这样可以大大提高硬盘的读写性能。 不光SSD硬盘(固态盘)需要4k对齐,我们现在用的普通机械硬盘也需要4k对齐,对齐的方法有很多,现在一般Win7/Win8的格式化工具进行格式化会自动对齐,DiskGenius这样的分区工具也支持4k对齐,但这些方法都是在有损的情况下进行的,也就是说会造成硬盘数据丢失。而Paragon Alignment Tool这款无损的硬盘4k对齐工具,可以用来检测并解决硬盘分区4k对齐问题,支持高级格式化驱动(AF驱动)、固态盘(SSD)以及独立磁盘冗余阵列(RAID),不会破坏原有硬盘分区的数据。
4.0 功能特色:
-支持Windows 8 -更快的对齐引擎 -如没有安装MSI程序包,可以启动WinPE环境对齐分区
具体的对齐操作方法还请参考文末的链接。
Paragon Alignment Tool 理论上是可以对 系统盘进行 4k 对齐的,因为系统盘处于锁定状态,必须重启进入 DOS 状态下对齐,但是 UEFI 下,Paragon Alignment Tool 引导会进入不了 DOS 模式,我们只能放弃 UEFI 下的 Paragon Alignment Tool 系统盘对齐操作,另辟蹊径。
具体工具:
(1)win8PE
(2)DiskGenius、Ghost 11.5
思路:
(1)先用 Ghost 备份 C 盘镜像
(2)然后再用 DiskGenius 删除 C 盘分区
(3)以 4k 对齐的方式(8扇区,4096字节)新建 C 盘分区
(4)格式化C盘,可能有提示保存分区表。点确认即可。
(5)最后再用 Ghost 恢复 C 盘镜像即可。
说实话 Ghost 回去以后还是满怀期待进入系统的,结果蓝屏报错了,当时真是一脸懵逼。。。
如果真的沦落到要重装系统的话估计得至少花一周的时间了,因为系统里一堆软件、各种开发环境和个性化设置。。。好在对 windows 还算了解,根据蓝屏提示,初步判定问题应该是在系统 uefi 引导这块,然后找了几个帖子还算顺利的解决了。
Recovery Your PC needs to be repaired. The application or operating system couldn't be loaded because a required file is missing or contains errors. File: \windows\system32\winload.efi Error code: 0xc0000225 You'll need to use the recovery tools on your installation media. If you don't have any installation media (like a disc or USB device), contact your system administrator or PC manufacturer. Press Enter to try again Press F8 for Startup Settings Press ESC for UEFI Firmware Settings
当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。 怎么修复UEFI引导呢?
esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat格式磁盘分区代替
efi\boot\bootx64.efi efi\microsoft\boot\bcd
uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)
我们建议大家启动64位8PE,用它带的 bcdboot 来修复。 (一)指定esp分区修复 环境为64位 win8PE,bios/uefi启动进入下都可以 1、启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区 打开cmd命令行,输入以下命令并运行
bcdboot c:\windows /s o: /f uefi /l zh-cn
其中:c:\windows 硬盘系统目录,根据实际情况修改 /s o: 指定esp分区所在磁盘,根据实际情况修改 /f uefi 指定启动方式为uefi /l zh-cn 指定uefi启动界面语言为简体中文 注:64位7PE不带/s参数,故7PE不支持bios启动下修复 (二)不指定esp分区修复 环境为64位Win7或Win8PE,只有uefi启动进入Win PE才可以(Legacy 进入 PE 不行) 不用挂载esp分区,直接在cmd命令行下执行: bcdboot c:\windows /l zh-cn 其中 c:\windows 硬盘系统目录,根据实际情况修改 /l zh-cn 指定uefi启动界面语言为简体中文 注:在Win8 PE中,我们也可以在uefi启动进入Win pe后,挂载esp分区用方法(一)修复
从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在各Win pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就完成efi引导修复。 1、启动任一Win pe,用esp分区挂载器或diskgenuis挂载esp分区 2、查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。 3.在esp分区中建立如下空文件夹结构 \efi\boot\ (bootx64.efi等复制) \efi\microsoft\boot\ (bcd等建立) 4、复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\下,并重命名为bootx64.efi 5、打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件, 打开并编辑bcd文件,添加“windows vista\7\8启动项,指定磁盘为硬盘系统盘在的盘,指定启动分区为硬盘系统分区(一般为c:) 指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来 最后保存当前系统设置并退出。
注:Winxp PE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就可以让xpPE也能识别gpt磁盘格式分区 指定启动分区不是esp分区所在分区,就是硬盘64位Win7、Win8 系统所在分区 指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来
1、手工运行ghost并不会修复esp分区 2、用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就自带esp分区uefi引导修复 3、用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。
@echo off
:1
title BIOS+UEFI引导修复工具1.1
color 03
echo *******************************************************************************
echo * BIOS+UEFI引导修复工具1.1 *
echo * *
echo *******************************************************************************
echo * *
echo * 此工具主要用于修复Windows引导,兼容BIOS启动和UEFI启动。 *
echo * 同时也可以用于修复多系统引导 *
echo * *
echo *******************************************************************************
echo.
set /p A=请输入Windows所在盘符:
echo.
set /p B=请输入引导文件所在盘符:
echo.
echo Windwos所在盘符为%A%,引导文件所在盘符为%B%。确定要修复吗?
pause
if exist "%HOMEDRIVE%\Program Files (x86)" (
goto x64
) else (
goto x86
)
:x64
echo 正在修复引导。。。
bcdboot64 %A%:\windows /s %B%: /f all /l zh-cn
echo 已完成修复
pause
cls
goto 1
:x86
echo 正在修复引导。。。
bcdboot32 %A%:\windows /s %B%: /f all /l zh-cn
echo 已完成修复
pause
cls
goto 1
最终 SSD Win8 系统盘 4K 无损对齐效果如下:
[1] 4K对齐选8,2048和4098扇区数有多大区别?实测告诉你
http://itbbs.pconline.com.cn/diy/52407606.html
[2] Paragon Alignment Tool(硬盘无损4k对齐工具) v4.0绿色版
http://www.ddooo.com/softdown/70747.htm
[3] 硬盘4k无损对齐工具Paragon Alignment Tool 4.0专业版(支持SSD及机械硬盘)
http://www.epinv.com/post/4698.html
[4] 2015最新SSD固态硬盘4K对齐分区教程(有损)
http://jingyan.baidu.com/article/363872ec3185246e4aa16f61.html
[5] 无损4K对齐教程-不损伤固态硬盘数据对齐教程
http://jingyan.baidu.com/article/851fbc3703af623e1f15ab95.html
[6] C盘(系统盘)无损4K对齐方法.开机速度提升20%+
http://tieba.baidu.com/p/1425336529
[7] winload.efi missing or corrupt: Fix for Windows 7, 8
https://neosmart.net/wiki/winload-efi-missing-corrupt/
[8] UEFI引导修复教程
http://blog.163.com/ycy_sdfc/blog/static/196180420144183845261/
[9] I get “Your PC needs to be repaired” and “Error code: 0xc0000225” in Windows 8