7
август
2022
Настройка загрузки Linux с другого диска после клонирования HDD-SSD
2:05

Настройка загрузки Linux с другого диска после клонирования HDD-SSD

7 август 2022 2:05

После клонирования диска нужно настроить ОС, чтобы загрузка происходила с нового, более быстрого SSD-диска.

Предыстория

Пришел купленные на AliExpress для домашнего компьютера SSD-диск фирмы WEIJINTO.
WEIJINTO SSD 120 ГБ, 240 ГБ, 128 ГБ, 256 ГБ, 512 ГБ, 480 ГБ, 960 ГБ, 360 гб, 2,5 дюйм в магазине WEIJINTO Store
За объём 120 Гбайт заплатил 800 рублей (около $11). Несмотря на цену, эта фирма выпускает накопители данных высокого качества. Так, на работе диск этой фирмы работает более 1 года, в жестких условиях без замечаний.

Физическое подключение SSD диска

В системного блоке к материнской плате с помощью SATA-кабелей подключены оба диска:

  • Первый диск HDD содержит все разделы старого диска.
  • Второй диск SSD будет содержать лишь основной раздел (смонтированный в "/").

Клонирование диска

Прежде всего, нужно убедиться, что диск присутствует в системе, пусть пока и не разбит на разделы.

sudo apt-get install gnome-disk-utility

Теперь запускаем утилиту "Диски" через меню "Пуск" - "Стандартные" - "Диски"
или выполняем команду (делает то же самое):

gnome-disks

Вначале узнаем тип разметки исходного диска (старого HDD) - у меня тип разметки GPT.
Новый диск решил разбивать тоже с типом GPT.
gpt

В левой части окна выбираем диск SSD, видим, что он исправен, но пока не разбит на разделы (и не содержит информации).
disks
Закрываем графическую утилиту "Диски", она пока не потребуется.

Разбивка диска

Запускаем из командной строки fdisk и выполняем команды

sudo fdisk /dev/sdb
g
n
p
w

Команда g создает разметку типа GPT, n создаёт новый раздел типа "Linux", p - вывод на экран разделов (проверка), w - запись и выход.

Клонирование основного раздела с диска HDD на SSD

Узнаем на каком разделе находится "корень" дика (/).

 lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 300M 0 part /boot/efi
├─sda2 8:2 0 73,9G 0 part /
├─sda3 8:3 0 7,8G 0 part [SWAP]
├─sda4 8:4 0 90,8G 0 part /var
└─sda5 8:5 0 293G 0 part /home

Видно, что "корню" соответствует sda2 (у других может быть sda1).

Второй диск, диск назначения sdb также виден, и в нём виден том, который мы создали sdb1

sdb 8:16 0 111,8G 0 disk
└─sdb1 8:17 0 111,8G 0 part

Диск назначения должен быть больше размером, чем исходный раздел (111G > 73,9G).

Приступаю к клонированию с раздела на раздел между дисками sda и sdb.
Исходный диск sda2 копируется в диск назначения sdb1, размер буфера 2 МБ:

sudo dd if=/dev/sda2 of=/dev/sdb1 bs=2M

Клонирование заняло у меня примерно 30 минут.

Назначение нового UUID разделу диска SSD

Чтобы не допустить дублей, а также для удобства различения дисков, я решил изменить UUID тома на диске назначения, т.е. записать новый uuid,

Генерация uuid;

uuidgen

Полученное значение скопировал в буфер обмена и подставил параметром команды,
тем самым выполнил замену uuid раздела /dev/sdb1 на новый uuid:

sudo tune2fs /dev/sdb1 -U новый_uuid

Выполнение команды занимает 5 секунд.

Проверка файловой системы нового диска после клонирования

Убеждаемся, что новый SSD диск sdb, точнее том "/dev/sdb1" не смонтирован:

sudo umount /dev/sdb1

Запускаем проверку файловой системы:

sudo e2fsck -f /dev/sdb1

Главное: обеспечение запуска операционной системы с нового раздела

Идентификатор uuid нового загрузочного и основного раздела на SSD нам известен, но можно узнать его и другим способом (если забыли):

ls -l /dev/disk/by-uuid

или

 lsblk -f

Осталось выполнить 2 несложных действия:

1) Добавляем команду GRUB_DEVICE_UUID (для указания диска, с которого будет выполнена следующая загрузка),
в конфигурационный файл /etc/default/grub,

sudo nano /etc/default/grub

Файл /etc/default/grub находится пока ещё на старом разделе /dev/sda2, но при следующей загрузке, загрузчик GRUB2 выберет том с UUID, который ему укажем.

Строка файла конфигурации /etc/default/grub следующая (вводить без звездочек):

GRUB_DEVICE_UUID=**вставьте здесь uuid нового загрузочного раздела (том sdb1 на SSD диске)**

Ctrl+O, Ctrl+X

Выполняем обновление конфигурации GRUB:

 sudo update-grub

2) В новом разделе редактируем файл FSTAB

Для этого, в утилите "Диски" смонтируем новый SSD диск с 1 разделом (кнопка с треугольником ▶).

В проводнике по пути /media/user/uuid ищем и открываем в текстовом редакторе файл /etc/fstab:

Отредактировать "/media/user/длинный_uuid/etc/fstab".

Заменяем в нём для /dev/sda2 старый uuid на новый, который известен для /dev/sdb1
fstab
Сохраняем файл fstab и перезагружаем ПК.

Теперь grub будет использовать для загрузки новый uuid, а fstab с нового диска тоже будет использовать uuid нового SSD диска.

Проверка

Кроме уменьшения времени загрузки операционной системы (в моём случае с 1 минуты 3 секунд время уменьшилось до 34 секунд), текущие подключения можно посмотреть в той же утилите "Диски". Старый раздел №2 на HDD диске не смонтирован, а новый на SSD смонтирован как "корневой том".

tom

Замечание

Пользовательский раздел /home и раздел системных настроек /var у меня на старом диске были выделены в отдельные тома. Такими же отдельными разделами на тех же местах они и остались. Ускорение ПК произойдет в этом случае при загрузке ОС и запуске программ. В данном примере профиль пользователя сохраняется на старом HDD диске. Если исходный диск был разбит по-другому, и весь диск был отведен под "корень" (/), включая /home, то покупать нужно SSD большего объёма, чем исходный HDD диск (например, 1 ТБ).


Ссылки:



Похожие публикации