LINUX.ORG.RU

Клонирование системы на другой диск

 , , ,


0

2

Имеется диск на 120 ГБ, на нем 2 раздела: EFI на 512 МБ и остальное под Linux filesystem. Последний отформатирован в btrfs и имеет 2 подраздела: @ и @home. На указанном диске в данный момент установлен Arch Linux.

Имеется второй диск, объем уже 500 ГБ. На нем установлена винда, все её разделы в сумме занимают около 200ГБ, остальное - нераспределенное пространство. В Grub отображается как Windows Boot Manager, так и Arch Linux.

Что нужно сделать: перенести Arch Linux вместе с загрузчиком Grub с первого диска на нераспределенное пространство второго диска, ничего не сломав (раздел Linux filesystem при этом должен стать больше, примерно 110 ГБ → 280 ГБ). После этого первый диск будет отключен.

Какими способами можно осуществить подобное? Или проще с нуля установить Arch Linux на второй диск?



Последнее исправление: null25 (всего исправлений: 1)

Раздел EFI тоже нужно перенести. Простое копирование должно сработать.

И /boot, если он отдельно

NyXzOr ★★★
()
Последнее исправление: NyXzOr (всего исправлений: 1)

Делаешь ro снапшот

btrfs send

btrfs recive

ставишь загрузчик.

Vochatrak-az-ezm ★★
()
Ответ на: комментарий от SR_team

Получается, порядок такой:

  1. В файловую систему, куда установлен Arch, добавляю раздел нового диска, куда хочу его перенести: btrfs device add /dev/nvme0n1p2 /.
  2. Далее запускаю команду, которая равномерно распределит содержимое файловой системы между двумя разделами: btrfs balance start --full-balance /.
  3. Затем удаляю из файловой системы первоначальный раздел, в результате чего все оставшиеся данные с него перемещаются на добавленный ранее раздел: btrfs device delete /dev/sda2 /. После чего могу отформатировать раздел /dev/sda2 и использовать его под другие нужды, система при этом не пострадает, UUID останется тот же, fstab править не придется, в grub (который еще пока на /dev/sda1) Arch также будет отображаться.

Для того, чтобы перенести загрузчик, мне нужно будет куда-нибудь смонтировать (допустим, в /mnt) заранее созданный и отформатированный, но пока еще пустой раздел аналогичного размера /dev/nvme0n1p1. Далее скопировать на него содержимое текущего загрузочного раздела командой cp -r /boot/efi/. /mnt. Потом заменить UUID старого загрузочного раздела на новый в fstab и перезагрузиться, после чего все должно работать.

Я всё правильно понял, или что-то упустил?

null25
() автор топика
Ответ на: комментарий от null25

Всё сделал, в целом всё получилось. Разве что вместо копирования раздела с загрузчиком просто переустановил grub на новый раздел.

null25
() автор топика
Ответ на: комментарий от null25

Там же ниже @intelfx подсказал способ проще с командой btrfs device replace, которая просто заменяет используемый под ФС диск

SR_team ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.