Я хочу перейти с моей 12.04 на другую машину. Я нашел способ с dd и надеюсь, что он будет работать для меня. Дело в том, что мне нужно как-то соединить оба диска, чтобы выполнить клонирование. Я пытаюсь NFS. Когда я пишу в /etc/exports
:
/dev/sda1 10.42.0.16(rw,async,subtree_check)
и вызываю exportfs -a
, я получаю следующую ошибку:
exportfs: /dev/sda1 is neither a directory nor a file. Remote access will fail
Любые подсказки, как мне решить эту проблему? Это вопрос конфигурации или NFS - тупик, и я должен использовать что-то другое?
На стороне получателя:
nc -l 5678 | sudo dd if=/dev/stdin of=/dev/sda
Затем на стороне отправителя:
sudo dd if=/dev/sda of=/dev/stdout | nc 1.2.3.4 5678
Это копирует sda
с одного ПК на другой по сети на IP 1.2.3.4. и порт 5678. Обязательно установите один из пакетов nc
(просто запустите nc
в терминале, и вы получите предложение, если оно еще не установлено.)
Также убедитесь, что ни один том не установлен ни на одном из них. из дисковода sda
смонтирована файловая система, поэтому запустите live CD на обоих концах, если вы не уверены.
Я не могу комментировать, но я хотел бы добавить к ответу @gertvdijk, что вы можете использовать | pv |
- , чтобы показать отчет о проделанной работе , а также добавить Явный размер буфера bs=8M
(например) для ускорения (по умолчанию 512 байт, что довольно мало). Размер зависит от вашего оборудования и от того, клонируется ли вы в локальной гигабитной сети или на более медленном соединении. Последняя команда на принимающей стороне может выглядеть следующим образом (при необходимости добавьте sudo):
nc -l 5678 | dd if=/dev/stdin | pv | of=/dev/sda bs=8M
[edit]
Только что заметили, что с версии 2.1 dd имеет отображение статуса. Просто добавьте status=progress
:
- 1. Приемник nc -l 5678 | dd if=/dev/stdin of=/dev/sda bs=8M status=progress
- 2. Отправитель dd if=/dev/sda of=/dev/stdout bs=8M | nc 1.2.3.4 5678
Я только что клонировал диск 8 ТБ по локальной сети 1 Гбит за 37 часов (60 Мбит / с) с помощью приведенных выше команд.