Перенос Linux на другой компьютер
Как сейчас можно наиболее просто перенести уже работающую систему на другой компьютер?
Все, что нахожу, это статьи 2010-11 годов, которые не внушают доверия.
Вытыкаешь диск и втыкаешь в другой комп его.
В первую очередь рассматриваю методы без физического вмешательства в работу компьютеров, в моем случае ноутбук и десктоп.
Снять образ на третий носитель и развернуть с лайва.
Что-то поменялось с тех пор?
Да хоть tar+netcat ^)
Кому как удобнее
у меня система с uefi уже например.
и не понятно, как там играться с загрузкой.
А по-твоему интернет —
это не физическое вмешательство?
Алхимическое может?
Как сейчас можно наиболее просто перенести уже работающую систему на другой компьютер?
Всё так, как написали, только убедись, что в initrd присутствует драйвер планируемого контроллера hdd, чтобы потом не доделывать. Хотя доделать потом тоже не сложно.
В части UEFI — efibootmgr.
Если из него грузится GRUB, то далее от него одинаково (только учесть установку grub на efi, в руководстве на GRUB описано).
Как сейчас можно наиболее просто
В первую очередь рассматриваю методы без физического вмешательства
ты уж определись. мамка комп раскручивать не разрешает, т.к «гарантия пропадет»?
ну скопируй через dd по сети, используя nbd.
Какой дистр? В ОпенСУСЕ в ясте это делается двумя кликами!
Писал об этом недавно Как перенести систему (Gentoo) с HDD на SSD? (комментарий) . Можно даже по сети скопировать все rsync-ом, он умеет это через ssh.
Делаешь архив работающей системы за исключением файлов и директорий, в которых может происходить изменение, далее любым способом разворачиваешь этот архив на целевое железо, можно и без архива, просто rsync, главное исключить изменяемые данные.
Далее chroot в развёрнутую систему и установка загрузчика нужно архитектуры, правка /etc/fstab и прочего.
В общем, примерно так же как в Gentoo Handbook, только заместо stage3 есть исходная система.
ЯННП, а зачем переносить систему с ноута на десктоп, или наоборот? Для ноута и десктопа скорее всего будут актуальны разные настройки, т.е. перенести 1 в 1 всё равно не получится без обработки напильником. Да, всякие live образы работают везде, но там специально предприняты меры, чтобы везде запускалось, пусть даже в ущерб производительности.
ИМХО лучше всё-таки накатить систему с нуля, а если нужны те же пакеты, что в исходной системе, то их можно доустановить просто по списку установленных.
Ну и конечно никаких dd, если уж так приспичило, то переноси tar-ом.
Кстати, очень удобный вариант, если оба компа доступны одновременно.
Нет. Никто напрямую не трогает ничего физически, кроме устройст ввода-вывода. Так что юзать интернет (хотя, тут скорее просто сеть) — не физическое вмешательство.
перенести уже работающую систему на другой компьютер
Это какое-то упражнение задали на дом, зачем так сложно?
лучше сделать по человечески ,накатить с нуля .
так то оно у тебя просто не включиться даже скорее всего .
не правильно называть это физическим вмешательством. интернет тоже имеет физический уровень по модели OSI.
Можно было сразу в вопросе написать как через сеть скопировать систему вместо того, чтобы писать как перенести ее. Проще всего перенести накопитель.
Форматируешь диск, копируешь всё, что копируется, правишь fstab, ставишь grub.
Very vague. Much incrompencible.
> в моем случае ноутбук и десктоп.
Это не есть, технически верное описание файловых систем на ноуте или десктопе.
Nazi линуксоиды оперируют в работе совершенно иными понятиями, холодно жестоко и нисколь не заботясь, что там — лаптом или сервер.
Вот с этого и начни.
Загрузись с Live USB Arch, запусти mc в консоле.
Исполни комманду lsblk — f && mkdir /mnt/
и HDD десктопа, вставь во внешний DVD девайс и смонтируй его на /mnt/sdd.
Почему у тебя нет внешнего Lite-On DVD девайса для подключения HDD — значит ты растяпа и совсем не линуксоид.
Живи, как тебе угодно дальше.
Пока не научишься работать с железом, заставляя оное послушно исполнять твои комманды, ты никто и ничто в этом мире.
Тред читал по диагонали, просто скажу, что на новом железе может потребоваться пересборка initramfs, чтобы ведро не запаниковало при загрузке.
Чтобя ядро не запаниковало — в mkinitcpio есть опция для создания no-failure boot-safe кернела.
Сходи в /boot своего компа и увидишь, что он есть и у тебя.
Не просто так. В loader, в том же /boot, достаточно поменять linux на linux-safe, или как называется спасительное ядро.
Источник
перенос линукса на другой компьютер
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.
Было бы классно, если бы с виндой можно было проделать такой же фокус.
Источник