SNAT
цель требует, чтобы Вы дали ему IP-адрес для применения ко всем исходящим пакетам. MASQUERADE
цель позволяет Вам дать ему интерфейс, и независимо от того, что адрес находится в том интерфейсе, адрес, который применяется ко всем исходящим пакетам. Кроме того, с SNAT
, отслеживание соединения ядра отслеживает все соединения, когда интерфейс удален и возвращен; то же не верно для MASQUERADE
цель.
Хорошие документы включают ПРАКТИЧЕСКИЕ РУКОВОДСТВА в сайт Netfilter и iptables
страница справочника.
Для диска с разделами ПК (который является тем, что Вы найдете на большинстве карт с интерфейсом 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
(или отключите палку и отложите ее в) перечитывать таблицу разделов.
Затем если Вам нравится, можно увеличить клон. В этом порядке:
parted
может сделать это с move
команда (нет resize
, который изменяет размер файловой системы), но необходимо выяснить, что правильные аргументы — переключаются на секторы (unit s
) избегать погрешностей округления.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
~$: sudo apt-get install gddrescue ddrescue
~$: ddrescue /dev/sda /dev/sdb -v
;
Синтаксис: utility /source/drive /destination/drive --verbose
Комментарий: показывает прогресс и проверку ошибок, чтобы вы знали, допустимо ли это или где-то зависает. Вы также можете добавить b= блоки любого размера, который вы хотите. "gddrescue" - это gui версия "ddrescue", но я использую только ddrescue, как написано выше, так как она работает без проблем.
Недавно я клонировал свое живое зашифрованное хранилище Kali с 16 ГБ на 64 ГБ USB 3.0. Моя основная ОС — Windows 10 pro. Я не пытался клонировать с помощью какого-либо дистрибутива Linux, я уверен, что приведенные выше ответы — то, что вам нужно, но для любых пользователей Windows; Я использовал помощника по разделам диска AOMEI. Очень прост в использовании, использовал его для разбивки моего SSD, чтобы он соответствовал Ubuntu, но я отвлекся.
Мне нужно было убедиться, что USB-накопитель, на который я клонировал, уже был отформатирован для загрузки в реальном времени. Подключил оба USB и просто щелкнул правой кнопкой мыши на 8-гигабайтном диске; щелкнул copy
, затем выбрал диск на 64 ГБ, он спросит у вас кучу вещей, таких как «вы уверены, что это правильный диск, все будет стерто» и все такое прочее. Просто прочитайте его и убедитесь, что все в порядке, вам действительно не нужно много делать.
Просто дождитесь завершения процесса, и все готово. Протестировал указанный USB и все заработало!
Я обнаружил, что это самый простой способ, по крайней мере для меня, клонирование живых дистрибутивов с USB на USB.
head -c 512 </dev/sdb >/bev/sdc
? – antonio 12.10.2013, 14:27