Agm*_*nor 6 partitioning gparted
当我试图移动我的一个分区时,我收到了一些错误消息。以下是一些摘录:
Move /dev/sda7 to the left 00:05:09 ( ERROR )
Run Code Online (Sandbox Code Playgroud)
(……)
check file system on /dev/sda7 for errors and (if possible) fix them 00:00:10 ( SUCCESS )
e2fsck -f -y -v /dev/sda7
Run Code Online (Sandbox Code Playgroud)
(……)
move file system to the left 00:04:52 ( ERROR )
perform read-only test 00:04:52 ( ERROR )
using internal algorithm
read 114013242 sectors
finding optimal blocksize
Run Code Online (Sandbox Code Playgroud)
(……)
read 113357882 sectors using a blocksize of 1024 sectors 00:04:36 ( ERROR )
22527034 of 113357882 read
Error while reading block at sector 385849832
23182394 sectors read ( ERROR )
Run Code Online (Sandbox Code Playgroud)
(……)
libparted messages ( INFO )
Input/output error during read on /dev/sda
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能有效地移动我的分区?
您的硬盘上有坏扇区。立即备份任何重要数据。然后运行磁盘实用程序并单击 SMART 诊断程序。运行长时间的自检,完成后,查看以下属性的值:
Offline_Uncorrectable Current_Pending_Sector Reallocated_Sector_Ct
如果不可纠正计数不为零,或者重新分配或挂起的计数超过几个,则需要更换驱动器。如果只有几个待处理,那么您可以尝试修复它们。首先,您需要确定坏扇区的数量。badblocks 实用程序可用于此目的。然后您可以使用 hdparm --read-sector 尝试从中读取以确保您拥有正确的扇区,然后使用 hdparm --write-sector 尝试用零重写扇区。这将迫使驱动器尝试更正该扇区,或者如果不能,将从备用池中重新分配它,将计数从 pending_sectors 移动到重新分配。对所有坏扇区重复此操作。
这实际上让我解决了我的问题。psusi的回复确实很有帮助,但对我来说确实太粗糙了,我花了大约三个小时才得到所有内容,并从他的帖子中提取出我感兴趣的内容。我必须在维基百科、官方 Ubuntu 论坛和 Ask Ubuntu 中进行搜索。因此,我认为他的帖子是一个受欢迎的暗示,但不是正确的答案。
sudo badblocks -sv -b 512 <device-name>,在我的例子中将被替换为/dev/sda。经过长时间的等待,结果是损坏扇区的数字列表。sudo dd if=<device-name> of=/dev/null bs=512 count=1 skip=<sector>,其中我将 和 替换为dev/sda和385850816,即上一个命令给出的第一个数字。sudo badblocks -sv -b 512 <device-name>。(过了很长一段时间)它不应该给出任何数字。就我而言,它解决了我的问题,并且我能够再次移动我的分区。我必须承认我真的不知道为什么,因为这里的命令似乎只是读取和写入命令。但无论如何,我不再遇到任何问题了。