У меня Ubuntu 18.04.3 на механическом диске 500 ГБ. Я добавил SSD. Я установил Ubuntu 18.04.3 на SSD. SSD - это sda, а механический диск - sdb. Оба диска имеют одинаковое количество секторов.
У меня более года изменений в системе, установленной на механическом диске.
Я хочу дублировать sdb
на sda
. Это возможно? Если я загрузлю sdb
, сработает ли sudo dd if=/dev/sdb of=/dev/sda bs=2G
?
Есть ли более простой способ дублировать установку? В основном я хочу, чтобы пакеты apt и python были одинаковыми.
sudo fdisk -l /dev/sd[ab]
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x87f0c3fe
Device Boot Start End Sectors Size Id Type
/dev/sda1 409600 2506751 2097152 1G 83 Linux
/dev/sda2 * 2506752 212221951 209715200 100G 83 Linux
/dev/sda3 212221952 279330815 67108864 32G 82 Linux swap / Solaris
/dev/sda4 279330816 976773119 697442304 332.6G 83 Linux
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x49598911
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 976656 974609 475.9M b W95 FAT32
/dev/sdb2 * 976896 352538623 351561728 167.7G 83 Linux
/dev/sdb3 352538624 391600127 39061504 18.6G 82 Linux swap / Solaris
/dev/sdb4 391600128 976771071 585170944 279G 83 Linux
Ответ был в этом вопросе о Переполнении стека звездным пятнистым системным администратором.
Как использовать дамп и восстановить для 'клонирования' диска ОС Linux
Можно найти много информации онлайн об использовании
dd
клонировать диски ОС.Не слушайте! Это НАМНОГО быстрее для использования
dump
иrestore
потому что Вы только копируете данные, вместо того, чтобы копировать все блоки (пустой или не).Часть 1: Знайте, где Ваш источник и конечные диски находятся в списке устройств
lsscsi | grep sd*
покажет Вам список scsi устройств и их связанных букв. Если Вам повезло работать с заменяемым в горячем режиме полем, то можно просто выполнить ту команду прежде и затем после вставки диска - новейшее устройство для разоблачения является, конечно, диском, который Вы просто вставили.
Часть 2: Подготовьтесь выводить
Мера предосторожности: присвойте переменные для устройств назначения и исходных устройств. (Кроме того, если Вы делаете, это несколько раз, variablization позволяет Вам снова использовать команды.)
SOURCE=/dev/sdx DEST=/dev/sdy
Примечание по исходному диску (тот Вы копируете с). При копировании текущего диска ОС он будет (понятное дело) уже смонтирован. При копировании другого диска он на самом деле не должен быть смонтирован.
Копия таблица разделов Вашего источника едет в файл:
sfdisk -d $SOURCE > part_table
Скопируйте part_table, уже сохраненный в файле
sfdisk --force $DEST < part_table
Нуль загрузочный сектор:
dd if=/dev/zero of=${DEST}1 bs=512 count=1
Сделайте свою файловую систему (один раздел за один раз):
mkfs -t ext4 ${DEST}1 mkswap ${DEST}2
Смотрите:
parted $DEST --script print
Скопируйте маркировку всех разделов неподкачки. Пример:
tune2fs -L "/" /${DEST}1
Часть 3: дамп | восстанавливает момент
Сделайте каталог для монтирования устройства назначения дампа | восстановление. (Как упомянуто выше, исходное устройство не должно быть смонтировано.)
mkdir -p /mnt/${DEST}1
Смонтируйте устройство назначения:
mount -t ext4 ${DEST}1 /mnt/${DEST}1
cd
в точку монтирования:cd /mnt/${DEST}1
Дамп и восстановление:
dump -a0f - /dev/${SOURCE}1 | restore -rf -
(флаги дампа:
a
=autosize;0
(нуль) = запускается в блоке 0;f
= файл,-
= stdout; флаги восстановления:r
=rebuild;f
=file;-
= stdout)
dump | restore
должен занять всего несколько минут.Часть 4: используйте личинку для установки загрузчика на клонированный диск
Принятие Вас копирует диск ОС (т.е. диск, от которого Вы загружаете поле), необходимо установить загрузчик.
Личинка идентифицирует диски как hd#, запускающийся от 0 (НЕ 1). Корреспонденция легка:
/dev/sda
=hd0
,/dev/sdb
=hd1
, и т.д.[root@drive-toaster /]# grub grub> root (hd1,0) # use correct number for your disk! root (hd1,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd1) # use correct number for your disk! setup (hd1) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 27 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd1) (hd1)1+27 p (hd1,0)/boot/grub/stage2 /boot/grub/grub.conf"... succeeded Done. grub> quit