我有一个 SSD,它可以配置为以两种不同的方式向操作系统报告其物理扇区大小:
选项 1:逻辑 = 512 字节,物理 = 512 字节
选项 2:逻辑 = 512 字节,物理 = 4096 字节 (4K)
考虑到 4K 物理扇区大小,操作系统可以获得什么好处:
操作系统必须以 512 字节的扇区与驱动器通信,无论如何
所有现代操作系统都与 4K 对齐并使用 4K 或 4K I/O 的倍数,无论如何
该设置似乎毫无意义,因为现代操作系统已经针对 4K 扇区驱动器进行了优化。现代操作系统不需要“询问”驱动器的扇区是 512b 还是 4K,因为默认情况下,操作系统以 4K 友好的方式执行所有操作。
例如,Windows 7 将分区对齐为 1MB(4K 的倍数),NTFS 簇大小为 4K 或其倍数,所有 I/O 均以 4K 或其倍数进行。Windows 不在乎你有什么硬盘,它会在所有情况下应用上述行为。
无论如何……我的 SSD 有这个“物理扇区大小”设置,所以它必须存在有一些很好的理由……这就是我正在寻找的原因。
顺便说一句,就其价值而言,该驱动器是Intel SSD DC S3510。驱动器的数据表说明了这一点(第 27 页):
通过使用 SCT 命令 0xD801,State=0,Option=1,ID Word 106 可以从 …
我正在尝试在带有 SP1 的 64 位 Windows 7 机器上的具有 4K 物理扇区(高级格式)的 4TB 驱动器上启用 BitLocker。
驱动器分区为 GPT(1 个分区使用所有可用空间)并使用 NTFS 格式化。
当我右键单击驱动器并选择“打开 BitLocker...”时,会出现一个对话框,显示“盯着 BitLocker”和“BitLocker 正在初始化驱动器,请稍候”。还有一个警告(同一个对话框)说“连接到系统的设备没有运行”。进度条从不移动,也没有磁盘或 CPU 活动。我也没有在事件查看器中看到任何内容。
如何为该驱动器打开 BitLocker?
驱动器是内部托架中的 4TB Hitachi DeskStar 7K4000,通过 SATA-II(主机没有 SATA-III 端口)连接。它不是启动驱动器。我正在创建一个 GPT 分区(使用整个驱动器)。主板具有无 TPM 的 Intel P55 芯片组。设备管理器中没有黄色感叹号。我已经等了一个多小时,对话框没有任何反应。该驱动器具有 4K 物理扇区,512 字节逻辑扇区(它是高级格式 512e/512 仿真,而不是 4Kn/4K 本机)。
当我格式化卷时,我将分配单元大小保留为“默认”,最终为 4k。对于超过特定阈值大小的卷,是否需要不同的分配单元大小?
看来我可以创建一个更小的分区(2TB),没有问题。看起来神奇的限制是 3815174 MB,比可用容量 3815318 少 144 MB(根据新建简单卷向导)。有人能解释一下吗?我将主板 BIOS 更新到最新版本,似乎对这个问题没有影响。
我想知道为什么 Bitlocker 无法使用所有可用空间加密单个分区(根据“新建简单卷向导”),但会加密一个小 144 MB 的分区吗?我有一个带有单个分区的 2TB Hitachi 驱动器,没有未分配的空间,并且它们加密得很好。根据 Microsoft 管理控制台中的磁盘管理管理单元,我在 4TB Hitachi 上有 145 MB 的未分配空间。一种避免浪费 145 MB 的方法会很好。这不是很大的空间,但我不想在不同的 4TB …
有多种基准测试工具可用于测试 PC 驱动器的速度。
以下是 SATA SSD 的基准示例:
m.2 固态硬盘:
我正在使用带有 4 个使用 4k 扇区的硬盘驱动器的 Linux。我的文件系统和原始设备之间有几层:磁盘 > Linux Raid 5 > dm-crypt > LVM。
我找到的每个资源都解释了如何设置每一层以确保该层顶部的写入将与 4k 扇区边界对齐。但是,我没有找到任何可以解释如何验证对硬盘驱动器进行的写入是否实际发生在 4k 边界上的任何内容。
我对重新检查我的设置以使用逻辑来确定它是否正确对齐不感兴趣。我想检查写入磁盘时实际发生的情况。
如何记录或查看对硬盘驱动器进行的写入的地址和大小,以便验证它们是否正确对齐?
我刚刚购买了几个新的 3TB WD 驱动器。它们具有 4k 物理扇区,但有某种层提供 512B 逻辑扇区(请参阅下面的分区表)。
为了尝试从我的硬盘驱动器中获得更高的速度,我想摆脱这个逻辑层并实际使用物理 4k 扇区。但是,我无法从 fdisk 和 parted 的手册页或从 Google 搜索中弄清楚如何执行此操作(或者即使可能)。有谁知道如何做到这一点?
至于为什么这是相关的,这个页面表明,仅仅正确对齐扇区已经可以弥补 25% 的读取速度差异,在某些情况下超过 2500% 的写入速度差异!摆脱逻辑扇区以支持物理扇区应该会进一步提高速度。谢谢!
$ parted /dev/sdc
GNU Parted 2.3
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3001GB 3001GB zfs
9 3001GB 3001GB 8389kB
Run Code Online (Sandbox Code Playgroud)
PS我不在乎驱动器上的数据,我只是在玩不同的文件系统。另外,这是我第一次在这里发帖,所以请让我知道我的帖子是否应该采用不同的格式等。
我有两个据称相同的 3TB Western Digital USB 硬盘驱动器。一个包含几乎完整的 3TB 数据。我希望另一个是该数据的备份。有很多小文件,因此运行cp速度甚至比使用dd. 两个驱动器是同时购买的,都使用 MSDOS 分区表,但一个显示逻辑/物理扇区大小为 4096/4096,另一个显示为 512/4096。
我的问题是我正在尝试复制到512/4096 驱动器,但由于 MSDOS 分区表具有 512 字节(逻辑)扇区的限制,我无法创建足够大的分区。我已经试过各种命令(dd最初的几个部门对分区表,parted,fdisk,的GParted,Windows XP的“管理”和Windows 7的“管理”),但与以为他们是3TB当任2TB最大限制或300GB〜分区结束他们被创造了。
鉴于我的一个驱动器以 4096/4096 运行,那么这个问题不适用于我的情况。
使用 GPT 是我的后备选项,但它会创建一个比 NTFS 分区稍小的分区,因此我无法仅dd使用该分区上的文件系统。
西部数据“Ultrastar\xc2\xae DC HC530 14TB HDD”(型号:WUH721414ALE6L4)(SATA 接口)默认只有 512e 扇区大小。
\n根据下面的 2 个西部数据文档,“** 512e 型号可以转换为 4Kn 格式,反之亦然。 ”:
\na) WD 部件号选择器(请参阅脚注 1)( https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/data-center-drives /ultrastar-dc-hc500-series/data-sheet-part-numbers-ultrastar-dc-hc530.pdf )
\nb) 产品手册(请参阅第 17 页) ( https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/data-center-drives/ultrastar- dc-hc500-series/product-manual-ultrastar-dc-hc530-sata-oem-spec.pdf )
\n但是,西部数据没有提供任何指令或软件/实用程序来执行从 512e 到 4Kn 扇区大小的转换(在 Windows 10 中)。
\n我已写信给西部数据支持门户,但他们没有提供任何有用的回复。
\n感谢您就如何将 Western Digital“Ultrastar\xc2\xae DC HC530 14TB HDD”从 512e 扇区大小转换为 4Kn 扇区大小提供建议。(在 Windows 10 中)
\n出于好奇,我在带有已知坏扇区的Seagate ST1000LM024 HN-M101MBB 硬盘驱动器上运行GNUddrescue,然后我使用ddrescueview可视化映射文件。ddrescue
当我放大时,出现了这个有趣的图案:
绿色间隙(连续的好扇区)通常有 2440 个逻辑扇区(1249280 字节)大,红色部分(坏的和可能物理损坏的扇区)几乎总是 1 个物理扇区(4 个逻辑扇区,4096 字节)大。
记住这种模式,我做了一个计算来估计有多少扇区会在轨道上。硬盘旋转5400 rotations per minute,该部分驱动器的持续读取速率约为109 mebibytes per second(我在相同型号的驱动器上测试过,没有坏扇区),一个磁道环绕360 degrees,逻辑扇区为512 bytes。
((109MiB/s / 5400rpm * 360 degrees) / 512 bytes) = 2480
据估计,受影响的磁道中大约有2480 个逻辑扇区。该模式每2444 个逻辑扇区发生一次。
这表明物理损坏看起来像一条非常细的条带,实际上与盘子的圆相切向内。细条适合小于 的弧度0.001639°。这种损伤,无论是什么,似乎都是一个微小的伤口。
该模式还有其他一些我无法理解的特征。
为什么会出现这样的伤害?什么能创造出如此有序的破坏模式?
# smartctl -a /dev/sdf
smartctl 6.4 2014-10-07 r4002 …Run Code Online (Sandbox Code Playgroud) hard-drive data-recovery bad-sectors ddrescue advanced-format
如果我在具有 63 扇区起始位置的系统上使用 Windows 7 备份并将其恢复为高级格式 4096 扇区系统,那么恢复会在 63 还是 4096 处创建起始扇区?
Windows 可以通过fsutil fsinfo sectorinfo x:命令告诉我负责分区/卷的驱动器的逻辑和物理扇区大小(x我的驱动器号在哪里)。如何获取没有任何驱动器号或任何类型卷的驱动器的此信息?
我使用的是 Windows 8.1 Pro,但我希望答案至少也适用于 Windows 7。
wmic partition get BlockSize, Name是错误的,因为它只给出逻辑扇区大小,并且如果驱动器上没有分区也不起作用。wmic diskdrive get BytesPerSector, Name再次只给我逻辑扇区大小,但确实适用于所有硬盘驱动器。似乎没有Win32_DiskDrive具有物理尺寸的属性。fsutil fsinfo ntfsinfo \\?\Volume{...}\ 仅适用于带有分区的驱动器,以及 NTFS 分区。 sectorinfo上面的版本根本不适用于特殊的卷语法 ( Error: The system cannot find the path specified.)。msinfo32) 仅显示每个扇区的逻辑字节数。我不想初始化驱动器或在其上创建卷,因为这会破坏 Windows 看不到的内容。
我也知道IOCTL_DISK_GET_DRIVE_GEOMETRY_EX,但使用它需要编写和编译程序。最好没有第三方工具,如何在 Windows 中找到硬盘驱动器的物理扇区大小?
advanced-format ×10
hard-drive ×7
partitioning ×3
linux ×2
sectors ×2
ssd ×2
windows-7 ×2
alignment ×1
bad-sectors ×1
benchmarking ×1
bitlocker ×1
ddrescue ×1
debian ×1
sata ×1
windows ×1
windows-10 ×1