LINUX.ORG.RU

Как перенести систему (Gentoo) с HDD на SSD?

 


1

1

Всем привет. Сейчас система на 500гб HDD (занято около 20гб). Нужно перенести ее на 120гб SSD. Как это сделать максимально быстро и удобно? Clonzilla не подходит - у нее проблемы с разворачиванием копии бОльшего диска на меньший.

с помощью rsync нельзя скопировать файлы?

xmikex ★★★★
()

Конфигурацию ведра сохрани, и поставь все заново. Хомяка перенесешь. Это более человечно.

Promusik ★★★★★
()
Ответ на: комментарий от dpronyaev

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

Ну и если у тебя в /etc/fstab и конфиге загрузчика файловые системы указаны через UUID или LABEL, то не забудь их поправить.

Ну и не запутайся и с обычной схемой, /dev/sda1, /dev/sdb1 и т.д.

Удачи.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от Promusik

Каких проблем?

Ему сейчас нужно действовать согласно Gentoo Handbook, только вместо распакованного stage3 у него уже собранная система, её нужно скопировать на подготовленные файловые системы ны ssd, затем в соответствии с Gentoo Handbook, опять же, отредактировать /etc/fstab, сделать chroot и прописать загрузчик в MBR, ну либо в соответствие с EFI сделать настройки.

Зачем ему ещё раз собирать систему, если он заменил только накопитель?

В /etc/fstab нужно будет только дописать соответствующие опции монтирования файловых систем для ssd trim.

Подумай.

kostik87 ★★★★★
()

rsync'ком прекрасно можно переехать.

rsync -avP --numeric-ids --exclude={«/dev/*»,«/proc/*»,«/sys/*»,«/tmp/*»,«/run/*»,«/mnt/*»,«/media/*»,«/lost+found»} /откуда/ /куда/
установить grub
поправить fstab

pkurg ★★★★
()

Допустим у тебя система на /dev/sda. Есть /boot / и /home. А ssd стало быть на /dev/sdb. И хочешь ты например на ssd тоже /boot.
Разбиваешь ssd как тебе надо на три раздела — /boot swap / по порядку.
Затем:
# mkdir /mnt/new
# mount /dev/sdb3 /mnt/new
# mkdir /mnt/new/boot
# mount /dev/sdb1 /mnt/new/boot
# mkdir /mnt/tmp
# mount / /mnt/tmp -o bind
Далее копируешь чем угодно из /mnt/tmp в /mnt/new. Хоть cp, хоть tar, хоть rsync, хоть F5 в mc. Главное с сохранением атрибутов.
# umount /mnt/tmp
# mount /boot /mnt/tmp -o bind
Теперь копируешь также из /mnt/tmp в /mnt/new/boot
# umount /mnt/tmp
Если оставлять старый диск под хомяк, то больше ничего копировать не надо. Если старый диск использоваться не будет, то:
# mount /home /mnt/tmp -o bind
И копируешь содержимое /mnt/tmp в /mnt/new/home
# umount /mnt/tmp
Теперь тебе надо подкорректировать /mnt/new/etc/fstab, исправив там точки монтирования.
blkid в помощь.
Затем надо подкорректировать конфиг загрузчика в /mnt/new/boot
Что и как там делать зависит от загрузчика.
Если EFI то надо ещё делать раздел для него и копировать туда отдельно, тем же приёмом.
Далее отмонтируешь /mnt/new/boot /mnt/new и грузишься с ssd.

PS: забыл. Загрузчик надо будет ещё восстанавливать. Но это уже отдельное сообщение.

imul ★★★★★
()
Последнее исправление: imul (всего исправлений: 2)

Тебе нужен rsync.

Сейчас система на 500гб HDD (занято около 20гб)

Ничо се! Здесь Arch занимает целых 80ГБ

И прежде всего, раздели SSD на партиции с USB Windows. Так нужно.

blitz
()
Ответ на: комментарий от Promusik

Допустим, ты написал фигню и не хочешь это признать.

По делу, скажи в чём принципиальное отличие от установки системы с нуля, создания файловых систем, распаковки stage3, последующего chroot, сборки ядра, установки загрузчика, правки конфигурационных файлов, от копирования на те же файловые системы уже установленной системы, chroot`а в неё, правки /etc/fstab и прописывания загрузчика?

У него из специфичного для Gentoo оборудования ничего не изменилось. Процессор тот же, его смена повлияет на CFLAGS, но он не менялся, материнская плата с контроллером жёстких дисков та же, видео карта таже.

В общем, всё оборудование тоже, за исключением накопителя. А это значит, что если он будет собирать систему заново, то в случае, если система у него уже актуальна и при сборке он скопирует /etc/portage/make.conf и прочие конфиги из /etc/portage, а так же /var/lib/portage/world, то после сборки системы он получить абсолютно такую же систему, с теми же оптимизациями под процессор и такими же USE флагами.

Так что смысла собирать систему нет.

Разве что только сравнить некоторое незначительное изменение сборки пакетов из-за более производительных дисковых операций на SSD по сравнению с HDD.

Так что никаких объектиных причин собирать систему заново против простого копирования уже собранной, с сохранением прав доступа и последующей правки конфигов нет.

Если ты этого не понимаешь, то это твоя проблема.

С наступающим!

Удачи в новом году.

kostik87 ★★★★★
()
Ответ на: комментарий от imul

PS: забыл. Загрузчик надо будет ещё восстанавливать. Но это уже отдельное сообщение.

Надо записывать UUID партиций заранее на бумажку.

Особенно /boot и /root.

blitz
()
Ответ на: комментарий от dpronyaev

Потом, я так понимаю, chroot в перенесенный / и установка GRUB, верно?

Необязательно так.
Если hdd и ssd - диски на одной матплате (а не в сети и т.п.),
можно настроить grub, как обычно это делается после обновлении ядра в старой системе на hdd. Найдутся все системы, если их несколько.
Запись о загрузке с sdd появится в меню grub.
grub-mkconfig -o /boot/grub/grub.cfg
grub-install -v --recheck /dev/sdX

P.S. Потом, загрузившись в новую систему, снова можно настроить grub.

record ★★★★★
()
Последнее исправление: record (всего исправлений: 4)
Ответ на: комментарий от record

grub научили уже в PARTUUID или всё - печаль и огорчения?

blitz
()

С помощью LVM как нефик делать (если он, конечно, используется), pvcreate -> vgextend -> vgreduce -> pvremove.

BattleCoder ★★★★★
()
Ответ на: комментарий от blitz

Надо записывать UUID партиций заранее на бумажку.

Вот и выросло поколение...
Зачем бумажку в 21 веке?
Если забыл подредактировать, то в меню груба всегда можно зайти в редактор и поправить на /dev/sda1..4, а как загрузился, то grub-install и усё.

imul ★★★★★
()

сделай бэкап важных данных и установи систему заново

unixwz
()
Ответ на: комментарий от imul

Какое противоречие в словаь твоих.

Бумажка - она всегда нужна, даже в XXI веке.
груб - сомневаюсь. Есть же более удобные загрузчики, и ты знаешь, какие.

blitz
()
Ответ на: комментарий от blitz

Да неважно какие удобные. Они могут быть у тебя, у меня, у кого-то ещё. Важно какой у топикстартера, ему потом с ссд грузиться. А он про grub написал и даже знает, как его в чруте восстанавливать.

imul ★★★★★
()

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

anonymous
()
Ответ на: комментарий от novitchok

> недавние удалённые говорят нам об обратном, ога.

Блиц и его девушки - особая тема.
Которые удаляют из зависти ))

blitz
()
Ответ на: комментарий от anonymous

> Точно здорового? А то говорить о себе в третьем лице тревожный звоночек.

Точно здоровый - какашки Блиц, приятного светло-коричневого цвета.

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

blitz
()

Я через gparted livecd переносил. Обрезаешь раздел и просто копируешь его на новый носитель.

user42 ★★
()
Последнее исправление: user42 (всего исправлений: 1)
Ответ на: комментарий от novitchok

Не купил.

Собрал своими руками, начнём с этого.
Знакомясь с непробиваемыми шинами Michelin, архивами Shimano - переключателями скоростей и тормозами.

Настраивая вело под свою скорость - поди, обгони-ка Блиц!

blitz
()
Ответ на: комментарий от blitz

Надо записывать UUID партиций заранее на бумажку.

Зачем? Диск можно разбить в gparted, скопировать систему и поправить fstab не указывая UUID, или скопировать UUID из gparted. Потом сделать chroot и установить grub

SR_team ★★★★★
()
Последнее исправление: SR_team (всего исправлений: 1)
Ответ на: комментарий от blitz

груб - сомневаюсь. Есть же более удобные загрузчики, и ты знаешь, какие.

Прямая загрузка ядра через UEFI?

devl547 ★★★★★
()

Сделай снапшот файловой системы и перенеси его на новый носитель. Не получается? Ну вот так вот.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Снапшоты? Нормальные системы могут на лету расширяться на новые диски и отключать ненужные, не важно в какой конфигурации, пока места хватает.

anonymous
()
Ответ на: комментарий от devl547

Представляется, что на сегодня - самое технически верное, в загрузке ядра.

blitz
()
Ответ на: комментарий от SR_team

Вот опять, grub и gparted.
Ведь есть cfdisk и cgdisk.

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

blitz
()
Ответ на: комментарий от blitz

Давай уже тогда всю систему на бумажку ноликами и единицами. :-)

rumgot ★★★★★
()

Ну и я пять копеек вставлю:

# Описываемые действия выполняются на работающей desktop системе
# (если имеется сервер, то лучше предварительно отключить
# сервисы типа web-сервера, серверов баз данных,
# dns серверов и прочих);

# /               - корневая файловая система (ее нужно перенести);
# /mnt/dst_part   - раздел для переноса корневой файловой системы (куда нужно перенести);


# Команда rsync

rsync -vhrtlpogDHx --numeric-ids --delete --progress --exclude lost+found / /mnt/dst_part

# -v - подробный вывод;
# -h - отображение вывода в удобном для чтения формате;
# -r - рекурсивный обход директорий;
# -t - сохранить время модификации;
# -l - копировать символические ссылки как ссылки, а не как файлы;
# -p - сохранять разрешения;
# -o - сохранить владельца (только при выполнении от root);
# -g - сохранить группу;
# -D - тоже что одновременно параметры --devices --specials;
# --devices  - сохранять файлы устройств (только при выполнении от root);
# --specials - сохранять специальные файлы;
# -H - сохранять жесткие ссылки;
# -x - копировать только содержимое текущей файловой системы и
# не выполнять копирование с примонтированных к текущей файловой системе
# других разделов со своими файловыми системами;
# --numeric-ids - не преобразовывать значения uid/gid по именам пользователя/группы;
# --delete - удалить в месте назначения все, что не содержится в источнике;
# --progress - отображать прогресс во время копирования;
# --exclude lost+found - пропустить копирование специального каталога файловой системы ext4;
# / - источник (корневая файловая система);
# /mnt/dst_part - каталог назначения.

# Восстановление grub

mount --bind /dev /mnt/dst_part/dev
chroot /mnt/dst_part /bin/bash
mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts

# Нужно откорректировать /etc/fstab в новой системе
# (здесь описывать не буду);

grub-install /dev/sda
update-grub
# (вместо двух последних команд можно использовать
# dpkg-reconfigure grub-pc, но я не пробовал)

umount /dev/pts
umount /sys
umount /proc
exit
umount /mnt/dst_part/dev
umount /mnt/dst_part

# Теперь перезагружаемcя
reboot

# Восстановление завершено.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 4)
Ответ на: комментарий от blitz

«Технически корректно» - Ох термины то какие :-)
sys proc dev - содержимое данных каталогов будет пропущено, т.к. используется параметр -x. Поэтому корректно у меня от и до.

rumgot ★★★★★
()
Ответ на: комментарий от blitz

из этих Windows

Это что? разделы с файловыми системами ntfs?
Я про это вообще что-то утверждал или спрашивал?
Сначала ты пишешь, что у меня что-то некорректно. Затем, поняв что был не прав, ты пишешь про, цититурую «эти windows». Какая то непоследовательная хрень, а не довод.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.