- перенос линукса на другой компьютер
- 1. Создание бэкапа
- Восстановление бэкапа на другом железе
- Перенос Linux на другой компьютер
- Вступление
- Что имеем
- Шаг первый
- Шаг второй
- Шаг третий
- Шаг четвёртый
- Перенос Ubuntu с одного PC на другой PC (hdd)
- Как без проблем перенести Linux на другой компьютер или поменять оборудование
- Измените оборудование или ПК в системе Linux
- Сменить RAM
- Что нужно иметь в виду
- Замените жесткий диск (или переместите Linux на SSD)
- Что нужно иметь в виду
- Сменить процессор или ЦП
- Что нужно иметь в виду
- Заменить материнскую плату
- Что нужно иметь в виду
- Изменить графическую карту
- Что нужно иметь в виду
- Проблемы с Linux? Переустановите систему
перенос линукса на другой компьютер
Sep 27, 2016 · 4 min read
Я работаю в организации с маленьким штатом, деятельность тесно связана с IT и у нас возникают задачи по системному администрированию. Мне это интересно и частенько я беру на себя решение некоторых.
На прошлой неделе мы настраивали FreePBX под debian 7.8, нанимали фрилансера. В процессе настройки оказалось, что сервер (да, я так называю обычный PC) не хочет грузится с HDD при подключенных USB 3G модемах, которые мы используем для звонков на мобильные, колупание BIOSа не помогло. Непорядок. Решил, что нужно перенести его на другую железяку. Так появилось сразу две связанные задачи:
- сделать бэкап сервера;
- восстановить бэкап на другом железе.
Гугление н е дало внятных ответов, как это сделать, пришлось собирать информацию кусками и пробовать. Всякие acronis’ы отбросил сразу, ибо не интересно.
Опыт общения с linux-системами у меня небольшой: настройка VPN сервера на open-vpn, ftp-сервера и еще пара мелочей. Сам себя я характеризую как человека умеющего читать маны и править конфиги 🙂
Ниже я описываю свой частный случай и почему я поступил именно так. Надеюсь, новичкам будет полезно, а бородатые админы улыбнутся вспомнив молодость.
Начинаем копать теорию:
По созданию бэкапов уйма статей, я для себя отметил два способа: tar — упаковывает и сжимает все файлы, при этом не сохраняется MBR, мой бэкап будет весить около 1.5 Gb; dd — делает полную копию раздела, включая MBR и всю область, где нет файлов, архив будет равен размеру раздела, в моем случае
Второй способ требует наличия внешнего жесткого диска объемом не меньше раздела, который архивируем. Да и что с ним потом делать, непонятно, хранить на полочке? Остановился на tar, чуть сложнее в реализации, нужно будет создать MBR, но время создания/восстановления архива существенно меньше, хранить бэкап проще, полтора гига можно закинуть в облако и скачать, когда будет нужно. Записывать его можно на ту же live-флэшку, с которой буду грузиться.
Итак, план действия:
- создание бэкапа;
- форматирование, разметка диска, создание файловой системы;
- восстановление бэкапа;
- создание MBR;
- тестирование и устранение неполадок.
1. Создание бэкапа
Грузимся с live-флэшки, у меня это debian-live-7.8.0-amd64-standard.
Переключаемся на root:
Монтируем раздел, который будем архивировать, у меня это sda1, чтобы случайно не наломать дров, монтируем только для чтения. Посмотреть все свои разделы можно при помощи команд ls /dev | grep sd или df -l
Наша флэшка уже примонтирована, но в режиме только чтения, нужно перемонтировать для чтения-записи, чтобы писать туда бэкап.
Все готово для создания архива
Здесь у нас параметры: c — создать архив, v — выводить информацию о процессе, z — использовать сжатие gzip, p — сохраняем данные о владельцах и правах доступа, f — пишем архив в файл, путь к файлу, — exclude — исключаем из архива каталог (я исключил каталоги с записями разговоров и каталог с бэкапами FreePBX), /mnt/ — каталог, который архивируем.
Ждем… у меня вся подготовка и создание архива заняли 10 минут. Будь флэшка быстрее, уложился бы в 7–8 минут.
Складываем архив в надежное место за пределами офиса.
Восстановление бэкапа на другом железе
2. Размечаем диск, создаем файловую систему
Грузимся с live-флэшки, у меня все та же debian-live-7.8.0.
Переключаемся на root:
Размечаем диск. Мне понравилась утилита с псевдографическим интерфейсом cfdisk. Там все просто и понятно.
Удаляем все имеющиеся разделы. Я создал два новых раздела, один на 490 Gb под / (sda1) и 10 Gb под swap (sda2) в конце диска, т.к. он практически не будет задействован. Проверим типы разделов. Который под систему должен иметь тип 83 Linux, второй — 82 Linux swap / Solaris. Помечаем системный раздел загрузочным (bootable), сохраняем изменения и выходим.
Cоздаем файловую систему на первом разделе.
3. Распаковываем архив.
Монтируем отформатированный раздел
Распаковываем архив прямо с флэшки
Параметр — same-owner — сохраняет владельцев у распаковываемых файлов, x — извлекаем из архива, v — выводить информацию о процессе, p — сохраняем права доступа, f — указываем файл, который распаковываем, C — распаковываем в категорию.
4. Создаем MBR на новом диске.
Чтобы корректно создать загрузочную запись, монтируем рабочие каталоги к нашему будущему root-каталогу, у меня это /mnt. Каталоги /dev и /proc сейчас используются live-системой, используем параметр bind, чтобы они были доступны сразу в двух местах:
Переключаемся на новую систему используя chroot:
Делаем swap-раздел для новой системы:
Подключаем его же:
Чтобы grub работал, нужно указать ему правильные UUID разделов в fstab, сейчас там прописаны разделы предыдущей системы:
Открываем второй терминал (Alt+F2) под root:
И видим текущие UUID разделов.
Вручную переписываем их в fstab переключаясь между Alt+F1 и Alt+F2. Да, муторно, но попытки копировать занимали у меня больше времени, чем переписывание. Сохраняем fstab.
Устанавливаем grub2. У меня один физический диск, поэтому ставим его на sda:
На чистый диск должно встать без ошибок. Обновляем информацию из fstab:
Возвращаемся в Live-систему:
Размонтируем все каталоги:
Если вылазят процессы, которые используют эти каталоги, убиваем их используя fuser.
Все, поехали. Грузимся с жесткого диска:
Здесь статья должна была закончиться, но у меня возникли проблемы с подключением к интернету. Сервер видит сеть, видит компьютеры в ней, но в интернет не ходит… а это как бы важно для телефонии.
5. Тестирование и устранение неполадок.
Показывет интерфейсы eth1 и lo, гугление сказало, что gateway можно прописать только подключению eth0, остальные рассчитаны только на работу внутри сети.
Похоже, отсутствие eth0 вызвано способом переноса системы. Находим файл, который отвечает за нумерацию интерфейсов, смотрим туда:
Действительно, там два активных интерфейса, определенных MAC’ами. Комментируем первый, второму прописываем eth0.
Перезапуск /etс/init.d/networking не помог, поэтому перезагружаемся:
Подключаем донглы, проверяем, все работает.
Источник
Перенос Linux на другой компьютер
Вступление
Хочу поделиться собственным опытом переноса системы на другой компьютер, целиком и полностью отличающийся аппаратной конфигурацией.
На самом деле, вариантов перенести систему много. Каждый имеет свой подход. Я же опишу способ, который больше всего подходит для новичков.
Что имеем
Итак, вот конфигурация моего исходного компа, с установленно ОС:
Материнка: Intel S3200shv
Процессор: Intel Core 2 Duo E8400
Память: 8Гб
Raid 1 ёмкостью 300 Гб
ОС: Fedora 12 i686
Будем для краткости называть его «донором».
Конфигурация компа назначния:
Материнка: Intel Desktop Board D845EBG2
Процессор: Celeron 2ГГц
Память: 512Мб
HDD 160 Гб
Это будет «пациент».
Как видите, системы различаются целиком и полностью. В том числе размеры жёстких дисков. Но в этом нет ничего страшного.
На исходной системе мои разделы имели такой вид:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/dm-6 5.0G 2.5G 2.2G 53% /
/dev/dm-1 194M 55M 130M 30% /boot
/dev/dm-5 4.0G 141M 3.7G 4% /tmp
/dev/dm-3 99G 257M 94G 1% /var/db
/dev/dm-7 2.0G 87M 1.8G 5% /var/log
/dev/dm-2 173G 229M 164G 1% /var/www
В кратком виде алгоритм будет таким:
1. Создать разделы у «донора», как Вы хотите.
2. Установить на комп назначения такую же систему, как на исходном компе.
3. Подключить к исходному компу HDD компа назначения
4. Скопировать файлы из разделов «донора» в разделы «пациента».
Многие вместо второго шага правят разделы вручную. Я предлагаю установку, поэтому этот способ как мне кажется, проще и универсальнее. Чтобы Вы не мучились с переустановкой загрузчика и правкой /etc/fstab.
Шаг первый
Я размечал свой HDD с помощью загрузочного диска pmagic. Удобно и наглядно.
Разделы я создавал «один-в-один» как и на исходном компе, только меньше размером, т.к. HDD «пациента» меньше.
Шаг второй
Установка Fedora на подготовленный HDD прошла быстро и без проблем. Правда, сначала не мог запустить её в графическом режиме, т.к. стояла планка только в 256 Мб. Пришлось заменить на 512 и процесс пошёл.
Шаг третий
Для начала советую провести у «донора» небольшую подготовку. Это установить kudzu:
yum install kudzu
На всякий случай с помощью dd создать бэкап исходной системы. Мало ли, вдруг что-то напутаете при копировании файлов из-за невнимательности?
Далее, выключаем оба компа, подключаем к «донору» винчестер HDD, на который мы только что установили такую же систему. Загружаемся с LiveCD.
Шаг четвёртый
Заходим в консоль, под рутом создаём 2 директории: /mnt/donor/ и /mnt/pacient/. Внутри каждой директории я создал поддиректории, и туда смонтировал разделы HDD «донора» в /mnt/donor/, а разделы HDD «пациента» в /mnt/pacient/.
Теперь можно начать копировать файлы. Но прежде, очень важное замечание! Есть некоторые исключения, которые не нужно копировать от «донора»! Создадим где-нибудь файл exclude_list, содержащий эти исключения:
/etc/fstab
/boot/grub/grub.conf
/proc
/sys
/dev
/mnt
/media
А теперь копируем файлы с пом. команды:
rsync -xrlptgoEv —progress —exclude-from=/путь/до/exclude_list /путь/откуда/копируем/ /путь/куда/копируем/
Аналогично выполняем вышеприведённую команду для всех смонтированных разделов. Только обязательно в конце «/путь/откуда/копируем/» указывайте слеш.
Перезагружаемся.
У меня после перезагрузки система стартовала без проблем. В логах ни на что не ругалась. Единственное, что пришлось сделать, это подредактировать файл /etc/sysconfig/network-scripts/ifcfg-eth0, т.к. скопировался MAC-адрес с компа «донора». Ну и автозагрузка программ исправил с помощью ntsysv.
Было бы классно, если бы с виндой можно было проделать такой же фокус.
Источник
Перенос Ubuntu с одного PC на другой PC (hdd)
Ситуация такая. Компания переезжает в новый офис. Взять с собой рабочий комп нельзя, вытащить hdd тоже, т.к. инвентарь. А очень хочется перетащить систему с собой на новый комп.
Как это сделать? Разметка простая, есть / где все, кроме /home, весит 14 гб. И есть /home, который 60 гб.
Может взять внешний hdd и перенести Ubuntu на него? Будет загружаться с него?
Смотрел эту тему: http://forum.ubuntu.ru/index.php?topic=121126.0 Как-то мутно, не совсем понятен способ с dd.
Собственно способ из ссылки
Система стоит на отдельном разделе, папка /home на другом, все остальные разделы смонтированы в /media
1. Очистка системы и корзины.
2. Вычищаю нулями все свободное пространство (выполнение заканчивается сообщением о том что нет пустого места) dd if=/dev/zero > /tmp/ZERO.file
3. Удаляю файл rm /tmp/ZERO.file
4. Закрываю все работающие программы (хотя можно и кино запустить посмотреть, главное ничего не ставить не обновлять) 5. Выполняю копирование со сжатием раздела в образ sudo dd if=/dev/sda1 | bzip2 > /media/disk1/backups/os_ubuntu_2010-10-30.iso
6. Получается 8гиб раздел со занятыми 4,5Гиб, жмется до 1.5 Гиб часа за 1.5-2, точно не замерял, но у меня и комп старенький Athlon X2 3800+ s939 и память DDR400
восстановление из бэкапа
1. Загрузиться с флэшки
2. смонтировать раздел с образом, и отмонтировать тот куда систему надо распаковать
3. распаковываю sudo bzcat /media/disk1/backups/os_ubuntu_2010-10-30.iso | dd of=/dev/sda2
4. перезагрузка и готово, система восстановлена.
Источник
Как без проблем перенести Linux на другой компьютер или поменять оборудование
Обычно, когда мы устанавливаем новую операционную систему, она всегда сопровождает нас, пока наш компьютер работает. Если в системе нет критической ошибки или если мы не хотим изменить себя, в настоящее время нет необходимости в форматировании. Однако, когда мы меняем компьютер или обновляем тот, который у нас есть, с помощью нового оборудования, большинство из нас обычно делают форматирование и установку операционной системы с нуля. Обычно это лучший способ убедиться, что все работает правильно с новым оборудованием. Однако бывают случаи, когда, если мы хотим, мы можем взять нашу операционную систему с собой. Особенно если мы используем Linux.
Windows очень чувствителен к изменениям оборудования. Мы можем изменить Оперативная память or CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР без проблем, так как для этого не нужны специальные драйверы. Но когда изменение больше, например, графика, необходимо предварительно удалить драйверы. И, когда в материнская плата, мы не сможем перезагрузить компьютер напрямую, пока не переустановим систему.
Linux также нужны собственные драйверы для распознавания оборудования и работы. Разница в том, что эта операционная система не настроена на использование определенных драйверов, а скорее анализирует оборудование и находит и загружает нужные драйвера при запуске . Это дает нам большую гибкость, например, при смене оборудования. Хотя у нас всегда будут некоторые ограничения.
Конечно, это не исключает, что если что-то пойдет не так, давайте увидим Kernel Panic, эквивалент синего экрана Windows.
Измените оборудование или ПК в системе Linux
Linux гораздо снисходительнее, когда дело касается замены компьютерного оборудования. В зависимости от компонента, который мы собираемся изменить, нам, возможно, придется выполнить те или иные настройки.
Сменить RAM
Если мы собираемся менять только оперативную память, то ничего делать не нужно. Эта память не требует дополнительной настройки или каких-либо драйверов для работы операционной системы. Следовательно, мы можем без проблем расширять или уменьшать эту память.
Что нужно иметь в виду
Единственное, что нам нужно сделать, это убедиться, что вся память распознается в BIOS или UEFI ПК, и все. Когда мы запустим Linux, мы сможем использовать всю эту память. Кроме того, да, мы должны убедиться, что установленная память является минимумом, необходимым для правильной работы системы и программ.
Замените жесткий диск (или переместите Linux на SSD)
Когда мы меняем жесткий диск, мы обычно ищем два преимущества: больше доступного места и лучшую производительность. Особенно когда мы идем в SSD. Обычно, когда мы монтируем новый жесткий диск в ПК, мы устанавливаем операционную систему с нуля. Однако мы можем сохранить всю эту работу, если выберем клонирование диска.
Используя программу клонирования (например, Clonezilla), можно перенести все данные и все разделы со старого диска на новый SSD. Таким образом, у нас может быть наш Linux в том виде, в каком он был у нас, без необходимости переустанавливать его с нуля.
Что нужно иметь в виду
Единственное, что нужно помнить после внесения этого изменения, — это убедиться, что все данные и разделы находятся на новом диске. Если мы поменяли жесткие диски, некоторые точки монтирования могут работать неправильно. Поэтому нам нужно проверить fstab, чтобы убедиться, что точки монтирования соответствуют новым разделам.
Кроме того, если мы используем SWAP, мы должны проверить, что раздел также был создан и правильно назначен, или изменить и использовать файл подкачки.
Команда «sudo update grub» обычно помогает устранить неполадки в этом разделе.
Сменить процессор или ЦП
Как и в случае с ОЗУ, изменение процессора обычно не влияет на операционный уровень дистрибутива Linux.
Что нужно иметь в виду
В зависимости от производителя и модели нашего процессора может быть выпущен ряд микрокодов для уменьшения уязвимостей или повышения производительности процессора. Обычно они устанавливаются в виде модулей ядра, и, хотя они обычно не становятся работоспособными после переключения ЦП, их может потребоваться удалить.
Если у нас нет глубоких знаний о ядре Linux, самый быстрый способ — это загрузить и установить новое ядро в наш Linux и начать с него из GRUB.
Заменить материнскую плату
Большинство драйверов материнской платы обычно входят в состав ядра. Обычно для этого не требуется использовать проприетарные драйверы. Поэтому смена материнской платы обычно не вызывает проблем при повторной загрузке Linux. Единственное, что может занять немного больше времени, чем обычно, в первый раз, так как необходимо будет обнаружить и записать изменение в оборудовании, но в противном случае у Linux не будет проблем с загрузкой.
Что нужно иметь в виду
Если материнская плата, которую мы собираемся смонтировать, очень новая, нам обязательно придется обновить ядро нашего Linux, чтобы обеспечить лучшую совместимость, особенно с набором микросхем, Интернетом и звуком.
Изменить графическую карту
Смена графики, наверное, самое сложное, что мы можем найти в Linux. Особенно если мы установили проприетарные драйверы от AMD or NVIDIA в дистрибутиве. Чтобы использовать новую графику, первое, что мы должны сделать, это удалить текущие драйверы, а затем установить новые.
Вполне вероятно, что после смены графики наш линукс не запускается, или делает это на черном экране. Чтобы избежать этого, мы должны войти в меню загрузки GRUB и отметить один из следующих параметров в качестве параметра: nomodeset, nouveau.modeset = 0, nvidia.modeset = 0 или radeon.modeset = 0.
Что нужно иметь в виду
В Linux есть бесплатные драйверы для AMD, Intel и NVIDIA. Поэтому лучшее, что мы можем сделать, это удалить проприетарные драйверы перед изменением графики, чтобы снизить вероятность того, что что-то пойдет не так.
Загрузка и компиляция нового ядра после изменения графика может помочь нам решить проблемы, удалив все компоненты и модули старого драйвера, которые могли остаться в нем.
Команда «sudo update grub» также может помочь решить эти проблемы.
Проблемы с Linux? Переустановите систему
Если после вышесказанного, после замены части аппаратного обеспечения ПК у нас все еще есть проблемы, то нам остается только одно: переустановить систему.
Мы должны загрузить последнюю версию нашего дистрибутива с его основного сайта, создать загрузочный диск и приступить к установке системы с нуля. Таким образом мы гарантируем, что у вас не возникнет проблем с совместимостью или вам придется выполнять другие настройки.
Источник