openwrt 逻辑扇区大小识别错误

2022-07-14 16:13:12 +08:00
 Donahue
在 ubuntu20.04 下使用 ext4 格式,格式化好硬盘后,无法在我家云的 openwrt 下识别。
使用 fdisk -l /dev/sda 显示,应该是逻辑扇区识别错误的问题。

在 ubuntu 下(x86 电脑)显示的扇区大小为:

Sector size (logical/physical): 512 bytes / 4096 bytes, 此时能正常识别分区信息。


在 openwrt 下(我家云 arm)显示的扇区大小为:

Sector size (logical/physical): 512 bytes / 4096 bytes, 此时无法识别分区信息。

在 openwrt 下使用: fdisk -b 512 /dev/sda 进行操作,然后 p 打印分区信息可以显示正常的信息。

应该就是逻辑分区大小的问题了, 这个应该怎么整呢,试过在我家云上格式化硬盘,插回 pc, pc 又识别不了(此时逻辑扇区和物理扇区大小为 4096/4096)
1278 次点击
所在节点    OpenWrt
12 条回复
eason1874
2022-07-14 18:20:33 +08:00
fdisk -l /dev/sda 显示啥?图片没看到
Donahue
2022-07-14 18:30:14 +08:00
@eason1874 没有图片,不会用图床:(


在 openwrt 下(我家云 arm)显示的扇区大小为:

Sector size (logical/physical): 4096 bytes / 4096 bytes, 此时无法识别分区信息。

这个打错了!
cxtrinityy
2022-07-14 19:00:12 +08:00
在 openwrt 用 fdisk 重新创建分区表试过么?
eason1874
2022-07-14 19:28:38 +08:00
搜到相似的帖子《我家云挂载 4T 硬盘时扇区识别出错!》 https://www.right.com.cn/forum/thread-4106556-1-1.html

他们两个都说外接硬盘盒没事,内置就这样,如果你也是内置这样,那估计是内置硬件只支持 4096 的,或者是硬件坏掉了,不能正确识别硬盘,给系统提供了错误的块信息

要是这样,比较好的处理方式就是换硬件,其次是修改系统配置,感觉软件方式比较麻烦,资料很少,只搜到这个: https://unix.stackexchange.com/questions/542284/how-can-you-force-the-linux-kernel-to-use-a-specific-block-size-for-a-disk
Donahue
2022-07-14 19:38:59 +08:00
@cxtrinityy 重新创建分区表要格式化原有数据吧? 这样 openwrt 上是能识别,但是换到台式机又不行了
cxtrinityy
2022-07-14 19:45:07 +08:00
@Donahue 感觉像你的 openwrt 改过, 带的 fdisk 读写问题估计也是和他匹配的? 分区表, mke2fs 这两个个应该都通用的, 我官网的 openwrt 写分区表和创建 file system 没碰到过这种问题
Donahue
2022-07-14 20:01:56 +08:00
@eason1874 成功访问了,使用 loop 设备能够指定块大小为 512 ,感谢!!

看来是我家云上面 sata 控制器的 bug ,给系统提供了错误的块信息
Donahue
2022-07-14 20:03:15 +08:00
@cxtrinityy 我是在 ubuntu 上格式化之后再拿去给 openwrt 用的~

openwrt 下格式化再使用也没问题,但是我硬盘里已经有数据了,不想再格式化一遍然后再复制数据了
Donahue
2022-07-14 20:23:21 +08:00
@eason1874 但是这样子性能好差,原本读写能到 110MB/s 以上的,用 loop 设备之后最高只有 25MB/s 了
eason1874
2022-07-14 20:33:43 +08:00
@Donahue 你可以研究下 /etc/fstab 挂载参数,我看有个参数是 blksize ,貌似是硬件的,不知道有没有逻辑的

要是经常插拔的话,可能整个硬盘盒比较方便。要是长期在 openwrt 使用,偶尔拔下来插 ubuntu ,那你可以反向操作,就按 4096 格式化,插 ubuntu 的时候用 loop 指定为 4096
frostnotfall
2022-07-15 18:54:56 +08:00
这会不会是高级格式化的问题,早先的盘扇区都是 512 ,现在的都是 4096 ,但一般为了兼容,硬盘厂商一般会将 4096 模拟为 512 ,但现在的最新盘还会不会模拟就不知道了。
然后 fdisk 命令也有了相应的支持。
所以
1. 两个系统 Ubuntu 和 openwrt 有一个 fdisk 工具版本太老或者没有集成这类支持?
2. 硬盘固件模拟扇区有问题,看看能不能升级固件?
Donahue
2022-07-15 19:11:52 +08:00
@frostnotfall 放弃了,而且 4T 硬盘放在上面好像异常发热,不瞎搞了,直接装台式上面用着,以后有需要再组台 x86 的 nas 了,折腾下去没意义

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866172

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX