Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.033 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Описание процесса переноса Ubuntu/Debian на другой винчестер
Я думаю что у многих была такая ситуация когда, появляется необходимость перенести систему с одного винта на другой. Вот и у меня назрела такая необходимость.
И так имеем:
Установленную систему на диск объемом 80 Гб (второй канал SATA — sdb). На диске одна пратиция /deb/sdb1, swap у системы отсутствует.
Необходимо сделать:
перенести систему на другой винчестер объемом 320 Гб, подключенный на первый канал SATA (sda), создать и подключить на новом винчестере раздел подкачки swap, каталоги пользователей разместить так же на отдельном разделе.
Поехали:
Выключаем компьютер (система установлена на винчестере в партицию sdb1)
Подключаем второй винт на первый канал SATA (винт приемник — sda)
Грузимся с LiveCD
Запускаем Gparted и создаем партиции, которые в дальнейшем будем использовать для SWAP, / и home
- SWAP — 4 Gb, FS — SWAP (sda1)
- / — 40 Gb (sda2), FS — ext4 //* Важно. Сделать партицию bootable
- home — 251 Gb (sda3), FS — ext4
Далее: открываем терминал и создаем в директории /mnt поддиректории:
sudo mkdir /mnt/oldsys
sudo mkdir /mnt/newsys
sudo mkdir /mnt/newhome
Монтируем партиции на созданные директории
sudo mount /dev/sdb1 /mnt/oldsys # для монтирования корневого раздела старого винта
sudo mount /dev/sda2 /mnt/newsys # для монтирования корневого раздела нового винта
sudo mount /dev/sda3 /mnt/newhome # для монтирования раздела на новом винте, который будет использоваться под /home
Копируем данные из директории /mnt/oldsys/home в /mnt/newhome, те же действия необходимо выполнить и для /mnt/oldsys, только теперь из процесса копирования нужно будет исключить директорию /mnt/oldsys/home, так-как копия этой директории была сделана до этого. Для этого я использовал утилиту rsync:
sudo rsync -qaHEAXh —progress /mnt/oldsys/home/* /mnt/newhome
sudo rsync -qaHEAXh —progress —exclude ‘home’ /mnt/oldsys/* /mnt/newsys
Следующим номером нашей программы будет правка файла /etc/fstab: по умолчанию в fstab вместо имен файловых систем (на пример: /dev/sdb1) используются их UUID, если не планируется подключать диск к разным SATA каналам или переносить его на другой компьютер, то можно явно прописать имя файловой системы, в нашем случае выглядеть это будет так:
proc /proc proc defaults 0 0
/dev/sda1 swap swap defaults 0 0
/dev/sda2 / ext4 errors=remount-ro 0 1
/dev/sda3 /home ext4 defaults,owner,nodev 0 2
В противном случае, если требуется использовать UUID, то его можно получить с помощью утилиты blkid:
sudo blkid /dev/sda2
/dev/sda2: UUID=»e681c419-5ba5-4b78-ac00-def757e65585″ TYPE=»ext4″
Теперь необходимо перенести grub, так-как в ubuntu 9.10 используется grub 2 перенос происходит несколько иным путем нежели старый груб:
Перед установкой груба я сделал следующие шаги (не обязательно)
Размонтировал /mnt/oldsys:
sudo umount /mnt/oldsys
Размонтировал /mnt/newhome:
sudo umount /mnt/newhome
Далее с помощью команды mount следует сделать перемонтирование каталогов /dev и /proc в каталоги /mnt/newsys/dev и /mnt/newsys/proc соответственно, используя при этом опцию –bind — это нужно для того чтобы в окружении chroot в директории /dev имелись файлы устройств /dev/sda*:
sudo mount —bind /dev /mnt/newsys/dev
sudo mount —bind /proc /mnt/newsys/proc
Чрутимся в /mnt/newsys/
sudo chroot /mnt/newsys /bin/bash
Создаем device.map для grub
sudo grub-mkdevicemap
В результате выполнения этой команды в /boot/grub/ будет создан файл device.map следующего содержания (на разных системах будет выглядеть по разному) у меня так:
(hd0) /dev/sda
(hd1) /dev/sdb
Создаем кофигурационный файл для grub
grub-mkconfig > /boot/grub/grub.cfg
Если ошибок не вылезло и груб сказал примерно следуюущее
Generating grub.cfg…
Found linux image: /boot/vmlinuz-2.6.31-17-generic
Found initrd image: /boot/initrd.img-2.6.31-17-generic
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
Found linux image: /boot/vmlinuz-2.6.31-15-generic
Found initrd image: /boot/initrd.img-2.6.31-15-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Устанавливаем grub. Так-как у меня в системе загрузочным диском будет выступать /dev/sda, то и устанавливаю я загрузчик в mbr этого винта:
sudo grub-install /dev/sda
(здесь вместо /dev/sda можно поставить hd0 см. файл /boot/grub/device.map).
Вывод этой команды для моей системы такой:
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install’.
(hd0) /dev/sda
Уходим из чрута
exit
Делаем umount для /dev, /proc и /mnt/newsys
sudo umount /mnt/newsys/dev
sudo umount /mnt/newsys/proc
sudo umount /mnt/newsys/
Перезагружаемся, если все сделано правильно, то система должна загрузится без проблем.
Перенос 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 с одного компьютера на другой
Есть две машины, одна обычный компьютер на i3, на нём стоит ubuntu 16.04 server , я веду на нём разработку. И вторая, 4-процессорный сервер, точную комплектацию не знаю, но в общем это серверная материнка. Можно ли перенести систему с компьютера на сервер? Если бы это была одна и таже конфигурация, можно было бы просто сделать побитовое копирование. а потом осталось бы только настроить сеть. А вот если это 2 разных компьютера? Возможно ли это в принципе ? Если да то какие возникнут проблемы. Сразу понятно что будут траблы с драйверами. А с чем еще? И вообще есть ли смысл этим заниматься или проще руками установить систему, и весь софт установить с нуля?
- ubuntu
- резервное-копирование
Отслеживать
задан 30 мая 2018 в 9:20
883 1 1 золотой знак 12 12 серебряных знаков 29 29 бронзовых знаков
Начнём с того, что конфигурирование сервера должно осуществляться специальными автоматизированными инструментами вроде Ansible, а не вручную. А вообще систему можно запаковать в tar-архив, распаковать где надо и установить загрузчик для загрузки с распакованной системы (хотя возможно понадобится fstab обновить)
30 мая 2018 в 9:51
гы-гы интересная постановка вопроса а слабо на другую аппаратную платформу перенести без перетрансляции ядра?
30 мая 2018 в 9:54
набор процессорных инструкций аналогичный? копируйте (проще всё блочное устройство) и запускайте. p.s. того, что пользователи ms/windows подразумевают под словом «драйвер», в операционной системе gnu/linux нет по определению. соотвтественно, и «проблем с драйверами» нет.
30 мая 2018 в 10:25
@alexanderbarakin , ну это RISC процессоры оба, поидее набор инструкций одинаковый. .. . про драйвера да=) , я новичёк в linux, а как это устроено ? расскажите в крации
30 мая 2018 в 10:56
для вашей задачи — изначально есть замечательные средства (docker напрмер). И не надо будет переносить и настраивать ничего
30 мая 2018 в 11:32
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
да, конечно можно, если набор команд «старого» процессора идентичен (или является подмножеством) набору команд «нового» процессора.
простейший способ: переставляете блочное устройство в новый компьютер и загружаетесь с него.
если переставить блочное устройство возможности нет, надо скопировать его содержимое (понятно, что «новое» блочное устройство должно быть не меньше «старого»). для этого оба блочных устройства не должны использоваться (можно загрузиться с любого live-cd/dvd/usb с операционной системой gnu/linux).
если блочные устройства подключены к одному компьютеру:
$ sudo cp /dev/старое /dev/новое
если к разным, и есть доступ по протоколу ssh под учётной записью root:
$ sudo cat /dev/старое | ssh root@новый-компьютер 'cat > /dev/новое'
сразу после копирования, при необходимости, можно увеличить размер нужных разделов (или создать новый/-е).
для ускорения передачи по сети поток можно сжать, пропустив его, например, через пару gzip+gunizp:
$ sudo cat /dev/старое | gzip | ssh root@новый-компьютер 'cat | gunzip > /dev/новое'
альтернатива вышеизложенному — какие-нибудь специализированные live-cd типа acronis и т.д. и т.п. но ввиду того, что они делают, в сущности, ровно то, что изложено выше, а из-за «юзер-френдлести» все подробности «скрыты под капотом», я настоятельно рекомендую пользоваться такими «помогателями» только весьма опытным пользователям, которые будут в состоянии «разрулить» возможные проблемы, основываясь на довольно скудной выдаваемой подобными «помогателями» информации.
- Как в Linux клонировать диск в диск другого размера
- Как создать резервную копию всего сервера ubuntu 9 с помощью Live CD?
- Клонирование установленной системы (X)Ubuntu
- Как перенести всю систему Linux на другой диск?