Как-то раз на
работе стал медленно работать жесткий
диск с системой Linux Mint.
Админы
поставили новый ssd, однако систему на
него не перевели, не хватило квалификации.
Пришлось
мне, веб-программисту, заниматься
самостоятельно задачей перевода системы, установленной на hdd Linux Mint на ssd.
Сначала я
попробовал скопировать систему на новый
ssd с помощью программы dd.
Однако
выяснилось, что данная программа копирует
диск посекторно, то есть фактически
клонирует диск.
Ошибка была
в том, что исходный hdd имеет объем 460 ГБ,
а диск назначения ssd - 240 Гб.
Данных на
hdd на 70 Гб. Тем не менее, поскольку утилита
dd пытается скопировать hdd посекторно
на ssd, программа завершается с ошибкой.
Погуглив,
понял, что нужно создать загрузочный
раздел на ssd диске, а в другой раздел на
этом же диске скопировать все файлы с
hdd.
1. Устаналиваем
редактор разделов жестких дисков:
sudo apt-get
install gparted
2. Создаем
раздел grub_bios объемом 1 МБ для установки
загрузчика GRUB в GPT для BIOS.
(Отличная
инструкция приведена вот здесь
https://losst.ru/ustanovka-zagruzchika-grub
)
Внимание!
Если у вас в системе используется вместо
BIOS UEFI
загрузчик, или вы используете в качестве
таблицы разделов не GPT, а MBR, то вам данный
способ установки загрузчика не подойдет.
Остальную
часть диска я перевел в файловую систему
ext4 . Эта часть и будет содержать
скопированную с hdd систему Linux Mint.
x
3. Инсталлируем загрузчик grub в специальный раздел на ssd
sudo
grub-install /dev/sda
4.
Монтируем новый раздел ssd и копируем
все файлы с hdd на этот раздел (за исключением
файлов устройств, процессов, временных
файлов — новая система прекрасно
загрузится и будет работать без них)
mkdir
/mnt/sda2
mount
/mnt/sda2 /dev/sda2
sudo
rsync -aAXv /* /mnt/sda2/
--exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/var/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}
5.
После
перезагрузки системы видим меню, где
можно выбрать с какого раздела загружать
Linux Mint. Появился новый раздел - /dev/sda2.
Выбираю
загрузиться с данного раздела и grub
показывает ошибку.
No
such device guid …
нет
такого раздела
сначала
нужно загрузить ядро
Понятно,
что несмотря на копирование системы и
создание загрузочного раздела, grub не
находит файлы системы в новом разделе.
6.
Загружаюсь в старую систему на hdd,
выполняю команду
sudo update-grub
Утилита
находит систему в разделе /dev/sda2 и
обновляет список загрузки
После
перезагрузки Linux Mint на новом разделе
ssd /dev/sda2 успешно загрузилась, стала
работать быстрее и стабильней.
Надеюсь
эта
последовательность действий сбережет
время и нервы читателю. Поскольку Linux
Mint и Ubuntu имеют много общего, думаю этот
способ подойдет и для Ubuntu.