如何在有坏块的硬盘上安装 Ubuntu?

如何在有坏块的硬盘上安装 Ubuntu?

我的笔记本电脑有问题,我之前用的是 Windows XP。XP 崩溃了,我无法使用安装 CD 恢复它。因此,我将 Ubuntu 11.10 安装放在 Pendrive 上,搜索了一些坏块(少于 500 个),硬盘驱动器已完全格式化,一切看起来都很好,但进度条停留在 20% 左右,安装一夜之间没有完成?我该怎么办?

答案1

在写完下面的题外话后,我突然想到或许我也应该提一下我写这篇文章的原因。

驱动器上任何形式的扇区写入或读取错误都应视为潜在警告。驱动器可能出现故障。当然,如果驱动器报告多达 500 个坏块,我会在驱动器上安装任何东西之前深入研究这个问题。

正如我下面提到的,您可以使用Disk UtilityLive CD/USB 中的 Ubuntu 检查驱动器的 SMART 属性。如果驱动器只有少量待处理的读取,您可以用零填充驱动器以强制重新映射扇区,然后进行另一次 Ubuntu 安装。

但请仔细观察驱动器是否有进一步的故障迹象,除非也备份了驱动器,否则不要在其中保存任何重要数据。如果驱动器继续显示扇区错误,请考虑购买替换驱动器。很快。

当然这只是我的观点,无论其价值如何。


如今,很难确定这个短语的bad blocks实际含义。在大洪水之前的计算机时代……大概 15 年前或更早……它可能指的是操作系统保存的硬盘驱动器扇区列表,驱动器报告这些扇区是bad……

所有相对较新的驱动器现在都在其固件内部进行这种跟踪,并且操作系统不再需要跟踪此类内容。

这篇维基百科文章坏扇区似乎是一个合理的概述。关键点是:

  1. 虽然硬盘会自动尝试重新映射坏扇区,但通常只有在出现失败。读取错误会报告给操作系统并记录在驱动器的 SMART 数据中,但扇区不会重新映射。
  2. 强制驱动器重新映射所有坏扇区的标准方法是写入驱动器上的每个字节。通常用 0x00 填充所有扇区。
  3. 如果驱动器报告了一个或多个坏扇区,则驱动器可能即将发生故障。驱动器的智能数据应该检查,特别是以下SMART 属性
       0x05 Reallocated Sectors Count(已重新映射多少个扇区)
       0xC5 Current Pending Sector Count(等待重新映射多少个扇区)

您可以使用 Ubuntu Live CD 或 USB 来执行这些操作。

启动 Live CD/USB 后,Disk Utility使用 GUI 搜索应用程序Dash或在终端中运行命令来打开应用程序palimpsest &。在左侧边栏中选择磁盘,然后使用该SMART Status功能检索和查看驱动器的 SMART 属性。

可以从 Live CD/USB 会话中的终端窗口使用命令命令 dd来用零填充驱动器。例如,以下命令将写入0x00驱动器上的每个扇区/dev/sda

sudo dd if=/dev/zero bs=1M of=/dev/sda

当然,根据驱动器的大小,这可能需要几个小时才能完成。

如果你很好奇,还有更多的“技巧”可以运用dd。看看以下问题的答案这个问题服务器故障。 我特别喜欢这个技巧用于定期显示命令的进度dd

答案2

最佳建议(而非解决方案)

如果硬盘目前稳定,没有损坏,则低级格式化会将所有“坏扇区”映射为未使用的扇区。此后,BIOS、HDD 控制器和操作系统应该能够处理任何“缓慢损坏”。

您所描述的情况可能更为严重,和/或控制器有问题。

我强烈建议检查一下笔记本电脑,或者(至少)获取一个可以对驱动器进行压力测试并显示其“稳定”或仍然变得更糟的测试工具。

答案3

在开始之前,您必须排除文件系统上的坏块。

从 LiveCD 启动并运行此命令(假设您的目标分区是 sda1):

fsck -M -cc /dev/sda1

此命令将检查分区上的文件系统/dev/sda1,并将坏块排除在使用之外。选项-M指示不检查已安装的文件系统。

注意:此命令将不是重新映射硬盘上的坏块!它仅适用于目标文件系统。如果您想重新映射坏块,可以使用 Windowschkdsk /f /r命令进行操作。

之后您可以运行安装程序,但您必须在安装过程中选择手动磁盘分区。

答案4

我确实在网上安装了 Ubuntu,它在驱动器的开头包含坏块,因此在分区阶段,我将“/”分区放在驱动器的末尾(它为您提供了该选项),也将单独的“/home”分区放在末尾,但我将其缩小,使其比剩余空间小 30gb,以跳过坏扇区。

安装工作正常,但是如果驱动器包含坏扇区,则情况可能会慢慢恶化,并且需要更换硬盘...

相关内容