Копирование жёстких дисков
-
Здравствуйте.Хочу скопировать неисправный жёсткий диск на исправный.Столкнулся с такой проблемой.Не показываются имена жёстких дисков.В терминале,после набора команды fdisk -l выводится: fdisk: invalid option - - "1" и показываются другие команды,и что означают.“Имена” жестких дисков не выводятся.Версия программы UBUNTU-12.04
-
Ты вместо буквы l поставил цифру 1.
Нужно выполнять так:
sudo fdisk -l
-l это буква l (л) от слова list. -
Спасибо!Утилита dd заработала.НО,после 30 минут копирования выдало:This computer has only 0 bytes disk space remaining.You can free up disk space by removing unused programs or by moving files to an external disk.”Examine” или “ignore”.
Но копирование продолжается и в терминале постоянно ,бегущие,повторяющиеся строки- dd reading “dev/sdc”:input/output error (sdc мой старый диск)
28348+0 records in
28348+0 records out
116113408 bytes (116 MB) copied,время,скорость(постоянно уменьшается)
Копирует уже 5 часов.Старый Диск 500ГБайт заполнен процентов на 80.Почему цифры не меняются?Или утилита всё это время пытается считать одно и тоже и ничего не копируется? -
Так, теперь по порядку.
Есть два диска, так?
Один из них должен быть пустой, так?
Мы утилитой dd должны создать копию одного диска на другом, так? -
Да совершенно верно.Делал так
5. Запускаем Terminal
6. Переходим в режим суперпользователя - sudo su
7. Используем команду fdisk -l для того чтобы увидеть “имена” жестких дисков, в моем случае: /dev/sdc – старый, поврежденный диск, /dev/sdb – новый
8. Теперь приступаем собственно к переносу образа с диска на диск:
dd if=/dev/sdc of=/dev/sdb bs=4096 conv=noerror -
Из-за того, что диск неисправный, то и некоторые данные с него dd не может прочитать. Но так как conv=noerror, то он пропускает битые блоки и продолжает копирование. 5 часов это нормально.
Кстати, есть способ отобразить, на каком этапе находится копирование. Для этого сначала нужно определить PID процесса dd -> вот так (выполнять в отдельном терминале):
pgrep -l '^dd$'
А потом выполнить команду:
kill -USR1 123
Где вместо 123 подставить PID, определенный на предыдущем шаге. -
Подозреваю, что если dd под root запускался, то этот kill тоже нужно под root выполнять.