Когда я попытался переместить один из моих разделов, я получил несколько сообщений об ошибках. Вот некоторые выдержки:
Move /dev/sda7 to the left 00:05:09 ( ERROR )
(...)
check file system on /dev/sda7 for errors and (if possible) fix them 00:00:10 ( SUCCESS )
e2fsck -f -y -v /dev/sda7
(...)
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
(...)
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 )
(...)
libparted messages ( INFO )
Input/output error during read on /dev/sda
Что мне следует сделать, чтобы эффективно переместить мой раздел?
У вас плохие сектора на жестком диске. Сделайте резервную копию любых важных данных СЕЙЧАС. Затем запустите утилиту диска и нажмите диагностику SMART. Запустите длинную самопроверку и, когда она закончится, посмотрите значения следующих атрибутов:
Offline_Unc корректируемый Current_Pending_Sector Reallocated_Sector_Ct
Если количество некорректируемых счетчиков не равно нулю или перераспределенные или ожидающие подсчеты больше, чем несколько, вам нужно заменить диск. Если есть только несколько ожидающих, то вы можете попытаться восстановить их. Сначала нужно определить номер плохого сектора. Для этого можно использовать утилиту badblocks. Затем вы можете использовать hdparm --read-sector, чтобы попытаться прочитать его, чтобы убедиться, что у вас есть правильный, и затем hdparm --write-sector, чтобы попытаться переписать сектор с нулями. Это заставит диск попытаться исправить сектор или, если это не удастся, перераспределит его из резервного пула, переместив счетчик из pending_sectors в reallocated. Повторите для всех плохих секторов.
Похоже, что есть проблема с вашим жестким диском, поэтому я предлагаю вам использовать что-то вроде ddrescue или gddrescue, чтобы скопировать его на другой жесткий диск. Затем попробуйте исправить файловую систему (системы) (с помощью fsck), и если это не сработает, используйте photorec или аналогичные инструменты для восстановления.
Или просто поместите резервную копию на другой диск, если он у вас есть, конечно ...
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>
. Он не должен давать (после долгого времени) никакого номера. Насколько я понимаю, это решило мою проблему, и я снова смог переместить свой раздел. Я должен признать, что я действительно не знаю почему, поскольку команды здесь, по-видимому, предназначены только для чтения и написания команд. Но как бы то ни было, у меня больше нет проблем.