Копирование жёстких дисков

  • radik-73 21.01.2013
    Здравствуйте.Хочу скопировать неисправный жёсткий диск на исправный.Столкнулся с такой проблемой.Не показываются имена жёстких дисков.В терминале,после набора команды fdisk -l выводится: fdisk: invalid option - - "1" и показываются другие команды,и что означают.“Имена” жестких дисков не выводятся.Версия программы UBUNTU-12.04
  • Pingvinus 22.01.2013
    Ты вместо буквы l поставил цифру 1.
    Нужно выполнять так:
    sudo fdisk -l
    -l это буква l (л) от слова list.
  • radik-73 22.01.2013
    Спасибо!Утилита 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.Почему цифры не меняются?Или утилита всё это время пытается считать одно и тоже и ничего не копируется?
  • Pingvinus 22.01.2013
    Так, теперь по порядку.
    Есть два диска, так?
    Один из них должен быть пустой, так?
    Мы утилитой dd должны создать копию одного диска на другом, так?
  • radik-73 22.01.2013
    Да совершенно верно.Делал так
    5. Запускаем Terminal
    6. Переходим в режим суперпользователя - sudo su
    7. Используем команду fdisk -l для того чтобы увидеть “имена” жестких дисков, в моем случае: /dev/sdc – старый, поврежденный диск, /dev/sdb – новый
    8. Теперь приступаем собственно к переносу образа с диска на диск:
    dd if=/dev/sdc of=/dev/sdb bs=4096 conv=noerror
  • radik-73 22.01.2013
    До этого на новом жёстком диске был раздел в NTFS но я его удалил перед копированием ,средствами Windows
  • Pingvinus 22.01.2013
    Из-за того, что диск неисправный, то и некоторые данные с него dd не может прочитать. Но так как conv=noerror, то он пропускает битые блоки и продолжает копирование. 5 часов это нормально.
    Кстати, есть способ отобразить, на каком этапе находится копирование. Для этого сначала нужно определить PID процесса dd -> вот так (выполнять в отдельном терминале):
    pgrep -l '^dd$'
    А потом выполнить команду:
    kill -USR1 123
    Где вместо 123 подставить PID, определенный на предыдущем шаге.
  • radik-73 22.01.2013
    Спасибо!Пид определился как четыре цифры 4750 dd.А после команды kill -USR1 4750 тишина
  • Pingvinus 22.01.2013
    Подозреваю, что если dd под root запускался, то этот kill тоже нужно под root выполнять.