Перенести linux другой компьютер

Перенос Linux на другой диск

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

В этой статье мы рассмотрим, как перенести Linux на другой диск с помощью утилиты cp или архива tar. Второй способ интересен ещё тем, что вы можете создать резервную копию всей системы, а затем просто восстановить её при возникновении проблем.

Как перенести Linux на другой диск

Поскольку все данные, настройки и объекты операционной системы Linux — это файлы, то вы можете перенести свою операционную систему куда нужно, просто скопировав все нужные файлы. В Windows так де просто не получится, так, как там более сложная файловая система со сложными зависимостями.

1. Подготовка к переносу

Сначала рассмотрим, как использовать утилиту cp для переноса файлов операционной системы. В папку /mnt примонтируйте раздел, на котором будет располагаться новый Linux. Например, это /dev/sdb1:

Теперь нужно рекурсивно скопировать все файлы из текущего корня в нашу папку /mnt. Лучше всего это делать, загрузившись с LiveCD диска, тогда точно все нужные данные будут сохранены. Но это не обязательно, вы можете делать перенос и работающей системы, только перед этим остановите все запущенные базы данных и сервисы по максимуму, чтобы они сохранили свои настройки и вы ничего не потеряли в новой версии системы. Например, если у вас запущена база данных MariaDB или MySQL, то её нужно остановить:

sudo systemctl stop mariadb

Аналогично сделайте со всеми другими не важными для операционной системы сервисами. Также очистите корзину, кэш пакетного менеджера и другие ненужные файлы, чтобы они не занимали место в архиве или новой системе.

2. Перенос Linux утилитой cp

Далее можно запускать сам перенос Linux на другой диск. Для этого запустите утилиту cp с опциями -a, -r и —x. Первая опция включает сохранение исходных прав и метаданных файла, вторая — рекурсивный обход файловой системы, а третья ограничивает рекурсию только текущей файловой системой:

Поскольку будут копироваться только файлы из текущей файловой системы, то если ваши каталоги /boot и /home находятся на других разделах, то их нужно скопировать отдельно:

sudo mkdir /mnt/
sudo cp -rxa /boot /mnt/boot/
sudo cp -rxa /home /mnt/home/

Если вам не нужна домашняя папка, то вы можете её не копировать.

Читайте также:  Finding file version in linux

3. Перенос Linux утилитой tar

Это альтернативный вариант переноса, если вы не хотите использовать cp, то можете применить tar. Чтобы сразу перенести файлы в другое расположение, нужно создать туннель, на одном конце которого данные будут запаковываться, а на другом — распаковываться:

sudo tar -cpv —one-file-system / | sudo tar -x -C /mnt

Опция -p — заставляет утилиту сохранять метаданные файлов при переносе. Опция —one-file-system указывает, что утилита будет брать файлы только из корневой файловой системы, поэтому все примонтированые файловые системы, как и в предыдущем варианте, будут пропущены. Поэтому каталоги /boot и /home вам придётся копировать аналогичной командой. Или же можно не использовать эту опцию и передавать всё, кроме ненужного:

sudo tar -cpv —exclude /mnt —exclude /dev —exclude /sys —exclude /proc —exclude /tmp —exclude /run / | sudo tar -x -C /mnt/

Также вы можете создать архив, а потом его куда-нибудь скопировать, чтобы иметь резервную копию системы:

sudo tar -cvpzf system.tar.gz —exclude system.tar.gz —one-file-system /

Вместо опции —one-file-system можно использовать опции —exclude, чтобы исключить ненужные каталоги, как в предыдущей команде. А для распаковки используйте команду:

sudo tar xvzf system.tar.gz -C /mnt

Здесь, /mnt — это каталог, в который нужно извлечь файлы архива.

4. Перенос с помощью rsync

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

Эта команда работает аналогично команде tar, копирует всё что есть в новое расположение. Опции -aAX включают сохранение всех метаданных файла, символических ссылок, владельцев, групп, и так далее.

5. Правка /etc/fstab

Далее будем работать только с новой системой. Первым делом нужно исправить файл /etc/fstab, чтобы там был указан правильный UUID корневого раздела. Узнать UUID нужного раздела можно командой blkid:

Теперь замените полученным UUID, значение этого параметра корневого раздела в /mnt/etc/fstab:

6. Установка загрузчика

Далее нужно установить загрузчик Grub в новом Linux. Сначала примонтируйте в него папки /sys, /proc и /dev:

sudo mount —bind /sys /mnt/sys
sudo mount —bind /proc /mnt/proc
sudo mount —bind /dev /mnt/dev

Затем войдите в chroot окружение:

Затем установите загрузчик на тот диск, на который вы переносили Linux, в моём случае это /dev/sdb:

И осталось только создать конфигурационный файл для загрузчика:

В дистрибутивах, не основанных на Ubuntu, вместо update-grub2 можно использовать команду:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

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

Выйдите из chroot-окружения командой:

Затем размотрируйте системные каталоги и ваш раздел:

sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt

И перезагрузите компьютер. В BIOS вашего компьютера нужно выбрать диск, на который вы переносили Linux, в качестве первого источника для загрузки. После загрузки вы будете уже в новой операционной системе и всегда сможете вернуться в старую.

Выводы

В этой статье мы разобрали, как перенести Linux на другой жёсткий диск с помощью утилит tar, cp или rsync. Как видите, это достаточно просто и быстро. Ещё мы могли бы использовать утилиту dd, однако она копирует весь диск побайтово, поэтому будет работать дольше и её архивы будут занимать больше места на диске. Ещё можно воспользоваться инструментом Clonezilla.

Читайте также:  Linux finding running processes

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Новый компьютер, старая ОС: как перенести Linux между машинами

Новый компьютер, старая ОС: как перенести Linux между машинами

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

Хотя это может быть проблемой, если вы используете Windows, особенно когда речь идет о необходимости реактивации вашей копии, это сделать намного проще, если вы работаете в Linux. На самом деле, у вас даже есть выбор из нескольких разных способов, но я только порекомендую те, которые я считаю наиболее простыми.

Свежая установка

Самый распространенный способ перенести установку Linux на новый жесткий диск — это просто переустановить Linux в новой системе и скопировать все ваши файлы. Хотя это наиболее распространенный способ перемещения вашей системы и файлов, я бы порекомендовал это, только если вы не можете соединить два жестких диска вместе на одном компьютере, независимо от того, переходите ли вы на новый жесткий диск или новый система. При резервном копировании файлов вы должны искать в папках / home, / etc, / opt, / root и / var все, что вы можете сохранить. Пользователи рабочего стола могут в первую очередь захотеть заглянуть в папку / home, где находятся все ваши личные файлы, в то время как пользователи сервера должны в первую очередь проверить файлы конфигурации и размещенные данные в / etc и / var.

Храните список установленных пакетов

Linux перемещается между рабочими столами

В дистрибутивах Debian есть простой способ составить список всех установленных пакетов в вашей системе и записать этот список в простой текстовый файл. Этот список затем можно использовать в новой установке Linux, чтобы отметить все пакеты, которые необходимо установить снова. Чтобы создать список, вам нужно запустить команду sudo dpkg —get-selections > /home/[your user name]/packagelist.txt , заменив [ваше имя пользователя] соответствующей записью. Чтобы пометить пакеты для переустановки в новой системе, скопируйте текстовый файл в эту систему и выполните команду sudo dpkg —set-selections < /home/[your user name]/packagelist.txt .

Это пометит все пакеты, которые вы хотите вернуть, но на самом деле не установит их, пока вы не выполните команду sudo apt-get -u dselect-upgrade . Это должно установить все пакеты из официальных репозиториев, которые были у вас на старой системе, поэтому много знакомых программ для должен появиться снова через некоторое время для загрузки и установки. Не забудьте также восстановить ваши резервные копии данных в соответствующие папки, и та-да! Ваша система должна теперь вернуться к тому, что было!

Читайте также:  Hp laserjet 1000 linux driver

Копирование ваших разделов

Linux перемещается между рабочими столами

Если вы можете подключить старые и новые жесткие диски (или жесткий диск старой системы и жесткий диск новой системы) к одной и той же машине, вы можете легко скопировать весь раздел (ы) Linux на новый жесткий диск. Этот метод сделает вашу среду Linux намного проще, потому что вам не придется заново устанавливать дистрибутив и все необходимые пакеты. Помимо того, что два жестких диска подключены к одному и тому же компьютеру каким-либо образом, при котором компьютер распознает их оба, вам также понадобится дисковод DVD или USB, на котором есть среда распространения.

Например, сгоревшая или записанная копия Ubuntu ISO будет работать хорошо — просто не забудьте сохранить ее так же, как то, что вы уже установили, включая 32-битную или 64-битную. После того, как вы запустили живую среду с DVD / USB, вы можете открыть Gparted и просто скопировать разделы, которые хотите сохранить, на новый жесткий диск, «скопировав и вставив» его в интерфейс. При копировании на диск большего размера возможно изменение размера после перемещения, а при копировании на диск меньшего размера необходимо изменить размер раздела перед его перемещением. После того, как разделы будут скопированы на новый жесткий диск, вам нужно будет выполнить несколько команд, чтобы установить правильный загрузчик на новый жесткий диск. Чтобы привести загрузчик GRUB в рабочее состояние на новом жестком диске, запустите:

sudo mount /dev/sdX# /mnt
sudo mount —bind /dev /mnt/dev
sudo mount —bind /proc /mnt/proc
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo chroot /mnt
grub-install /dev/sdX

Вам необходимо заменить все вхождения «X» в этих командах для нового жесткого диска и заменить все вхождения «#» для номера раздела корневого раздела Linux. Вся эта информация может быть найдена с помощью приложения Диски, как в Dash. Теперь переместите новый жесткий диск на нужную машину и загрузитесь с нее, чтобы загрузить ваш дистрибутив. Оказавшись внутри запущенного экземпляра Linux, вам необходимо запустить sudo update-grub чтобы убедиться, что загрузчик GRUB правильно идентифицирует разделы в вашей системе на всех жестких дисках. Это особенно важный шаг, если у вас есть другой раздел или жесткий диск с другой операционной системой, такой как Windows.

Вывод

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

Вы перенесли установку Linux раньше? Считаете ли вы эти инструкции легко? Вы уже ознакомились с нашим полным руководством по Linux ? Дайте нам знать об этом в комментариях!

Источник

Оцените статью
Adblock
detector