SSD Win8 系统盘 4K 无损对齐历险记

1、背景:为什么要 4K 对齐

簇是系统在硬盘上读写文件时的单位,是一个数据块(逻辑概念)。而扇区是硬盘划分的最小单位值,就是簇(数据块)占用的地方(物理概念)。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!

2、什么是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对齐。

3、如何做到无损 4k 对齐?

我们平时说的硬盘4k对齐是指符合“4K扇区”定义格式化过的硬盘,并且按照“4K扇区”的规则写入数据,4k对齐可以避免在向硬盘写入最小量的数据可能占用两个"4K扇区"的情况出现(跟脚踏两只船的道理一样),这样可以大大提高硬盘的读写性能。
不光SSD硬盘(固态盘)需要4k对齐,我们现在用的普通机械硬盘也需要4k对齐,对齐的方法有很多,现在一般Win7/Win8的格式化工具进行格式化会自动对齐,DiskGenius这样的分区工具也支持4k对齐,但这些方法都是在有损的情况下进行的,也就是说会造成硬盘数据丢失。而Paragon Alignment Tool这款无损的硬盘4k对齐工具,可以用来检测并解决硬盘分区4k对齐问题,支持高级格式化驱动(AF驱动)、固态盘(SSD)以及独立磁盘冗余阵列(RAID),不会破坏原有硬盘分区的数据。

  • 无需重启进行分区对齐操作 - 未锁定的分区可以在Windows中直接进行对齐。
  • 蓝屏模式下的对齐操作 - 重启系统进入蓝屏模式,对正在使用的分区进行对齐操作。
  • 通用恢复CD(RCD) - 在未安装PAT时Windows无法检测或对齐驱动时启动您的系统。
  • 全部数据保护 - 在对齐操作忽然中断(比如电源中断)时,数据依旧能够获得保护。

4.0 功能特色:

-支持Windows 8
-更快的对齐引擎
-如没有安装MSI程序包,可以启动WinPE环境对齐分区

具体的对齐操作方法还请参考文末的链接。

4、UEFI 下系统盘如何 4K 无损对齐?

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 盘镜像即可。

5、遇到的问题:winload.efi missing or corrupt

说实话 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

10145310_G3U9.jpg

6、如何解决 UEFI 下的 winload.efi 丢失问题?

当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。
怎么修复UEFI引导呢?

6.1 UEFI引导基本原理:

  • esp引导分区

            esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat格式磁盘分区代替

  • efi文件结构

      efi\boot\bootx64.efi
      efi\microsoft\boot\bcd

  • efi启动过程

      uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)

6.2 修复方法:


  6.2.1 用 bcbboot 自动修复


  我们建议大家启动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分区用方法(一)修复

  6.2.2 用bootice手动修复


  从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,要手工改过来
  

  6.2.3 其它问题


  1、手工运行ghost并不会修复esp分区
  2、用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就自带esp分区uefi引导修复
  3、用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。

        6.2.4 BIOS+UEFI引导修复工具

@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 无损对齐效果如下:

    

Refer:

[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

http://bit.ly/1WKQNLt

转载于:https://my.oschina.net/leejun2005/blog/679621

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值