我从 Newegg 购买了一台全新的 WD Passport。我无法向其中复制任何内容(复制操作无限期挂起,然后以 IO 错误结束),因此我尝试通过 GUI 重新格式化它。现在它似乎被格式化为 EXT4。不幸的是,我仍然无法向其中复制内容。它的格式化速度快得令人怀疑(几秒钟;它是一个 1TB 驱动器)。所以我想也许它的格式错了。所以我尝试了:
$ sudo fdisk /dev/sdb1
并得到:
fdisk: unable to read /dev/sdb1: Input/output error
我该怎么办?!我现在使用的是 Ubuntu 12.10,以防万一。
答案1
fdisk
适用于磁盘,而不适用于分区。在 Linux 上,磁盘称为 eg /dev/sdb
,而其上的分区称为 等/dev/sdb1
。/dev/sdb2
请注意,旧式(/dev/[hs]d?、/dev/[hs]d??)分区说明符始终以数字结尾,而磁盘说明符始终以字母结尾。
如果您只是格式化磁盘(没有坏块检查等),那么几秒钟的格式化时间并不完全不合理。您所做的只是将初始文件系统元数据结构写入磁盘,虽然我没有确切的数字可以引用,但这些数字相当小,而且 USB 对于写入如此少量的数据来说非常快。如果您没有收到任何错误,则格式化过程可能已完成。
您应该做的第一件事是在正确的设备上运行 fdisk。就您而言,听起来应该是sudo fdisk /dev/sdb
,但请注意,在某些情况下,设备名称可能会随时间而变化。我建议改用 /dev/disk/by-id 中的条目之一,因为它们不会改变。在连接磁盘之前,您可以通过运行以下命令查看磁盘显示的内容:
diff <(ls /dev/disk/by-id) <(sleep 15; ls /dev/disk/by-id)
这将显示两次执行 之间的目录内容差异ls
,由于sleep
第二个输入管道中的调用,两次执行间隔为 15 秒。15 秒应该给内核足够的时间来识别磁盘并让 udev 创建适当的设备节点。如果它没有显示任何差异(空输出),请拔下磁盘并重试增加延迟。您将看到分区设备(以 结尾,-part
后跟数字和可能的@
)和磁盘设备(没有-part
部分)。如果文件名以 结尾@
,请忽略该字符;它是ls
输出伪像。
一旦正确放置了分区,就可以在其上创建文件系统。例如,sudo mkfs.ext4 -v /dev/disk/by-id/xxxxx-Passport-XXXXXXX-part1
。-v
将打开额外输出(“v”表示详细),这将让您了解文件系统是否已成功创建。
此后,该磁盘应该可以完美使用。