У меня есть образ диска, это «целый» образ диска, например, содержит несколько разделов, и я хочу клонировать только один из них (не первый ..) в раздел на внешнем диске с несколькими разделами на нем ( Я тоже не клонирую его на первый раздел диска ...)
FDisk'ing изображение дает это:
# fdisk -l 2013-02-09-wheezy-raspbian.img Диск 2013-02-09-wheezy-raspbian.img: 1939 МБ, 1939865600 байт 255 головок, 63 сектора / дорожка, 235 цилиндров, всего 3788800 секторов Единицы = секторы 1 * 512 = 512 байт Размер сектора (логический / физический): 512 байт / 512 байт Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт Идентификатор диска: 0x00014d34 Система Идентификатора Начальной Загрузки Завершения Загрузки 2013-02-09-wheezy-raspbian.img1 8192 122879 57344 c W95 FAT32 (LBA) 2013-02-09-wheezy-raspbian.img2 122880 3788799 1832960 83 Linux #
и блочное устройство выглядит так:
# fdisk -l / dev / sdc Диск / dev / sdc: 8014 МБ, 8014266368 байт 247 головок, 62 сектора / дорожка, 1022 цилиндра, всего 15652864 секторов Единицы = секторы 1 * 512 = 512 байт Размер сектора (логический / физический): 512 байт / 512 байт Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт Идентификатор диска: 0x00000000 Система Идентификатора Начальной Загрузки Завершения Загрузки / dev / sdc1 2048 131071 64512 e W95 FAT16 (LBA) / dev / sdc2 131072 15652863 7760896 83 Linux #
Я хочу, чтобы второй раздел образа заменил второй раздел блочного устройства. Не беспокойтесь о поврежденном свободном пространстве, я воспользуюсь GParted, чтобы очистить его, и в любом случае оно мне понадобится.
Ответы:
Если
--partscan
не работает, вы также можете использовать один из:или аналогичные решения для отображения разделов.
Вы, вероятно, должны сначала смонтировать его, чтобы посмотреть, правильно ли это или что.
Конечно , вы также можете прочитать вывод FDisk и дать или что - то непосредственно, то есть сделать его пропустить , что многие блоки ввода , так он начинает читать при котором перегородка расположена; но лучше видеть реальные разделы с помощью петлевого устройства.
dd
skip=131072
источник
losetup
команда не сработала - она сказала нераспознанный вариант--find
. Я удалил это, он сказал, что не узнал--show
. Снятие этого заставило его жаловаться--partscan
, и в этот момент я понял, что команда не собирается ничего делать для меня в ближайшее время. Я решил попробовать другие, но обаpartx
иkpartx
вернуть «команда не найдена».dd if=2013-02-09-wheezy-raspbian.img of=/dev/sdc skip=122880
, но это возвращаетсяdd: ‘2013-02-09-wheezy-raspbian.img’: cannot skip: Invalid argument
.skip
зависитbs
, поэтому, если вы использовалиbs=1M
(или у вас есть псевдоним, который делает это), это объяснило бы, почему это не работает. попробуй сbs=512
. Кроме того, почему 122880, когда fdisk говорит 131072? Также мой проигрышlosetup from util-linux 2.22.2
. то же самое для partx. kpartx из многопользовательских инструментов (используется устройство отображения).kpartx
для LVM.partprobe
также сделаю работу, из расстались пакета.Примерно так должно работать:
if = устанавливает изображение, которое вы хотите клонировать
of = устанавливает целевой раздел, где вы хотите клонировать изображение
источник
dd: opening ‘2013-02-09-wheezy-raspbian.img2’: No such file or directory
losetup -fP yourImage.img
dd
, вы можете сделатьdd if=/dev/loop0p1 of=image.img
, но я думаю, что вы хотели быcat
лучше. В корневой оболочке просто сделайтеcat /dev/loop0p1 > image.img
. В обоих примерах предполагается, что вы хотите первый раздел, и вам было назначено устройство обратной связи/dev/loop0
losetup -d /dev/loop0
. Еще раз, это предполагает, что/dev/loop0
это ваше устройство обратной связи.источник
Вы могли бы сделать:
источник
Вы можете скопировать только второй раздел в отдельное изображение с этим
и после этого вы можете скопировать его вместо раздела на диске
или вы можете даже сделать это в одной команде
Просто убедитесь, что вы размонтировали / dev / sdc2, прежде чем писать в него.
источник