Каков предпочтительный способ передачи файловой системы между двумя локальными жесткими дисками?
Я хочу перенести внешний жесткий диск 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 на новый компьютер. Таким образом, вам не нужно повторно загружать все пакеты.