Аникин
Связаться со мной:
Перенос linux на другой диск на примере debian/ubuntu
Навеяно статьей про перенос freebsd на другой диск. Будем делать тоже самое но на linux. В linux все несколько сложнее.
Для начала нужно подсоединить новый диск и загрузится. В системе должны присутствовать 2 диска, первый с нашей системой, а второй пустой. Второй мы можем разметить по своему усмотрению или же скопировать разметку с первого диска(если второй диск идентичен первому). Как скопировать разметку можно прочесть здесь. Как разметить вручную думаю разберётесь сами, благо мануалов в интернете полно. После создания разметки разделы надо отформатировать примерно так.
Затем примонтируем его в /mnt
Теперь нам нужно создать дампы разделов, в данном случае нужно создать только дамп sda1. Установим утилиты dump/restore.
И создаем дамп раздела в файл /mnt/root.img
Создание дампа в /mnt/root.img возможно когда на разделе используется менее 50% от /dev/sdb1. Иначе на разматывание дампа места не хватит. В остальных случаях нужно создавать дамп в другом месте, но не в разделе корня, чтобы дамп не мотал сам себя. Можно использовать раздел другой тачки примонтированный по sshfs, я проверял это прекрасно работает.
Переходим в /mnt и разматываем дамп.
Как видим раздел перенесся на /dev/sdb1. Если у нас /boot на отдельном разделе, то переносим его аналогично.
Теперь нам нужно установить загрузчик.
Затем если требуется правим /mnt/etc/fstab и меню grub в /mnt/boot/grub/grub.cfg.
Тут немного поясню зачем проверять и править эти файлы. У меня например в этих файлах были прописаны uuid разделов, и если мы уберем старый диск то ОС соответственно не загрузится, т.к у новых разделов у нас другие uuid. Я вместо uuid прописал реальные устройства корня и свопа /dev/sda1 и /dev/sda3. Все устройства sdb, станут у нас sda после извлечение первого диска.
Теперь выключаем тачку, отсоединяем первый диск и загружаемся с нового диска.
Как перенести систему на другой диск?
Нужно перенести систему на другой физический диск. Я собрался просто установить на него ту же Ubuntu 22.04, затем перегрузится в лайв режиме и скопировать все файлы со старого диска в новый. Затем поправить UUID в /ect/fstab.
Ничего не упускаю?
Почему просто не скопировать раздел и поставить загрузчик?
Я просто делаю cp -ax и правлю fstab
перед копированием обнови системы
Загрузчик. Ещё ты должен из chroot переставить загрузчик.
Я просто делаю pvmove и устанавливаю grub(-install) на новый диск
Когда я менял hdd на ssd я сделал просто dd ))
Про capabilities не забудь
Я делаю так: на исходной системе (из лайв-сиди):
- tar -czf /mnt/full.tgz —numeric-owner —exclude=swapfile .
- getfacl -R -s -n . > /mnt/file.acl
- getfattr -R -d -m — . > /mnt/file.attr 2>/dev/null
На целевой системе (тоже из лайв-сиди):
- tar -xf /mnt/full.tgz —numeric-owner
- setfacl —restore=/mnt/file.acl
- setfattr —restore /mnt/file.attr
- rmdir lost+found
- mklost+found
- fallocate -l 4G swapfile
- chmod 600 swapfile
- mkswap swapfile
Если инсталлируете на EFI из BIOSa, нужно удостовериться, что на исходной системе инсталлирован grub-efi. Тогда, когда сделаете chroot , grub не будет ругаться. Ну и, конечно, /etc/fstab подправить.
Раньше cp -ax и поправить загрузчик.
А сейчас у меня есть playbook, который за 10 минут развернёт мне обычную домашнюю систему
Короче не сработало. Просто не грузится. Черный экран. И так как в ноуте третье место по диск оказалось под sata ssd, то не получается воткнуть три диска — переставлять приходится (((
Перенос Ubuntu на SSD (комментарий) — вот тут я новичку реальный пример переноса делал.
mkfs.ext4 … /dev/sdb2 mkdir -p /mnt/
Я как-то пробывал стандартными метода перенесли систему с одного диска на другой с Debian 9, у меня тогда нерешаемые проблемы возникли с правами на доступ к файлам из-за pam.
мне очень помогла документация из openwrt.
рекомендую сперва посмотреть какая структура файловой системы, сколько томов и куда подключены.
Начинай с рута /, а лучше если сделать
это поможет дать доступ к корневому каталогу без остальных каталогов. ну и отсюда /oldroot в /newroot копируешь файлы, мне нравится rsync. но можно cp, tar и другие.
Затем действуешь также по остальным томам. и не забудь обновить /etc/fstab на новые uuid томов.
По-моему, вторая команда включает в себя первую, нет? Но всё равно спасибо, я раньше только одним tar или cp -a ограничивался, думал, он сохраняет все атрибуты.
Проблема в том что ctime сбрасывается.
Насчёт ctime не знаю.
Насчёт getfacl / getfattr сделайте просто из корня и посмотрите образовавшиеся текстовые файлы. У меня на небольшой системе они по прибл. 5 КБ.
Там нет опции чтобы не прыгать на другие файловые системы. Почти все записи в /dev и /proc
Ещё в одном треде getcap упоминали.
А вы попробуйте из лайв-сиди. У меня никуда не прыгает. Я делаю эту процедуру в двух случаях:
- перенос системы (как у ТС)
- бекап консистентного состояния системы. Файлы в /home я исключаю опцией —exclude в tar е. Дот-файлы включаю.
Я не хочу перезагружать систему только из-за проверки этой штуки.
Вообще, в tar е есть опции —xattrs , —acls , но я их не использую, потому что тар в последний раз с ними ругался, что он не может что-то там «create» в контексте ACL. Возможно, это связано с этим багом — https://savannah.gnu.org/bugs/?61934 . Стал делать как раньше — с getfacl / getfattr .
Потому что cp и rsync по умолчанию не копируют владельца и права
Я собрался просто установить на него ту же Ubuntu 22.04
Может лучше Linux Mint?
Понадобится еще не раз:
Звезды вроде не нужны. Я эту команжду лет 5 назад записал.
Я что-то запамятывал, что не все файлы нужно копировать, потому как есть куча виртуальных файлов и устройств. Всякие /tmp, /run, /proc даже создавать не надо, их вроде система сама создает, если не существует
Да-да, копировать файлы можно прямо на «живой» системе. Вероятность что что-то сломается есть, но я раньше всегда так делал… но УМВР это плохой аргумент все же. На сервере так лучше не делать, потому как если индекс каким-то корявым будет, то базу похеришь
не. он без точки. ты со своим zfs забыл уже
Используй Clonezilla – она все сделает сама. Можно на лету, можно через образ.
Перенос linux mint на другой диск
Такая задача возникает достаточно редко. Обычно, проще переустановить систему заново, чем переносить уже установленную версию на другой жёсткий диск или другой раздел. Но если у вас там есть важные программы, которые нежелательно удалять, или вы меняли настолько много настроек в системе, что её установка заново займёт намного больше времени, чем её перенос, то перенос будет предпочтительнее.
В этой статье мы рассмотрим, как перенести Linux на другой диск с помощью утилиты cp или архива tar. Второй способ интересен ещё тем, что вы можете создать резервную копию всей системы, а затем просто восстановить её при возникновении проблем.
Как перенести Linux на другой диск
Поскольку все данные, настройки и объекты операционной системы Linux — это файлы, то вы можете перенести свою операционную систему куда нужно, просто скопировав все нужные файлы. В Windows так де просто не получится, так, как там более сложная файловая система со сложными зависимостями.
1. Подготовка к переносу
Сначала рассмотрим, как использовать утилиту cp для переноса файлов операционной системы. В папку /mnt примонтируйте раздел, на котором будет располагаться новый Linux. Например, это /dev/sdb1:
sudo mount /dev/sdb1 /mnt
Теперь нужно рекурсивно скопировать все файлы из текущего корня в нашу папку /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/
Если вам не нужна домашняя папка, то вы можете её не копировать.
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:
sudo vi /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:
sudo grub-install /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.
Перенос Линукс с HDD на SSD
Расскажу подробно, как я делал перенос своих настроенных систем Линукс, установленных на HDD, на купленный SSD. В теорию, как обычно, вдаваться не буду, только практика.
Итак, купил я SSD 480 Гб. Естественно, SSD нужен не для хранения фильмов и музыки, а для установки операционной системы, так как именно твердотельные накопители обеспечивают быструю работу системы. У меня на жёстких дисках были установлены, настроены и прекрасно работали три ОС Линукс: Debian Buster, Arch Linux и Calculate Linux. Понятно, что мне совершенно не улыбалось переустанавливать и перенастраивать рабочие системы. Оставался простой выход — перенести системы на SSD как есть, грубо говоря, скопировать. Опыт работы с cp, tar, rsync и Clonezilla у меня был, оставалось выбрать один из этих способов и применить.
Cp — шелл-команду копирования я применять не стал, не знаю, почему. Просто не захотел. Хотя она наверняка сработала бы без проблем. Нужно было лишь смонтировать разделы в точки монтирования и написать в консоли команду sudo cp -a /mnt/XXX /mnt1/XXX (о том, как и что монтировать, скажу ниже) — и далее.
Архиваторы tar и Clonezilla я не стал применять потому, что потребовалось бы куда-то записать архив (лишнее место), а потом его разархивировать.
Остановился я на утилите синхронизации rsync.
Скорее всего, rsync не установлен в системе по умолчанию, значит, надо его установить. Что проще? Соответствующей своей ОС командой установки (apt — Debian, pacman — Arch, yum — RHEL, urpmi — Rosa, zypper — OpenSuse, в общем, каждый должен уже знать, какой командой в его системе устанавливаются программы) устанавливаем rsync. Для Дебиан и всех его производных: sudo apt install rsync. Всё, rsync установлен.
Теперь нужно подготовить новый SSD (если кто-то решил переносить на HDD никакой разницы нет). То есть нужно создать необходимые разделы на диске. Можно воспользоваться консолью или консольными программами cfdisk, parted, но мне в данном случае удобнее использовать графический GParted — так всё нагляднее, меньше шанс сделать ошибку. Поскольку я переносил 3 системы, разбивка была достаточно сложной, но обычно люди пользуются одной ОС, поэтому для простоты я опишу перенос одной ОС.
Итак, запускаем GParted и создаём разделы. Понятно, сперва выбираем свою разметку: MBR или GPT, — затем уже разделы. Можно сделать один общий раздел, можно хоть 5-6 разделов для одной системы, но я обычно делаю три раздела: /boot, /, /home. Но в самом начале диска я оставляю 1-2Мб неразмеченного пространства (для MBR, в GPT нужно размечать немного иначе). Затем создать /boot размером 1-2Гб в файловой системе ext2, / (корневой раздел) размером от 20 до 50 ГБ (у меня в файловой системе btrfs (самый оптимальный вариант для SSD), но никто не мешает Вам форматировать / в другую ФС: ext4 или reiserfs, кому что больше нравится). И наконец /home, размер которого определяете исходя из возможностей и надобностей. У меня /home 100Гб и тоже в btrfs. И, что бы там ни говорили о том, что производители SSD уже резервируют часть диска для переопределения испорченных ячеек, я всё же оставляю гигабайт 15-20 неразмеченными в конце диска.
Допустим, у Вас получилось так (просто пишу для удобства дальнейшего изложения, конечно, у Вас может быть по-другому; ориентируйтесь на свою разбивку диска):
Поскольку у меня btrfs, и я хочу использовать все возможности этой ФС, теперь я применяю сжатие и создаю подтом:
sudo mount /dev/sdb2 /mnt
sudo btrfs property set /mnt compression zstd (можно использовать сжатие lzo)
Проверяю, что сжатие включено:
sudo btrfs property get /mnt
Увидев, что compression=zstd , создаю подтом
sudo btrfs sub create /mnt/@
Вижу: @, значит, всё в порядке.
Для /home проделываю то же самое, только монтирую, понятно, /dev/sdb3 и создаю подтом @_home.
Теперь смонтируем свой работающий корень в точку монтирования:
sudo mount /dev/sda2 /mnt (для примера, у Вас свой раздел, не обязательно /sda2).
Подготовленный раздел монтирую в другую точку:
sudo mount /dev/sdb2 /mnt1
Теперь переношу систему:
sudo rsync -avh /mnt/ /mnt1/@ (перенос всего из /mnt — последний слеш обязателен, внутрь подтома @ в /mnt1).
Если работающая система тоже на ФС btrfs и тоже на подтоме, то команда будет sudo rsync -avh /mnt/@/ /mnt1/@
Отмонтирую оба раздела:
Далее то же самое для /home.
Если создали 1 раздел для / и /home на btrfs, то в разделе /dev/sdb2 нужно было создать оба подтома сразу и переносить в каждый соответственно / и /home. Если работающая система, которую переносите, на одном разделе, а нужно перенести на 2 раздела или в 2 подтома одного раздела, команды будут несколько иные:
sudo rsync -avh —exclude=’/home’ /mnt/ /mnt1/@ (перенос корня с исключением /home в корневой подтом)
sudo rsync -avh /mnt/home/ /mnt1/@_home (перенос домашнего раздела в подтом домашнего раздела).
Аналогично переносим /boot, только проще, ибо там подтомов нет: смонтировать в точки монтирования исходный и записываемый разделы и
sudo rsync -avh /mnt/ /mnt1 (по этому же типу копируем систему, если и в исходном и в конечном разделе всего 1 раздел, например в ext4).
Перенос файлов завершён. Но новая система, естественно, не запустится, потому что простое копирование файлов не есть установка. Во-первых, в новозаписанной системе неправильно прописано монтирование в файле /etc/fstab, во-вторых, неправильно прописан файл /grub.cfg в /boot, в-третьих, собственно не установлен загрузчик grub2. Будем всё это исправлять.
Смонтируем новый корень в /mnt или через графический Проводник откроем наш /dev/sdb2, найдём файл /etc/fstab, редактируем его. Для этого командой
выясняем UUID наших новых разделов и заменяем или дописываем необходимые разделы для монтирования и их опции (я подробно описывал этот процесс в другой статье «Линукс Минт в BTRFS на SSD» , повторяться не буду). Итак fstab исправлен. Теперь нужно установить grub2 и переписать /boot.
Для этого нужно смонтировать новую систему и войти в неё через chroot. Делается это так (описываю процесс для подтома btrfs):
монтируем корень в точку монтирования:
sudo mount -o subvol=@ /dev/sdb2 /mnt
(для системы без подтома, просто sudo mount /dev/sdb2 /mnt)
Мы должны увидеть список разделов ФС: /bin, /boot, /etc и т. д.
sudo mount -o subvol=@_home /dev/sdb3 /mnt/home
sudo mount /dev/sdb1 /mnt/boot
Монтируем псевдофайловые системы
sudo mount -o bind /sys /mnt/sys
sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /proc /mnt/proc (в Арч Линукс последние три монтирования не требуются)
Приглашение консоли должно измениться. Всё, мы в переписанной системе. Устанавливаем grub2:
grub-install /dev/sdb (загрузчик устанавливается не в раздел, а на диск. Главное, не перепутайте, на какой).
Для Дебиан и производных:
grub-mkconfig -o /boot/grub/grub.cfg или
grub2-mkconfig -o /boot/grub2/grub.cfg (нужно предварительно посмотреть в /boot: если там каталог grub, то первая команда, если grub2 — вторая).
Почти закончили. Осталось выйти из chroot
Отмонтировать все разделы в обратном монтированию порядке:
sudo umount /mnt/proc и далее, до
Всё, можно перезагружаться, выбрав при перезагрузке в BIOS наш новый диск, на который только что установили grub.
Про то, что лучше вынести торренты, загрузки на HDD, а некоторые разделы монтировать в tmpfs, я писал в вышеназванной статье, если нужно, посмотрите её.
Как перенести установку Linux на другой жесткий диск
В Linux и вам нужно перенести много данных с одного жесткого диска на другой? В таком случае рассмотрите возможность использования инструмента редактирования разделов Gparted для Linux. Помимо редактирования макетов жестких дисков, он может быстро клонировать любой раздел на несколько жестких дисков (или даже дублировать разделы на одном жестком диске), что делает его отличным инструментом для переноса установки Linux на другой жесткий диск.
Копирование разделов с помощью Gparted очень просто, но оно не работает с подключенными разделами. Вам необходимо убедиться, что жесткий диск, с которым вы работаете, не используется с основной системой. Можно просто установить инструмент в свой дистрибутив Linux и использовать его оттуда, но лучше всего работать с действующей системой. Наличие действующей системы гарантирует, что никакие разделы в настоящее время не используются.
Требования
Чтобы начать работу с живым диском, скачать последнюю версию ISO-образа Gparted. Также возьмите USB-накопитель размером не менее 1 ГБ и загрузите самую свежую версию инструмента Etcher USB.
Создать Live Disk
Подключите USB-накопитель и откройте Etcher, чтобы начать процесс создания живого диска. В Etcher выберите файл ISO и нажмите кнопку «flash», чтобы создать диск. Etcher займет немного времени, но когда он будет завершен, перезагрузите компьютер и загрузите BIOS. Используя BIOS на вашем ПК, измените загрузчик, чтобы он сначала загружал живой диск Gparted.
Загрузить Gparted Live
Несмотря на то, что этот живой диск представляет собой графический инструмент, все начинается не так. Следуйте инструкциям на экране, чтобы выбрать язык и раскладку клавиатуры. Затем введите «startx» в приглашение, и он загрузит рабочую среду рабочего стола. Отсюда найдите «Gparted» и дважды щелкните его, чтобы открыть инструмент разбиения на разделы.
Когда он открывается, инструмент сканирует каждый жесткий диск, который подключен к вашей системе и доступен для чтения. В раскрывающемся меню справа выберите диск, с которого нужно скопировать данные. В этой статье мы будем копировать данные с диска / dev / sda, а диск, который будет получать воспроизводимые данные, — это / dev / sdb.
Копирование макетов разделов
Самый простой способ перенести установку Linux с одного жесткого диска на другой — использовать функцию «копировать раздел» в инструменте создания разделов Gparted. Имейте в виду, что диск, с которого вы копируете раздел, должен быть пустым. Чтобы очистить его, откройте окно терминала и следуйте нашему руководству по безопасному стиранию данных с жесткого диска. Когда процесс будет завершен, вернитесь в Gparted и выберите диск (в нашем примере это жесткий диск / dev / sdb).
Нажмите «Устройство», затем «Создать таблицу разделов». Имейте в виду, что этот жесткий диск ДОЛЖЕН иметь ту же схему, что и тот, который передает данные. Если / dev / sda является разделом GPT с EFI, / dev / sdb также должен быть, и наоборот.
Вместо того, чтобы создавать новый раздел с диалоговым окном на / dev / sdb, перейдите в меню выбора жесткого диска и выберите / dev / sda. Найдите раздел, в котором хранятся ваши данные. В этом примере мы будем копировать нашу папку / home с меткой / dev / sda2.
Щелкните раздел правой кнопкой мыши и нажмите «Копировать» (или Ctrl + C), затем снова вернитесь в меню выбора жесткого диска и вернитесь в / dev / sdb. Щелкните правой кнопкой мыши пустое пространство и выберите «Вставить» (или Ctrl + V). Выбор опции вставки запустит последовательность копирования раздела, которая займет много времени (в зависимости от размера раздела). Пусть Gparted сделает свое дело, и в конечном итоге ваши данные будут перенесены на новый диск!
Используя эти инструкции, вы можете делать это сколько угодно раз, чтобы скопировать несколько разделов с одного жесткого диска на другой.
Когда Gparted закончит копирование данных, не стесняйтесь закрыть его. Затем перезагрузите компьютер. Все ваши данные должны быть перемещены.
Использование DD
Помимо использования Gparted, есть и другие способы переноса установки Linux с одного жесткого диска на другой. Самый лучший и быстрый способ клонировать раздел напрямую — с помощью DD. Для этого откройте терминал и используйте команду lsblk, чтобы открыть жесткие диски в системе. Как и в методе Gparted, исходный жесткий диск — / dev / sda, а целевой жесткий диск — / dev / sdb. Чтобы клонировать домашний раздел с исходного диска, вам необходимо очистить диск.
После очистки / dev / sdb используйте команду parted для создания новой таблицы разделов.
Создайте новую таблицу разделов и убедитесь, что она такая же, как и источник (если источником является EFI, используйте GPT. Если это MBR, используйте MS-DOS).
Затем используйте команду DD, чтобы запустить копию / dev / sda в / dev / sdb.