我有五个 500GB SATA 硬盘。对于所有这些硬盘,我都使用 USB 2.0(后来是 USB 3.0)适配器连接到 PC。它们都运行良好,没有坏扇区,每个硬盘都可以通过 USB 识别。我使用以下方法通过 USB 格式化了它们膜生物反应器作为分区表的类型。
前几天我买了一个内置硬盘架,就像这个。将硬盘放入机架后,启动 Windows 7,分区没有显示,只有一个驱动器号。如果我单击该字母,会出现一个问题:“要格式化磁盘吗?”。机架没问题,因为其他硬盘工作得很好。机架根本没有芯片;它只是将 SATA 电缆连接到硬盘,因此第一次启动时没有安装驱动程序。
我启动了 Linux。我意识到,这 5 个硬盘根本没有分区表(我指的是老式的 MBR 类型的分区表,其中包含 4 个主分区的条目),因为fdisk /dev/sdb
它们显示的是空列表。
这意味着:在 Linux 下,我可以使用 和 来挂载硬盘mount /dev/sdb
,而不是mount /dev/sdb1
。 看起来整个磁盘是一个大分区;因此sdb1
不起作用。
我用了测试盘恢复分区,但没有成功。
我唯一的选择是将所有 5 个磁盘上的数据复制到另一个确实具有 MBR 类型分区表的磁盘吗?
答案1
我对 500GB Seagate ST500DM002 磁盘进行了一些调查,发现了一些问题。
在 Windows 下使用块大小“标准”进行格式化
使用 USB3 适配器:磁盘未被识别!
- HxD 十六进制编辑器报告扇区大小为 512 字节
- hdparm:逻辑扇区大小:512 字节/物理扇区大小:4096 字节
- fdisk:扇区大小(逻辑/物理):512 字节/4096 字节
- Linux 下挂载分区成功
使用 USB2 适配器:Windows 下可以识别磁盘,但未显示分区。弹出窗口说:必须格式化。
- HxD 报告扇区大小为 4096 字节
- hdparm:逻辑扇区大小:512 字节/物理扇区大小:4096 字节
- fdisk:扇区大小(逻辑/物理):4096 字节/4096 字节
- Linux下挂载分区失败
使用 SATA 端口:在 Windows 下,磁盘被识别,但未显示分区。
- HxD 报告扇区大小为 512 字节
- hdparm:逻辑扇区大小:512 字节/物理扇区大小:4096 字节
- fdisk:扇区大小(逻辑/物理):512 字节/4096 字节
- 在Linux下挂载分区成功。
前 20971520 个扇区被转储如下:
dd bs=10485760 count=2 if=/dev/sdc of=/tmp/hdd_main/test/blocksize_standard/file
行业转储(使用 USB2、USB3、SATA)选项blocksize=standard
位于:blocksize_standard/ --> 所有文件都相同。使用blocksize=512bytes
,它们位于 blocksize_512bytes/ --> 所有文件都相同。文件系统包含一个 README 文件,内容为“Hello World”。
在 Windows 下使用块大小“512bytes”进行格式化
在 Windows 下我无法做到这一点。只有 Linux
mkntfs -f -v -s 512 /dev/sdc1
可以用 512 字节格式化它。使用此选项,我能够在 Windows 和 Linux 下使用 USB3 和 SATA 访问磁盘!USB2 无法工作(在 Linux 和 Windows 上)!问题似乎出在适配器上(某种程度上也出在操作系统上)。适配器不会将额外数据插入流中。这与适配器返回的块大小有关(如 fdisk 所示)。无论如何,Linux 似乎更灵活,可以更好地处理不同类型的 USB 桥接器。
解决方案:
在 Linux 下使用块大小 512bytes 进行格式化,磁盘既可以用作内部磁盘,也可以用作外部磁盘(如上所述这里)。如果磁盘是在 Windows 下使用的,则必须备份数据(例如在 Linux 下),必须再次格式化磁盘,并将数据复制回磁盘。