Каков предпочтительный способ передачи файловой системы между двумя локальными жесткими дисками?

Я хочу перенести внешний жесткий диск USB, на котором я некоторое время работал под управлением Ubuntu 10.04 LTS, на внутренний жесткий диск ноутбука.

К сожалению, внутренний жесткий диск меньше внешнего жесткого диска, поэтому я не могу перенести раздел с помощью dd. Но все файлы на внешнем жестком диске будут помещаться на внутренний жесткий диск, поэтому копирование всех файлов будет работать.

После поиска в Google и прочтения этого сообщения в блоге и всех его комментариев кажется, что rsync -H и cp -a оба являются хорошими кандидатами, но я так и не получил подтверждающего ответа, какой из тех, который был самым быстрым, самым надежным и т. Д. Rsync хорош для кроме прочего, для локальной файловой системы cp будет правильным выбором, я имею в виду, что это Unix, поэтому основные команды должны работать.

2 ответа

Решение

Rsync предназначен для регулярной синхронизации двух копий и эффективной передачи только измененных частей. Поскольку вам нужно скопировать только один раз, cp -a будет отлично работать, хотя вы должны получить те же результаты с rsync.

После копирования вам необходимо отредактировать /etc/fstab на внутреннем диске и обновить UUID диска. Вы можете посмотреть UUID вашего диска с помощью:

sudo blkid

Тогда вам нужно будет установить grub на внутренний диск. Предполагая, что внутренний диск - это sda, и он смонтирован в / mnt, выполните:

sudo grub-install --root-directory=/mnt/ /dev/sda

Это сделает новый диск загрузочным.

При выборочном резервном копировании убедитесь, что вы копируете /var/cache/apt/archives на новый компьютер. Таким образом, вам не нужно повторно загружать все пакеты.

Другие вопросы по тегам