20
сентябрь
2021
Решение проблемы: не стартует Linux после клонирования диска HDD на SSD
15:34

Решение проблемы: не стартует Linux после клонирования диска HDD на SSD

20 сентябрь 2021 15:34

При загрузке с диска-клона компьютер "зависал" после сообщения BIOS "Verifying DMI pool data".

Предыстория

1) На основном диске объём вначале установлена Windows XP для экспериментов. Затем рядом установлен Linux Mint - операционная система для работы. Таблица разделов - MBR. Основной раздел Windows, а Linux установлен в дополнительный раздел.

Схема разделов:

  • раздел 1 /dev/sda1 - NTFS/exFAT/HPFS Windows 35 Gb - загрузочный
  • раздел 2 /dev/sda2 - NTFS/exFAT/HPFS данные
  • расширенный раздел 3, объём 40 Гбайт, в который установлена Linux Mint.
    • раздел 5 - Ext4 - корневой раздел "/"
    • раздел 6 - SWAP

2) В определенное время места стало не хватать, а на поверхности образовались повреждённые сектора, скорость запуски "тяжелых" программ (почтового клиента Thunderbird) не радовала. Принял решение перенести операционную систему и данные с HDD на SSD способом "клонирования".

3) Купил SSD диск большего объёма в Китае - 120 Гбайт. Диск оказался не размечен.

4) С помощью загрузочного CR-R с программой CloneZilla 2.6.7 x64 (Debian) выполнил клонирование (зеркальную копию) исходного диска на диск назначения, с расширенной установкой (Expert Mode):
-g auto Переустановить grub в загрузочный сектор целевого жесткого диска
-e1 auto Автоматически выровнять геометрию файловой системы для загрузочного раздела NTFS
-e2 sfdisk использует CHS жесткого диска с ESD (для не-GRUB загрузчика)
-j2 клонировать данные, скрытые между MBR и первым разделом
-r изменить размер файловой системы соответственно размеру целевого раздела
-rescue При ошибке чтения блоков диска - читать следующий блок.

На следующем экране по умолчанию используется опция
- fsck пропустить проверку/восстановление исходной файловой системы

Предпоследний экран перед клонированием - использовал настройку:
- Использовать таблицу разделов с исходного диска.

Проблема

После клонирования HDD, при первом запуске компьютера с нового SSD-диска (старый диск отключен) операционная система не загрузилась: после сообщения BIOS "Verifying DMI pool data" - мигающий курсор на чёрном экране.

Решение

Поскольку во время клонирования в CloneZilla не было замечено никаких ошибок, связанных со структурой диска, единственная причина, по которой не происходила загрузка операционной системы Linux, связана с загрузчиком Grub2. Принял решение переустановить Grub2 в рабочий раздел Linux.

На форуме linux . stackexchange . com нашёл решение, которое помогло на 100%.

Объяснение: загрузчик разбит на 2 части: первые 512 байт пишутся в MBR, исполнимые файлы и скрипты - в каталог /boot/grub. Необходимо переустановить Grub2.

Установка загрузчика Grub2 с использованием команды grub-install:

1) Подключил к ПК оба диска - старый HDD и новый SSD.
Первое загрузочное устройство HDD, последовательность загрузки: SSD, HDD.

2) Загрузил ПК со старого HDD-диска. (В момент загрузки была небольшая пауза, связанная с невозможностью запуска системы с SSD-диска).

3) Посмотрел в утилите "Служебные" "Диски" имя раздела Ext4 с Linux на новом диске, оказался /dev/sda5

(Имя устройства можно получить и с помощью команды df -h).

4) Запустил терминал и выполнил следующие команды для установки загрузчика grub на /dev/sda:

sudo mount /dev/sda5 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt
sudo shutdown -h now

5) После завершения работы ПК, отключил питание и отсоединил SATA-шлейф от старого HDD-диска.

6) Включил ПК - операционная система загрузилась с нового SSD диска без ошибок.

Проблема решена.


Дополнение: расширение корневого ("/") раздела Linux после клонирования

Расширить раздел на работающей системе невозможно - при попытке изменения раздела загрузочного диска системы в GParted, программа "вылетает". Необходимо загрузить ПК с LiveCD или LiveUSB, например, Xubuntu и в режиме тестового запуска ("Try") выполнить изменение разделов в программе GParted:

1) при загрузке LiveCD выбрать русский язык и нажать кнопку "Попробовать Xubuntu"
2) запустить GParted
4) при помощи "мыши" выделил расширенный раздел, на который установлен Linux и SWAP (в моём случае "/dev/sda3")
5) правая кнопка мыши - "Resize/Move"
6) Free Space following (Mib) - поставил 0 Мбайт. Соответственно, увеличился пункт "New size (MiB)"
6) Выделил подраздел SWAP - правая кнопка мыши - Swapoff
7) Правая кнопка мыши на разделе SWAP - "Delete"
8) Подраздел "/dev/sda5" на который установлена система, увеличил почти на весь размер диска, оставил 6 Гбайт под SWAP
8) Создать новый раздел (правая кнопка мыши) - SWAP (в конце диска) на 6 Гбайт
9) Галочка "Apply"

Перезагрузка.

10) Запустить GParted, выделить раздел SWAP в операционной системе, нажать правую кнопку мыши и включить его - Swapon
11) Галочка "Apply"
12) Отредактировать файл "/etc/fstab", указав у SWAP UUID такой же, как у основного диска.

UUID=fd79588f-94ae-4b02-9ec2-47dc0c31b7dd / ext4 errors=remount-ro 0 1
UUID=fd79588f-94ae-4b02-9ec2-47dc0c31b7dd / none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
tmpfs /tmp tmpfs nodev,nosuid,noexec,size=100M 0 0

13) Перезагрузка.

Размер основного диска увеличен. Новый SWAP-раздел подключен. Ошибок после перезагрузки нет.


Ссылки:



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