我刚刚将一块新的 2TB HDD 连接到运行 Ubuntu 的 SBC。HDD 上没有数据,因此我可以根据需要随意擦除数据,因为操作系统在 SDCard 上运行。我想将其格式化为一个大分区。我已完成以下操作:
parted --align optimal /dev/sda
(parted) mklabel gpt
(parted) mkpart newvol 0% 100%
(parted) align-check
alignment type(min/opt) [optimal]/minimal? opt
Partition number? 1
1 aligned
好吧,看起来不错。现在事情变得奇怪了。请看以下内容:
sudo fdisk -lu /dev/sda
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 33553920 bytes
Disklabel type: gpt
Disk identifier: 41C583F8-E750-4C58-A4B4-06EFAAA961FB
Device Start End Sectors Size Type
/dev/sda1 65535 3907000094 3906934560 1.8T Linux filesystem
Partition 1 does not start on physical sector boundary.
和
sudo mkfs.xfs -s size=4K /dev/sda1
warning: device is not properly aligned /dev/sda1
Use -f to force usage of a misaligned device
无论我是否指定 -s 参数,此未对齐消息都会通过 mkfs 保留。
所有这些都让我想到了我的问题。我的分区是否对齐?为什么 parted 认为是对齐的,但其他两个应用程序却认为不是。作为后续问题,如果确实需要修复,我需要做什么来修复这个问题?
谢谢你!
答案1
据我所知,外壳给出的 optimal_io_size 结果错误。我的 M.2 外壳中的 Transcend 512GB SSD 指向的扇区和您的一样,都是 65535 个扇区。
我将根据以下关于该主题的评论来阅读; https://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/#comment-9569