![环境](https://linux22.com/image/1523060/%E7%8E%AF%E5%A2%83.png)
环境
我刚买了 1TB希捷 Barracuda ST1000LM048HDD。它是高级格式驱动器,具有 4096 字节扇区。
我计划将它与我便宜但值得信赖的(我的意思是便宜,它真的是普通的中国产品,我花了大约 5 美元购买)2.5 英寸硬盘盒一起使用,它已经陪伴我 5 年了,并且安装了多个硬盘,没有问题(我不确定我是否曾经用过高级格式硬盘)。它基本上是一个JMicron JM20329 高速 USB 转 SATA 桥接器带有一些晶体管和一个 USB 端口的芯片。看起来就像这样:
当我购买 1 TB HDD 时,我并不知道涉及高级格式驱动器和 HDD 外壳的问题。我强烈怀疑它可能在这里发挥作用,但在某些情况下我可以访问数据。
现在我不太确定,因为我刚刚发现了一个较旧的西部数据 500 GB 高级格式硬盘,它出现在使用相同外壳的 Windows 资源管理器中……这是怎么回事?!
问题
当我通过 USB 外壳将其连接到 Windows 8.1 笔记本电脑时,Windows 资源管理器中没有显示任何新卷。当在同一台笔记本电脑上运行 Fedora 25 并通过相同的 HDD 外壳连接时,我可以看到文件夹和文件。
当我通过内部 SATA 连接另一台 Fedora 25 PC 时,它可以在另一台 Fedora 25 PC 上运行。我附近没有 Windows PC 可以在内部 SATA 上测试它。
可能相关:分区方案似乎有问题/奇怪,请参阅以下部分中的粗体文本。我真的我感到很困惑,因为我从来没有见过类似的情况。
测试和诊断
我的笔记本电脑上通过 USB 外壳安装 Windows 8.1
由于其他人问过:我在 Windows 启动后连接驱动器。看看在启动前连接驱动器是否有任何区别。
- USB 外壳会被自动检测并安装为“USB 转 ATA/ATAPI 桥接器”。
- 该驱动器未显示在 Windows 资源管理器中。
- 磁盘管理(
diskmgmt.msc
)显示磁盘为“在线,未分配 931.5 GB,MBR 样式分区表”:
笔记本电脑上的 USB 外壳安装有 Fedora 25
我可以看到文件和文件夹并且可以从驱动器复制数据。
disks
信息
- 型号:ST1000LM048-2E7172 (SDM1)
- 大小:1.0 TB(1,000,204,886,016 字节)
- 没有分区入口
- 序列号:[删除]
- 评估:磁盘正常,一个坏扇区。
- 卷:
- 大小:1.0 TB — 850 GB 可用(15.0% 已用)
- 设备: /dev/sdc(请注意,没有分区号!)
- 没有分区类型入口
- 内容:NTFS — 安装在 /run/media/[redacted]
disks
SMART 报告
- 更新:47 年 1 个月 23 天前(!!!)
- 温度: - -
- 通电:---
- 自检结果:未知()
- 自我评估:未超过阈值
- 总体评估:磁盘正常,有一个坏扇区
- SMART 属性:该表一片空白 (!!!)
fdisk -l 输出
Disk /dev/sdc: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x[redacted]
Fedora 25 通过台式电脑上的内部 SATA
我可以看到文件和文件夹并且可以从驱动器复制数据。
disks
信息
- 型号:ST1000LM048-2E7172 (SDM1)
- 大小:1.0 TB(1,000,204,886,016 字节)
- 没有分区入口
- 序列号:[删除],同上
- 评估:磁盘正常(33 C / 91 F)。
- 卷:
- 大小:1.0 TB — 850 GB 可用(15.0% 已用)
- 设备: /dev/sda(请注意,没有分区号!)
- 没有分区类型入口
- 内容:NTFS — 安装在 /run/media/[redacted]
disks
SMART 报告
- 更新时间:不到一分钟前
- 温度:36 摄氏度 / 97 华氏度
- 通电时间:8小时0分钟
- 自检结果:上次自检成功完成
- 自我评估:未超过阈值
- 总体评价:磁盘还可以
- SMART 属性:见下图
fdisk -l 输出
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x[redacted]
答案1
我认为您遇到的问题是磁盘上根本没有分区方案。
您可能没有意识到,Linux 允许您将整个磁盘视为块设备(即单个大分区),并且您提供的所有信息似乎都指向这种设置。我相信 Windows 不支持原始块设备。
解决此问题的典型方法是将数据复制到其他地方,然后对磁盘进行分区和格式化(使用 FAT 或 NTFS 或 Windows 和 Linux 都可以读取的某种文件系统),然后再将数据复制回去。如果可以在不实际将数据从磁盘上移走的情况下完成整个过程,则风险很高,无论如何您都应该先备份数据,否则就回到原点。
答案2
从提供的 fdisk -l 输出中提取
在 Fedora 25 中通过 USB 附件扇区
大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
在 Fedora 25 中通过内部 SATA
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
USB 外壳不让操作系统(即 Fedora)识别正确的磁盘扇区大小。
两种可能的解决方案:
使用通过 USB 报告与 SATA/eSATA 相同内容的外壳。
仅以一种方式使用磁盘。即通过 USB 或 SATA/eSATA,这意味着从头开始,即从对磁盘进行分区开始,格式化文件系统,然后仅以一种方式使用它。不要混合使用 USB 和 SATA/eSATA。
如果您决定使用 USB,请确保所有磁盘分区都在 4KB 边界上完成,并且文件系统块大小至少为 4KB(或任何 4KB 的倍数)。如果不这样做,磁盘访问可能未在 4KB 边界上对齐,并且 IO 会非常慢。