几个月来,我使用了 3.5 英寸 WD Blue 500GB HDD 和 SATA 转 USB对接站这样我就可以将 HDD 连接到我的 Raspberry Pi,用作小版本的 NAS。
然而,有几天,Raspberry Pi 无法启动系统,所以我不得不将 HDD 连接到我的笔记本电脑(通过 USB 端口,连接底座!)
在磁盘实用程序中它可以被识别为 500GB 的驱动器,但 Windows 资源管理器无法检测到任何东西,因为它在 Raspberry Pi 系统中被格式化为 ext4。我尝试在 cmd 中使用 diskpart 清理驱动器并创建一个新分区,幸运的是该命令有效。但是,当我在 中clean
输入命令时,它显示以下错误:create partition primary
diskpart
Diskpart 遇到错误:数据错误(循环冗余校验)
我进行了一些 Google 搜索,发现我可以尝试使用chkdsk
cmd 中的命令来物理修复驱动器。但是,由于驱动器未被识别为具有驱动器号的卷,因此我无法采取任何措施。(它应该是以下格式chkdsk /f (drive letter)
)
最后一步,我尝试使用 HDD GURU 的低级格式化工具,但再次显示错误:
磁盘已写保护;无法格式化扇区 xxxx…
并且每次读取磁盘时程序都会继续出现这种错误。
有什么办法可以修复这个驱动器吗?它完全损坏了吗?
答案1
根据您的解释,您似乎开始出现大量坏扇区。扇区分配已经使用了所有保留扇区。我建议的是尝试从磁盘中保存尽可能多的信息,然后忘掉磁盘。
当然,您可以尝试以不覆盖那些坏扇区的方式创建分区,但存储分区表的扇区很可能是坏的。
最好的方法是尝试使用供应商实用程序(如果可用)格式化磁盘并检查坏扇区的地图。
答案2
我没有尝试过这个,但是考虑到您在 DISKPART 中使用了清理命令,因此可以采取一种可行的方法。
创建可启动的 Linux USB 驱动器(如果您以前从未使用过 Linux,我建议您使用 Ubuntu 或 Linux Mint,因为这些发行版对初学者来说很不错)。但是,如果您知道 Linux 命令,或者有 Linux,只需启动到您的安装并跳过此段。要制作可启动的 USB 驱动器,您需要从 Linux 发行版的网站下载 ISO 文件(这些文件通常很大)。然后,从这里。您需要管理员权限。然后,找到一个空的 USB 驱动器(确保它是空的,因为这会格式化磁盘)并将其插入。然后,打开 Rufus,选择“磁盘或 ISO 映像”并浏览到您下载的 ISO 映像。然后,设置您想要的选项并单击创建(如果您不知道它会做什么,请保留默认设置)。它会询问您是否下载 SYSLINUX 或 GRUB 文件;下载它们。它们是启动 USB 所必需的。它还可能会询问您有关 ISO 映像或 DD 映像的问题。我建议使用 DD 映像,因为它速度更快,并且写入映像时没有错误。然后,等待一会儿,直到它完成写入映像。确认您将丢失磁盘上的所有数据后,就没有回头路了。完成后,重新启动计算机。
重启时,BIOS 启动画面会出现,通常会显示制造商徽标。如果您运行的是 Windows 8 或更高版本,则必须从操作系统禁用快速启动。使用指定按钮快速进入 BIOS 设置。进入多重启动菜单的功能按钮通常位于启动开始时的 BIOS 启动画面上;如果屏幕在您按下按键之前消失,请快速按 Ctrl+Alt+Delete 重新开始启动过程;但是,如果您失败了,请重启计算机。通常一个好主意是在屏幕出现时混合使用 Esc、F1-F12 和 Delete。进入多重启动菜单后,选择 USB。您很快就会启动到 Linux 发行版。
进入 Linux 发行版后(我假设您使用的是 Ubuntu 18.10 Cosmic Cuttlefish),右键单击桌面并选择打开终端,打开终端。这将打开一个类似于 Windows 中的 cmd 的 Bash shell,但具有更多功能和不同的命令。
从这里,插入您的 USB 并等待它安装。然后,打开 GParted。GParted 是一个分区编辑器,类似于 Windows 中的磁盘管理,但同样具有附加功能。选择您的 USB 设备(存储设备的形式为 /dev/sdxY,其中 dev 表示设备,sd 表示存储设备。x 是一个字母,表示特定的存储设备,Y 是一个分区号。确保根据您的具体情况更改命令,否则您可能会擦除现有的 Windows 安装。我假设您的内置硬盘是 /dev/sda,用于启动 Ubuntu 的 USB 是 /dev/sdb,故障硬盘是 /dev/sdc。插入(使用 USB)后从 GParted 访问 /dev/sdc 并卸载它。卸载完成后,关闭 GParted。
再次进入终端。在终端中输入以下内容:
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=1
无论情况如何,这都会使用 dd 实用程序将零写入硬盘驱动器的每个扇区。最后两个参数 bs 和 count 不需要指定,但指定总是一个好主意。这将花费大量时间,因为它是 500 GB 的数据。泡杯咖啡,去购物,做任何事情,因为 dd 很长时间不会显示任何东西。如果您切换参数 if 和 of 或在输出文件中输入错误的字母,那么结果将是灾难性的。如果您指定 /dev/sda(装有 Windows 的硬盘驱动器)而不是 /dev/sdc(故障硬盘驱动器),那么您将擦除 Windows 并丢失安装的任何痕迹。小心。dd 也被称为“数据破坏者”。
此后,再次打开 GParted 并在刚刚格式化的驱动器上创建一个 ext4 分区和一个文件系统。然后,重新启动。
尽管所有信息都将被清除,但这应该会使您的驱动器再次工作。
答案3
根据您的描述,磁盘中用于存储磁盘分区表的区域存在坏扇区。
在这种情况下,磁盘固件应该将坏扇区重新映射到健康扇区,但这并没有发生。这引发了一个问题:磁盘的所有备用扇区是否都已被使用,这意味着您的磁盘出现故障。
如果在 Linux 中您仍然可以访问磁盘,我建议检查其 SMART 数据以查找危险信号。如果您想听取我们的意见,您可以将数据添加到您的帖子中。
无论如何,你的磁盘状况不好。如果它仍在保修期内,我建议退货。如果不是,我仍然建议更换它。