Клонирование загрузочной карты с интерфейсом USB к разного размера придерживается

SNAT цель требует, чтобы Вы дали ему IP-адрес для применения ко всем исходящим пакетам. MASQUERADE цель позволяет Вам дать ему интерфейс, и независимо от того, что адрес находится в том интерфейсе, адрес, который применяется ко всем исходящим пакетам. Кроме того, с SNAT, отслеживание соединения ядра отслеживает все соединения, когда интерфейс удален и возвращен; то же не верно для MASQUERADE цель.

Хорошие документы включают ПРАКТИЧЕСКИЕ РУКОВОДСТВА в сайт Netfilter и iptables страница справочника.

11
12.10.2013, 16:27
3 ответа

Введение

Для диска с разделами ПК (который является тем, что Вы найдете на большинстве карт с интерфейсом USB), загрузчик состоит в крошечной части в самом начале диска (загрузчик этапа 1, в загрузочном секторе диска) и большей части в другом месте (загрузчик этапа 2, в файле). Данные этапа 1 содержат физическое местоположение этапа 2. Если Вы копируете целое устройство (чем Вы попробовали dd), часть этапа 1 находится в том же физическом месте и работах палки, но новая палка должна быть, по крайней мере, столь же большой как оригинал. Если Вы воссоздаете разделы и копируете файлы, Вы пропускаете этап 1, так как это не файл.

Я думаю (но я не проверил), что этап 2 находится в первом разделе (FAT32). Если так, можно скопировать ту оптовую торговлю разделом, и скопировать загрузочный сектор также, затем отредактировать таблицу разделов так, чтобы второй раздел занял точно место, которое это оставляют, и скопируйте файлы на втором разделе. Вы могли бы также сохранить необработанное изображение загрузочного сектора и первого раздела в файле на жестком диске (но можно клонировать их от карты с интерфейсом USB также).

Создание клона другого размера

Ниже я назову устройство, содержащее исходную палку /dev/sdb и устройство, содержащее клон /dev/sdc; замените именами по мере необходимости. Создайте точки монтирования в случае необходимости. Я предполагаю, что раздел FAT32 (в начале диска) пронумерован 1, и ext3 раздел пронумерован 2; замените различными числами в случае необходимости.

Первая часть, при клонировании от палки:

head -c 512 </dev/sdb >/dev/sdc
partprobe /dev/sdc
cat </dev/sdb1 >/dev/sdc1

Первая часть, при клонировании от файлов изображений:

cat boot_sector.img >/dev/sdc
partprobe /dev/sdc
cat first_partition.img >/dev/sdc1

Вызов к partprobe необходим так, чтобы ядро перезагрузило таблицу разделов от диска (это находится в загрузочном секторе, и первая команда в любом сценарии выше изменяет загрузочный сектор). При исключении его или Вы доберетесь, ошибки или ядро тихо запишут мусор в палку.

Сделать файлы изображений:

head -c 512 </dev/sdb >boot_sector.img 
cat /dev/sdb1 >first_partition.img

Теперь после того, как у Вас есть загрузочный сектор и первый раздел, необходимо отредактировать таблицу разделов снова, для изменения размеров второго раздела. Можно сделать это автоматически путем питания правильного входа к fdisk. Предупреждение, это чрезвычайно подвержено ошибкам, и я не протестировал его. Если Вы не чувствуете себя полностью комфортно с этой частью, сделайте это вручную.

sed -e 's/ *#.*//' <<EOF | tr -s ' ' '\n' | tr -d _ | fdisk /dev/sdc
d 2         # delete partition 2
n p 2       # new primary partition 2...
_ _         # ... using all available space
w q         # write and quit
EOF

Наконец перезагрузите таблицу разделов снова, создайте ext3 файловую систему и скопируйте файлы там.

partprobe /dev/sdc
mke2fs -j /dev/sdc2
mount /dev/sdc2 /media/sdc2
cp -a /media/sdb2/ /media/sdc2/
umount /media/sdc2

Упрощенный метод сделать больший клон

Если Вы предпочитаете, можно сохранить изображение целой палки. Вы сможете использовать то изображение непосредственно на любой палке, которая это, по крайней мере, как большое: просто копия, которые отображают на новую палку с cat <whole.img >/dev/sdc, затем выполненный partprobe /dev/sdc (или отключите палку и отложите ее в) перечитывать таблицу разделов.

Затем если Вам нравится, можно увеличить клон. В этом порядке:

  1. Увеличьте раздел. К сожалению, я не знаю, как сделать это простым способом. parted может сделать это с move команда (нет resize, который изменяет размер файловой системы), но необходимо выяснить, что правильные аргументы — переключаются на секторы (unit s) избегать погрешностей округления.
  2. Увеличьте файловую систему. Та часть легка: просто выполненный resize2fs /dev/sdc2 заставить файловую систему использовать целый размер раздела.

Если Вы запускаете с большей палки, чем необходимый, можно уменьшиться, это путем выполнения шагов выше в обратном порядке (сначала уменьшают файловую систему с resize2fs, затем уменьшите раздел с parted).

С другой стороны, можно сначала скопировать палку в файл изображения, затем работать над тем файлом изображения. Для доступа к разделам используйте циклическое устройство, конкретно связывая часть файла к диску. Вот эскиз шагов, если Вы хотите уменьшить изображение (предупреждение, непротестированное, продолжите двигаться тщательно и перепроверьте математику).

fdisk -lu whole.img  # note starting sector of partition 2: $S
losetup -fs -o $(($S * 512)) whole.img
# Let $D be the desired size of partition 2, in kB
resize2fs /dev/loop0 $  # replace /dev/loop0 by whatever losetup prints
losetup -d /dev/loop0
parted whole.img
# Use parted to resize the second partition
dd if=/dev/null of=/file/to/truncate seek=1 bs=$(($S/2+$D+1))k
5
27.01.2020, 19:59
  • 1
    хм. Я не могу только использовать голову, чтобы просто скопировать первые 300 МБ или так второго раздела в img файл? Разве это не отключит весь вакуум / пустые блоки в конце файла? –  Joshua Robison 07.06.2011, 14:35
  • 2
    @Joshua: Нет, потому что нет никакой причины, почему все данные файла были бы в первых 300 МБ, и даже если это были Вы, не может только принять участие файловой системы как этот. Необходимо сделать допустимую файловую систему правильного размера. У Вас также должен быть раздел корректного размера; размер раздела хранится в загрузочном секторе. Если Вы предпочитаете начинать с изображения минимального размера и увеличивать его при желании, я добавил способ сделать это в моем ответе. –  Gilles 'SO- stop being evil' 07.06.2011, 16:02
  • 3
    хм. Я пытался копировать файлы прежде, но по некоторым причинам все не скопировало. Я попробовал rsync также sudo., и я думаю, что попробовал su, базируются и сделал это также.... Это просто не работает на меня. Я уверен, что диски не были смонтированы... так или иначе. Я решил уменьшить диск в gparted и затем сделать img файлы из этого и затем восстановить их на меньший диск. Предварительное уменьшение в gparted было единственным простым решением, которое я мог найти. Спасибо за Вашу справку все же. –  Joshua Robison 07.06.2011, 16:43
  • 4
    Ваш ответ, вероятно, корректен и скорее всего сделает то, что я спрашиваю. Это просто слишком сложно для меня. Таким образом, я пошел с gparted пред метод уменьшения. –  Joshua Robison 07.06.2011, 16:45
  • 5
    является там опечаткой в этой строке head -c 512 </dev/sdb >/bev/sdc? –  antonio 12.10.2013, 14:27

~$: sudo apt-get install gddrescue ddrescue

~$: ddrescue /dev/sda /dev/sdb -v

;

Синтаксис: utility /source/drive /destination/drive --verbose

Комментарий: показывает прогресс и проверку ошибок, чтобы вы знали, допустимо ли это или где-то зависает. Вы также можете добавить b= блоки любого размера, который вы хотите. "gddrescue" - это gui версия "ddrescue", но я использую только ddrescue, как написано выше, так как она работает без проблем.

3
27.01.2020, 19:59

Недавно я клонировал свое живое зашифрованное хранилище Kali с 16 ГБ на 64 ГБ USB 3.0. Моя основная ОС — Windows 10 pro. Я не пытался клонировать с помощью какого-либо дистрибутива Linux, я уверен, что приведенные выше ответы — то, что вам нужно, но для любых пользователей Windows; Я использовал помощника по разделам диска AOMEI. Очень прост в использовании, использовал его для разбивки моего SSD, чтобы он соответствовал Ubuntu, но я отвлекся.

Мне нужно было убедиться, что USB-накопитель, на который я клонировал, уже был отформатирован для загрузки в реальном времени. Подключил оба USB и просто щелкнул правой кнопкой мыши на 8-гигабайтном диске; щелкнул copy, затем выбрал диск на 64 ГБ, он спросит у вас кучу вещей, таких как «вы уверены, что это правильный диск, все будет стерто» и все такое прочее. Просто прочитайте его и убедитесь, что все в порядке, вам действительно не нужно много делать.

Просто дождитесь завершения процесса, и все готово. Протестировал указанный USB и все заработало!

Я обнаружил, что это самый простой способ, по крайней мере для меня, клонирование живых дистрибутивов с USB на USB.

0
27.01.2020, 19:59

Теги

Похожие вопросы