Перенос системы с большего ЖД на меньший
Jan. 1st, 2021 09:28 pmЗаметка для себя.
Столкнулся с необходимостью переноса системы с одного жёсткого на другой. Системf Linux Mint 20. Всё осложнялось тем, что старый винт был 500 ГБ, а новый 240 ГБ.

По началу я попробовал тупой dd, в надежде, что проверка системы всё исправит. Но факир был пьян и фокус не удался. В результате, пришлось переразмечать жёский диск.
dd дал начальный UEFI раздел, с FAT, а вот большой линукс раздел пришлось удалить (так как он уходил за пределы диска), и создать заново. Отформатировал его в ext4
Затем, я примонтировал оба жёстких диска, и начал копировать систему с одного на другой:
После успеха этой долгой операции (сильно дольше dd), нужно систему привести в чувство. Для этого командой blkid смотрим ID-примонтированных винтов. Должно быть что0то типа:
Далее нам нужен croot в новоиспечёную систему. Для того, чтобы корректно всё работало, примонтируем туда наши папки /dev/ /sys/ /proc/
После этого вносим правки в /etc/fstab с новыми UUID жёстких дисков:
обновляем grub и initramfs:
После успеха всех операций, выходим, завершаем работу, отключаем винт, цепляем к ноуту. После успешной загрузки ещё раз обновляем граб уже на самом ноуте:

Полный успех
Столкнулся с необходимостью переноса системы с одного жёсткого на другой. Системf Linux Mint 20. Всё осложнялось тем, что старый винт был 500 ГБ, а новый 240 ГБ.

По началу я попробовал тупой dd, в надежде, что проверка системы всё исправит. Но факир был пьян и фокус не удался. В результате, пришлось переразмечать жёский диск.
dd дал начальный UEFI раздел, с FAT, а вот большой линукс раздел пришлось удалить (так как он уходил за пределы диска), и создать заново. Отформатировал его в ext4
Затем, я примонтировал оба жёстких диска, и начал копировать систему с одного на другой:
sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*"} /mnt/bighdd /mnt/smallhddПосле успеха этой долгой операции (сильно дольше dd), нужно систему привести в чувство. Для этого командой blkid смотрим ID-примонтированных винтов. Должно быть что0то типа:
blkid /dev/sda1: UUID="554f956f-ac3f-4d59-b655-a20cc787a3bf" TYPE="ext4" PARTUUID="fa0442d2-01" /dev/sda5: UUID="f9c51fa7-a696-4079-a610-8c430dd388ae" TYPE="swap" PARTUUID="fa0442d2-05"
Далее нам нужен croot в новоиспечёную систему. Для того, чтобы корректно всё работало, примонтируем туда наши папки /dev/ /sys/ /proc/
mount -o bind /dev /mnt/smallhdd/dev mount -o bind /sys /mnt/smallhdd/sys mount -o bind /proc /mnt/smallhdd/proc sudo chroot /mnt/smallhdd/
После этого вносим правки в /etc/fstab с новыми UUID жёстких дисков:
vi /etc/fstab
обновляем grub и initramfs:
update-initramfs -u update-grub
После успеха всех операций, выходим, завершаем работу, отключаем винт, цепляем к ноуту. После успешной загрузки ещё раз обновляем граб уже на самом ноуте:
update-grub

Полный успех