Есть что-нибудь, что нужно помнить, когда я обмениваю свой /?

У меня есть портативный компьютер со следующей настройкой:

  • / на btrfs / dev / sda3 subvolume @
  • / home на btrfs / dev / sda3 subvolume @home
  • / boot на ext4 / dev / sda2
  • / boot / efi на vfat / dev / sda1
  • без свопа
  • / tmp на tmpfs

Теперь у меня есть новый твердотельный диск, который я хочу использовать вместо моей текущей настройки. Кроме того, чтобы записать весь диск на SSD (что я не хочу делать, поскольку он помечает все сектора как используемые), какие шаги я должен сделать, чтобы скопировать все данные таким образом, чтобы моя система все еще загружалась после этого?

Большая проблема: я не могу вставить оба диска одновременно в мою систему, но у меня есть достаточно быстрый резервный диск eSATA, достаточно большой, чтобы хранить все данные со старого жесткого диска.

3
задан 15.04.2020, 16:20

1 ответ

Лично я использую tar для такого рода вещей: создайте тарбол на вашем диске eSATA с помощью команды вроде:

sudo tar cvfz /mnt/backup/backup.tgz --one-file-system / /boot /boot/efi/ /home /tmp

Затем вы можете загрузиться с аварийной системой, создать разделы и файловые системы, смонтируйте диск eSATA и распакуйте архив. Вам также нужно будет провести некоторую очистку - в частности, вам нужно будет настроить записи /etc/fstab для новой системы и, возможно, иметь дело с конфигурацией вашего загрузчика, чтобы она указала на новые файловые системы.

У вас установлены теги "UEFI" и "grub-efi", поэтому я предполагаю, что у вас есть система на основе EFI. Одно из основных различий между системами BIOS и EFI состоит в том, что компьютеры на основе BIOS полагаются на загрузочный код, спрятанный в загрузочных секторах и в других местах на жестком диске, тогда как EFI полагается на загрузочные файлы на ESP (/boot/efi в вашей установке) вместе с Записи NVRAM. Когда вы меняете один диск на другой, старые записи NVRAM больше не будут действительны, так как GUID диска и GUID ESP будут изменены. Таким образом, вам нужно либо переместить ваш загрузчик на резервное имя файла /boot/efi/EFI/BOOT/bootx64.efi, либо создать новую запись NVRAM с помощью утилиты efibootmgr, например:

sudo efibootmgr -c -l \\EFI\\newloader\\loadername.efi -L NewLoader

Подробности зависят от того, где Ваш загрузчик находится и как вы хотите его назвать. В некоторых случаях вам может потребоваться добавить дополнительные параметры, особенно если ESP нет /dev/sda1. Обратитесь к справочной странице efibootmgr за подробной информацией. Кроме того, efibootmgr должен запускаться с загрузки EFI, поэтому он не будет работать с некоторыми аварийными дисками.

1
ответ дан 15.04.2020, 16:21

Теги

Похожие вопросы