Как клонировать жесткий диск с linux на другой жесткий диск
Пункт 3 — гон насчет дисков разного размера. Если диски разного размера, то как у них потом разделы оказываются одинакового раздела ?
Видимо автор не понимает о чем пишет или я совсем тупой 😉
Предлагаю эту статью удалить или переписать заново дабы не вводить молодежь в заблуждение .
Опять же файловая система может быть отформатирована не с параметрами по умолчанию. Например XFS на RAID — у XFS есть опции именно для оптимизации под RAID. А если следовать автору, то mkfs.xfs — самое оно. Хотя он потом все равно dd сделает, так что чего я так страдаю 🙂
Аникин
Связаться со мной:
Перенос linux на другой диск на примере debian/ubuntu
Навеяно статьей про перенос freebsd на другой диск. Будем делать тоже самое но на linux. В linux все несколько сложнее.
Для начала нужно подсоединить новый диск и загрузится. В системе должны присутствовать 2 диска, первый с нашей системой, а второй пустой. Второй мы можем разметить по своему усмотрению или же скопировать разметку с первого диска(если второй диск идентичен первому). Как скопировать разметку можно прочесть здесь. Как разметить вручную думаю разберётесь сами, благо мануалов в интернете полно. После создания разметки разделы надо отформатировать примерно так.
# mkfs.ext4 /dev/sdb1
Затем примонтируем его в /mnt
# mount /dev/sdb1 /mnt
Теперь нам нужно создать дампы разделов, в данном случае нужно создать только дамп sda1. Установим утилиты dump/restore.
# apt-get install dump
И создаем дамп раздела в файл /mnt/root.img
# dump -0f /mnt/root.img /
Создание дампа в /mnt/root.img возможно когда на разделе используется менее 50% от /dev/sdb1. Иначе на разматывание дампа места не хватит. В остальных случаях нужно создавать дамп в другом месте, но не в разделе корня, чтобы дамп не мотал сам себя. Можно использовать раздел другой тачки примонтированный по sshfs, я проверял это прекрасно работает.
Переходим в /mnt и разматываем дамп.
# cd /mnt # restore -rf /mnt/root.img
Как видим раздел перенесся на /dev/sdb1. Если у нас /boot на отдельном разделе, то переносим его аналогично.
Теперь нам нужно установить загрузчик.
# grub-install --root-directory=/mnt /dev/sdb
Затем если требуется правим /mnt/etc/fstab и меню grub в /mnt/boot/grub/grub.cfg.
# nano /mnt/etc/fstab # nano /mnt/boot/grub/grub.cfg
Тут немного поясню зачем проверять и править эти файлы. У меня например в этих файлах были прописаны uuid разделов, и если мы уберем старый диск то ОС соответственно не загрузится, т.к у новых разделов у нас другие uuid. Я вместо uuid прописал реальные устройства корня и свопа /dev/sda1 и /dev/sda3. Все устройства sdb, станут у нас sda после извлечение первого диска.
Теперь выключаем тачку, отсоединяем первый диск и загружаемся с нового диска.
P.S. Утилиты dump и restore не ограничиваются переносом ОС с одного диска на другой. Таким образом можно переносить linux вообще на другую тачку с другим железом и дисками. Процедура почти такая же за небольшими изменениями.
- На первой тачке создаем дамп ОС;
- Загружаем вторую тачку с livecd;
- Размечаем и форматируем диски;
- Копируем туда дамп c первой тачки(по scp, например);
- Разворачиваем дамп с помощью restore;
- Устанавливаем загрузчик;
- Загружаемся.
Переносим систему с одного жесткого диска на другой
Тут можно воспользоваться любым из инструментов: Acronis, Clonezilla, dd, Symantec Ghost и так далее. Цель — получить копию старого диска, а затем распределить дисковое пространство удобным образом (если новый диск больше, можно воспользоваться GParted).
Запуск новой системы
Если просто так вставить свежесклонированный диск и попытаться с него загрузиться, нас ждет облом. Ошибка примерно будет выглядеть так:
ALERT! /dev/disk/by-uuid/. does not exist. Dropping to a shell.
Причина проста — новый диск имеет свой UUID, а в Убунте идет привязка как раз по этому идентификатору.
Есть два пути лечения этого вопроса:
Подключить диск и внести изменения, затем нормально загружаться.
Внести изменения в процессе загрузки.
В любом случае необходима правка двух файлов: /boot/grub/grub.cfg и /etc/fstab
Узнать UUID разделов можно командой
$ sudo blkid
Вносим изменения при загрузке
Включаем компьютер, держим зажатой клавишу SHIFT . Попадаем в меню загрузчика Grub. Выбираем ядро, которое будет загружаться (рекомендуется то, что выбрано по умолчанию), нажимаем клавишу E — попадаем в редактирование параметров загрузки. Они выглядят примерно так:
recordfail insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set f574c37f-4053-e13a-1ad1-2db23f911266 linux /boot/vmlinuz-2.6.32-34-generic root=UUID=f574c37f-4053-e13a-1ad1-2db23f911266 ro quiet splash initrd /boot/initrd.img-2.6.32-34-generic
Вносим изменения, чтобы все стало примерно так:
recordfail insmod ext2 set root='(hd0,1)' linux /boot/vmlinuz-2.6.32-34-generic root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-2.6.32-34-generic
Примечание: /dev/sda1 предполагает SATA-диск, первый раздел.
Отредактировав, жмем X и продолжаем загрузку.
Далее нужно внести изменения в fstab и grub.cfg
Узнаем наши новые UUID (командой sudo blkid), вносим изменения в /etc/fstab
Вносим изменения в /boot/grub/grub.cfg командой
$ sudo update-grub
Перезагружаемся, смотрим все ли работает.
Клонирование жёсткого диска на Linux
То, что вы работаете в операционной системе Linux, не означает, что вы не будете время от времени сталкиваться с проблемами. Всегда хорошо иметь план резервного копирования, на случай, если возникнет проблема. Возможно, редкий вирус Linux будет атаковать; возможно, вы будете жертвами мошенников-вымогателей. Может быть, жесткий диск (HDD) выйдет из строя.
Клонируя жесткий диск Linux, вы создаете образ диска, который можно восстановить позже. Но как вы клонируете свой жесткий диск Linux?
Инструменты клонирования дисков Linux
Ваша установка Linux может привести к ошибке; Вы можете обновить жесткий диск до большего объема. Безотносительно проблемы, если у вас есть резервная копия вашего диска, восстановить и запустить все будет относительно просто.
В Linux есть четыре решения для клонирования дисков, которые вы должны рассмотреть:
Используете ли вы функции, встроенные в вашу операционную систему Linux, или устанавливаете сторонний инструмент, не должно пройти много времени, прежде чем вы сможете восстановить свою систему и запустить ее.
Давайте рассмотрим каждый из четырех основных вариантов клонирования диска в Linux.
1. dd: инструмент для клонирования Native Linux
Возможно, самый мощный инструмент Linux из всех, dd (иногда называемый «разрушитель диска»), может клонировать весь жесткий диск или раздел диска в другой. Но в случае неправильного использования он может удалить содержимое вашего диска.
Таким образом, вы должны использовать с особой осторожностью. Вы найдете dd встроенный в большинство операционных систем Linux. Если нет, установите его из менеджера пакетов. Чтобы клонировать жесткий диск вашего компьютера, используйте команду:
dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync
Здесь sdX — это исходный диск, а sdY — место назначения. Числовое значение 64K соответствует команде размера блока, bs. Значение по умолчанию составляет 512 байт, что очень мало, поэтому лучше включить 64K или более 128K в качестве условия. Однако: хотя больший размер блока делает передачу быстрее, меньший размер блока делает передачу более надежной.
Если вы хотите клонировать только раздел вашего диска, используйте
dd if=/dev/sda1 of=/dev/sdb1 bs=64K conv=noerror,sync
Как вы можете видеть, раздел sda1 (то есть раздел 1 на устройстве sda) будет клонирован в sdb1 (вновь созданный раздел 1 на устройстве sdb), например, вторичный или внешний жесткий диск, подключенный к вашему компьютеру.
Нажмите Enter, чтобы запустить команду. Сколько времени это займет, будет зависеть от размера диска или раздела. Просто убедитесь, что объем назначения достаточно велик для его хранения!
2. Инструмент клонирования разделов Linux, Partimage
Если вы столкнулись с проблемами, пытаясь разобраться с инструкциями с помощью dd, или предпочли бы избежать случайного удаления вашего жесткого диска с опечаткой, partimage также доступен для большинства дистрибутивов и не несет риска «уничтожения диска»!
Однако partimage не поддерживает файловую систему ext4, поэтому избегайте ее использования для клонирования дисков или разделов этого типа. Однако при необходимости его можно использовать для клонирования дисковых форматов Windows (FAT32 или NTFS, хотя это экспериментально), а также для более широко используемой файловой системы Linux ext3 и других более старых альтернатив.
Перед началом убедитесь, что раздел, который вы хотите клонировать, отключен ( с помощью команды umount ). В противном случае вам нужно будет выйти из partimage, прежде чем продолжить процесс. Вы можете выйти в любое время с помощью клавиши F6 .
Для Ubuntu установите:
sudo apt install partimage
Запустите из командной строки:
sudo partimage
Это приложение, управляемое мышью, которое требует, чтобы вы сначала выбрали раздел, который нужно клонировать.
Нажмите вправо на клавиши со стрелками, чтобы перейти к следующему разделу, затем Image file to create/use и дайте ему имя (или введите имя файла изображения, которое будет восстановлено).
Выберите Action to be done (убедитесь, что у выбранной опции есть звездочка) и нажмите F5, чтобы продолжить. На следующем экране выберите уровень сжатия и предпочитаемые параметры. Вы также можете выбрать режим разделения изображений и указать, что должно произойти после создания резервной копии.
Нажмите F5, чтобы продолжить, подтвердите данные, затем нажмите OK, чтобы начать процесс. Скорость этого будет зависеть от мощности вашего компьютера.
Если вы ищете быстрое и грязное, но безопасное решение для клонирования дисков для Linux, используйте partimage.
3. Partclone: программное обеспечение для создания разделов и клонирования
Для более зрелой альтернативы dd, которая поддерживает резервное копирование файловой системы ext4, partclone прост в использовании, но опять же требует текстовых команд, а не интерфейса, управляемого клавиатурой или мышью. Установить с помощью:
sudo apt install partclone
partclone.[fstype]
… Где [fstype] — тип файловой системы раздела, который вы хотите клонировать.
Следующая команда создаст образ диска hda1 (жесткий диск 1, раздел 1) с именем hda1.img:
partclone.ext3 -c -d -s /dev/hda1 -o hda1.img
Возможно, вы захотите восстановить это изображение, поэтому используйте
partclone.extfs -r -d -s hda1.img -o /dev/hda1
Более подробную информацию об использовании можно найти на сайте partclone.
4. Клонируйте свой диск Linux с помощью Clonezilla
Для более гибкого решения, почему бы не попробовать Clonezilla? Это популярное решение для аварийного восстановления основано на Partclone и предназначено для ряда задач клонирования дисков. Поддерживаются все ожидаемые файловые системы в Linux, Windows и MacOS (и за ее пределами).
В отличие от dd и Partclone, Clonezilla доступен в виде загрузочного ISO. Вы можете записать это на DVD или USB-накопитель, чтобы полностью клонировать жесткий диск Linux. Clonezilla проста в использовании, с меню на клавиатуре, а не с непонятными командами, так что любой может справиться с этим.
Хотя Clonezilla можно настроить как отдельную утилиту, вы можете предпочесть использовать ее как часть инструмента восстановления Boot CD от Hiren.
Вы также можете использовать Clonezilla на профессиональном уровне, чтобы создавать изображения схожих настроек ПК с одной и той же операционной системой.
Клонировать ваш жесткий диск Linux легко
Если вы никогда ранее не клонировали жесткий диск, возможно, вы неохотно начинаете. Это может быть пугающим, особенно если вы находитесь в тяжелом положении с поврежденным жестким диском, который отчаянно нуждается в клонировании перед отказом.
Хотя вы можете предпочесть просто синхронизировать ваши важные данные в облаке, всегда полезно иметь полную резервную копию диска, которую можно быстро восстановить в случае системных ошибок. Однако не забывайте использовать эти инструменты с осторожностью, поскольку они могут легко привести к случайной потере ваших данных.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.