问题:
大约一周前开始,我的Ubuntu系统遇到了各种严重且奇怪的问题。有时整个系统会突然死机。我必须用蛮力按下电源按钮才能关闭机器。有时,所有文件突然变成只读。我必须重新启动机器,然后看起来正常,但稍后可能会出现上述问题。当我尝试关闭 Ubuntu 时,有时黑屏会显示有关磁盘错误的消息。
尝试修复:
我认为我的 WD 1T 硬盘存在一些需要修复的错误。因此,我在卸载有问题的硬盘后,在 Ubuntu 安装光盘或另一个硬盘中的 Ubuntu 中运行以下命令。但是,我无法解决这个问题。特别是,当我尝试运行时sudo e2fsck -b 8193 /dev/sda1
,出现错误消息“参数无效”。详情如下所示,
1)首先,显示以下消息(仅复制与我要修复的fdisk -l
相关部分):/dev/sda1
警告:在“/dev/sda”上检测到 GPT(GUID 分区表)! util fdisk 不支持 GPT。使用 GNU Parted。 磁盘 /dev/sda:1000.2 GB,1000204886016 字节 255个磁头,63个扇区/磁道,121601个柱面,总共1953525168个扇区 单位 = 1 * 512 = 512 字节的扇区 扇区大小(逻辑/物理):512 字节/4096 字节 I/O 大小(最小/最佳):4096 字节/4096 字节 磁盘标识符:0x00000000 设备引导开始结束块 ID 系统 /dev/sda1 1 1953525167 976762583+ ee GPT 分区 1 不在物理扇区边界上开始。
2)运行sudo fsck.ext4 -ck /dev/sda1
,尝试修复硬盘
e2fsck 1.42.5(2012 年 7 月 29 日) ext2fs_open2:超级块中的错误幻数 fsck.ext4:超级块无效,正在尝试备份块... fsck.ext4:尝试打开 /dev/sda1 时超级块中的错误幻数 无法读取超级块或未描述正确的 ext2 文件系统。如果设备有效并且确实包含 ext2 文件系统(而不是交换或 ufs 或其他东西),然后是超级块 已损坏,您可以尝试使用备用超级块运行 e2fsck: e2fsck -b 8193
3) sudo e2fsck -b 8193 /dev/sda1
、尝试从块8193恢复超级块
e2fsck 1.42.5(2012 年 7 月 29 日)e2fsck:尝试时参数无效 打开/dev/sda1 无法读取超级块或未描述正确的 ext2 文件系统。如果设备有效并且确实包含 ext2 文件系统(而不是交换或 ufs 或其他东西),然后 超级块已损坏,您可以尝试使用以下命令运行 e2fsck 备用超级块: e2fsck -b 8193
4) sudo mke2fs -n /dev/sda1
、定位其他备份块
mke2fs 1.42.5(2012 年 7 月 29 日) 文件系统标签= 操作系统类型:Linux 块大小=1024(log=0) 片段大小=1024(log=0) 步长=4块,条纹宽度=4块 48768 个索引节点,194560 个块 9728 个区块 (5.00%) 保留给超级用户 第一个数据块=1 最大文件系统块=67371008 24个块组 每组 8192 个块,每组 8192 个片段 每组 2032 个索引节点 存储在块上的超级块备份: 8193、24577、40961、57345、73729
5) 对 4 中返回的所有其他超级块备份重做步骤 3。相同的错误显示为步骤 3。
gdisk
PS:根据评论,我粘贴和的输出parted
如下:
sudo gdisk -l /dev/sda
GPT fdisk (gdisk) 版本 0.8.5 分区表扫描: MBR:保护性 BSD:不存在 APM:不存在 GPT:现在 找到具有保护性 MBR 的有效 GPT;使用 GPT。 磁盘 /dev/sda:1953525168 个扇区,931.5 GiB 逻辑扇区大小:512字节 磁盘标识符 (GUID):6166B96C-AD2A-4EF1-8967-1ACFA23FE2E4 分区表最多可容纳 128 个条目 第一个可用扇区是 34,最后一个可用扇区是 1953525134 分区将在 2048 扇区边界上对齐 总可用空间为 3437 个扇区 (1.7 MiB) 编号 起始(扇区) 结束(扇区) 尺寸 代码 名称 1 2048 391167 190.0 MiB EF00 2 391168 890879 244.0 MiB 0700 3 890880 1953523711 931.1 GiB 8E00
`sudo parted -l `
型号:ATA WDC WD10EZEX-00R (scsi)(注意:这是有问题的磁盘) 磁盘/dev/sda:1000GB 扇区大小(逻辑/物理):512B/4096B 分区表:gpt 编号 开始 结束 大小 文件系统名称 标志 1 1049kB 200MB 199MB fat32 引导 2 200MB 456MB 256MB ext2 3 456MB 1000GB 1000GB LVM 型号:ATA SAMSUNG HD103SJ (scsi)(注:这是另一个普通磁盘) 磁盘/dev/sdb:1000GB 扇区大小(逻辑/物理):512B/512B 分区表:msdos 编号 开始 结束 大小 类型 文件系统 标志 1 1049kB 30.0GB 30.0GB 主 ext4 4 30.0GB 1000GB 970GB 扩展 lba 6 30.0GB 983GB 953GB 逻辑 ext4 5 983GB 1000GB 16.9GB 逻辑 linux-swap(v1) 模型:Linux 设备映射器(线性)(dm) 磁盘 /dev/mapper/ubuntu-root: 983GB 扇区大小(逻辑/物理):512B/4096B 分区表:循环 编号 开始 结束 大小 文件系统 标志 1 0.00B 983GB 983GB ext4 模型:Linux 设备映射器(线性)(dm) 磁盘 /dev/mapper/ubuntu-swap_1: 16.9GB 扇区大小(逻辑/物理):512B/4096B 分区表:循环 编号 开始 结束 大小 文件系统 标志 1 0.00B 16.9GB 16.9GB linux-swap(v1)
答案1
你正在尝试fsck
做错事。庆幸的是,失败了……
你想跑fsck -f /dev/mapper/ubuntu-root
。-c
如果您愿意,可以添加。您还需要检查smartctl -a /dev/sda
磁盘是否指示 SMART 故障(备份、立即更换磁盘)或挂起扇区(尝试 -c)。
如果出现“未找到”错误,您需要首先启动 LVM。你会做这样的事情:
# vgscan
# vgchange -ay
然后再尝试fsck
上面的操作。
(你可以看出sda1是错误的,因为gdisk和parted都说它是200MB。而且,它是FAT32,而不是EXT4。你可以告诉LVM的东西,因为1T分区被列为LVM。你忽略fdisk,因为,好吧,它告诉你说它不支持 GPT)。
编辑:由于您的系统确实启动,另一种方法是仅运行shutdown -F -r now
,这将导致您的计算机重新启动并执行完整的 fsck。但这不行fsck -c
。此外,您还可以smartctl -a
在启动磁盘上安全地运行。
答案2
你还没有提到你打算完成什么。您是否需要保存该磁盘中的重要数据,或者您只是想查明它是否已损坏?
我认为我的 WD 1T 硬盘存在一些需要修复的错误。
这是一个自相矛盾的说法。这里有两种可能的情况:
1) 您的硬盘驱动器有错误(即出现故障)。然后,您应该尝试尽快保存数据,最好通过使用 .txt 文件将磁盘映像到另一个硬盘dd
。 “修复”硬盘是不可能的。成功保存数据后,您可以将其丢弃。
2) 您的文件系统有错误(即在某些方面不一致),但磁盘本身没有损坏。您通常可以使用 修复此问题e2fsck
,但在尝试 fsck 文件系统之前创建备份映像不会有什么坏处,因为在某些情况下 fsck 可能会使情况变得更糟。
如果您只是想确定硬盘是否损坏,请对其运行 SMART 自检。以 root 身份执行以下命令:
smartctl -t long /dev/sda
这将需要几个小时。完成后,您可以通过以下方式查询结果
smartctl -a /dev/sda | less
向下滚动到该SMART Selective self-test log
块。如果最上面的结果显示Completed without error
,则您的硬盘没有问题。如果报告错误,则表明它已损坏,您需要尽快保存数据。