Как я переносил рабочую систему Ubuntu MATE 14.04 на новый SSD-диск

от автора

Как-то, работая, заметил, что мой личный ноутбук на i5-ом, с 8 гигабайтами ОЗУ на Linux уступает служебной, менее мощной, «лошадке».

Было решено сделать «ход конём»: вместо старого SATA HDD был приобретен новый SSD диск. Админы по сути своей существа ленивые, и я не стал исключением. Вспоминать все, что было сделано заново, выстраивая свою рабочую среду, не хотелось от слова совсем, и перенос операционной системы был наименее беспроблемным вариантом в моем случае. Итак, приступим.

В ноутбук, через переходник-контроллер в слот DVD-привода, был подключен вторым новый SSD-диск на 60 Гб, определившийся в системе как /dev/sdb.

На старом 320 Гб HDD-диске /dev/sda было три раздела: /dev/sda1 (swap — предварительно отключен), /dev/sda2 (/корневой раздел), /dev/sda3 (/home). Полный объем всех данных на всех разделах занимал около 50 Гб.

Загрузился в режим LiveUSB, на Ubuntu MATE 14.04 с usb-флешки. Gparted-ом создал раздел sdb1 на SSD-диске. Флаги не ставил. Входим в привилегированный режим root:

sudo -i 

Проверяем есть ли поддержка TRIM:

hdparm -I /dev/sdb | grep -i trim 

* Data Set Management TRIM supported (limit 1 block).

Вывод листинга означает, что поддержка TRIM есть и она активна.

Проверяем выравнивание разделов:

parted /dev/sdb align-check opt 1 

Если 1 выровнено или 1 aligned, то все в порядке.

Создаем каталоги точек монтирования:

mkdir /mnt/{sda2,sda3,sdb1} 

Монтируем нужные разделы:

mount /dev/sdb1 /mnt/sdb1 mount /dev/sda2 /mnt/sda2 

Переносим, синхронизируя данные с корневого раздела:

rsync -qaHEAXh /mnt/sda2/* /mnt/sdb1 

Монтируем раздел с каталогом пользователя и также переносим с него данные:

mount /dev/sda3 /mnt/sda3 rsync -qaHEAXh /mnt/sda3/* /mnt/sdb1/home 

Для большей сохранности от случайных ошибок отмонтируем разделы исходного HDD-диска:

umount /mnt/sda2 umount /mnt/sda3 

Монтируем файловые системы нативной ОС, в которую перенесли данные:

mount --bind /proc /mnt/sdb1/proc mount --bind /dev /mnt/sdb1/dev mount --bind /sys /mnt/sdb1/sys 

Операцией chroot изменяем рабочий корневой каталог на тот, в который переносим данные:

chroot /mnt/sdb1 

Бекапим один из конфигурационных файлов со сведениями о файловых системах:

cp /etc/fstab{,.bak} 

Добавляем актуальную метку UUID раздела sdb1 в fstab:

ls -l /dev/disk/by-uuid |grep sdb >> /etc/fstab 

Редактируем fstab:

nano /etc/fstab 

И приводим его к примерному виду:

# / was on /dev/sdb1 during installation
UUID=c45939b4-3a58-4873-aa6e-247746hgftb5 / ext4 errors=remount-ro 0 1

где UUID=значение sdb1

Обновляем конфигурационный файл загрузчика Linux:

update-grub 

Проверяем, правильно ли выставлены значения UUID раздела в конфигурационном файле grub.cfg:

cat /boot/grub/grub.cfg | grep «uuid sda2» 

где вместо «uuid sda2» подставляйте свое значение uuid-раздела. У меня остались старые значения, поэтому:

Выходим из chroot:

exit 

Отмонтируем файловые системы:

umount /mnt/sdb1/sys umount /mnt/sdb1/dev umount /mnt/sdb1/proc 

Меняем в grub.cfg все старые значения uuid раздела sda2, на новые значения uuid раздела sdb1. Мне проще было сделать так. Вы можете сделать это по своему.

Ставим сервер mysql, в котором есть утилита replace (пароль любой, одинаковый — не пригодится):

apt-get install mysql-server-5.5 

Меняем UUID-ы:

replace 'old_uuid' 'new_uuid' -- /mnt/sdb1/boot/grub/grub.cfg 

где old_uuid и new_uuid, старое и новое значения соответственно.

Проверяем поменялись ли значения в grub.cfg:

cat /mnt/sdb1/boot/grub/grub.cfg | grep «uuid sdb1» 

Заново монтируем файловые системы и chroot-имся:

mount --bind /proc /mnt/sdb1/proc mount --bind /dev /mnt/sdb1/dev mount --bind /sys /mnt/sdb1/sys chroot /mnt/sdb1 

Устанавливаем сам загрузчик на sdb:

grub-install /dev/sdb 

Выходим из chroot:

exit 

Размонтируем всё смонтированное:

umount /mnt/sdb1/sys umount /mnt/sdb1/dev umount /mnt/sdb1/proc umount /mnt/sdb1 

Выходим из привилегированного режима root-а:

exit 

Перегружаемся в новую систему. При перезагрузке в BIOS не забываем выбрать и установить загрузку с нового устройства.

ссылка на оригинал статьи https://habrahabr.ru/post/277517/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *