Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode

Рассказ о том, как я жесткий диск на ноуте менял

Был у меня, в общем-то, достаточный для работы жесткий диск объемом 250 ГБ, но не жилось мне спокойно, и захотелось мне поставить жесткий диск на 500 ГБ.

Сказано — сделано. Винт купил и поставил. Надо переносить систему. Переустановка ОС — это не наш путь, разумеется.

Далее будет описано, что я делал (и что не нужно было делать), а в конце — как всё-таки у меня получилось через одно место.

Итак, на моем старом винте было три раздела: ntfs, ext4 и swap.

Новый жесткий диск я воткнул в ноутбук, а старый подключил по USB через переноску.

Самое логичное было бы сделать:

dd if=/dev/sdb of=/dev/sda bs=4096 conv=sync,noerror

Но этот способ не сработал. Разделы создались, но файловые системы у них не определились, из-за чего пришлось бы их переформатировать.

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

dd if=/dev/sdb of=/dev/sda bs=512 count=1

После этого я по очереди удалил каждый раздел на новом жестком диске и с помощью gparted перенес их со старого жесткого диска. В результате, конечно же, загрузочный сектор и таблица разделов у меня потерлись.

Всевозможные попытки восстановить grub, осуществляемые при помощи гугления, результата не дали.

Что в итоге я сделал:

  • Раздел с ntfs оставил как есть (т.е. полностью клонированным со старого жесткого диска).
  • На раздел ext4, на котором у меня стоял Linux, я заново установил дистрибутив. Устанавливать нужно обязательно тот дистрибутив, который стоял до этого, иначе может не получиться.

Таким образом у меня пересоздалась таблица разделов и загрузочный сектор (вообще таблица разделов, конечно, была).

Затем я полностью стер всё на линуксовом разделе и скопировал при помощи утилиты rsync всё со старого линуксового раздела. Всё это я делал, загрузившись с LiveCD.

rsync в отличие от cp (даже cp -a) нормально копирует скрытые файлы, т.е. те, которые начинаются с “.”. Обе команды rsync -a и cp -a могут копировать атрибуты файлов и права доступа.

Выглядит команда так:

rsync -a /.../.../  /.../.../

Закрывающий слеш существенен, поскольку без него получится не совсем то, что нужно.

Чтобы система начала загружаться, нужно ещё в файлах
/boot/grub/grub.cfg и /etc/fstab
поменять uuid разделов на новые.

Узнать их можно командой:

blkid

Ну и напоследок, поскольку у меня появилось теперь много свободного места, я создал 250-гигабайтный раздел и примонтировал его к /home.

Для этого я всё тем же rsync-ом перенёс все файлы (сидя на LiveCD) на отведённый для этого раздел и прописал в его fstab:

# /home
/dev/sda4    /home  ext4 defaults,noatime,errors=remount-ro 0 2