Переместить данные раздела с dd вправо

Мне нужна помощь, чтобы получить командную строку dd, которая перемещает мой раздел по блоку вправо.

Я наткнулся на ошибку при использовании инструментов для изображения некоторых ПК, и теперь мне нужно переделать эти машины, не теряя при этом никаких данных. Это очень хорошо работает с gparted 0.18.0. Там я перемещаю свой второй раздел вправо со смещением 79 МБ. Затем я выращиваю свой первый раздел 79MB. Все работает безупречно. Но поскольку существует около 35 машин, я хотел бы создать сценарий, который это делает.

Изменение размера и все довольно просто. То, что я не понимаю в голове, – это перемещение раздела вправо. В основном мне нужна команда dd, которая делает это. Мое мышление состоит в том, что мне нужно начинать с тыла и работать на своем фронте. Поэтому я подумал:

  • If и of являются одним и тем же разделом (помните, что уже выросли, чтобы соответствовать данным смещения) / dev / sda2
  • Bs может быть 16MiB, так как это то, что gparted сравнивается
  • Какими будут параметры, обеспечивающие копирование справа налево, чтобы данные не перезаписывались

Я поговорил с сопровождающим gparted, и он сказал, что dd используется для достижения этого. Но я не могу понять, как это сделать.

  • Почему клонированный Windows 7 BCD содержит неполные данные (и, следовательно, предотвращает загрузку)?
  • Разделение ноутбука с 4 основными разделами
  • Cloned Linux не распознает пространство нового флеш-накопителя?
  • «Нет места на устройстве» после изменения размера раздела
  • Сколько времени потребуется, чтобы сократить количество разделов на 44 ГБ до 10 ГБ
  • Является ли GParted очень надежным? Разве это так хорошо, как Magic Partition?
  • Ошибка размера физического блока GParted
  • Ошибка установки Kubuntu 15.04 «Ошибка Ubi-partman с кодом выхода 141»
  • 2 Solutions collect form web for “Переместить данные раздела с dd вправо”

    • Какими будут параметры, которые архивируют копирование справа налево, чтобы данные не перезаписывались

    Не существует, в одной команде нет решения dd

    Также я предупреждаю вас об использовании dd для перемещения раздела, потому что если что-то не удается, у вас нет шансов восстановить данные без резервного копирования, которые вы делали до этой операции. Но если у вас есть резервная копия, операция тривиальна. Так что это было отказ от ответственности .

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

    perl -e 'foreach $i (0..1023) { printf "%0.7i\n", $i; }' >test.dat 

    Просто сделать тестовый файл, для экспериментов

    Нам также нужна команда pv , которая может действовать как буфер для наших данных в форме: pv -B buffer_size_in_bytes

     dd if=test.dat | pv -B 1024 | dd of=test.dat seek=2 

    Размер блока dd по умолчанию – 512 байт – мы переносим данные на 2 dd-блока, поэтому достаточно буфера в 1024 байта.

     dd if=/div/sda bs=512*device block size* skip=111111*much blocks until sda2 begins* | pv -B 90000000 *have_to_fit_shift size+* | dd of=/div/sda seek=(blocks until sda2 begins + amount of blocks we shift that for) 

    После этого, если все пойдет нормально, необходимо исправить таблицу разделов.

    Но, вероятно, более распространенный способ – будет перемещать данные с помощью dd chunk куском

     dd if=/div/sda bs=1M count=100 skip=PosToRead seek=PosToWrite PosToRead -= dd_count PosToWrite -= dd_count repeat if not done 

    Также там dd, движущиеся в противоположном направлении, интересные в обработке команды dd и определении смещений

    У dd_rescue есть опция -r для изменения направления.

    Пример использования:

     partition=/dev/vdc1 disk=/dev/vdc sector_size=512 new_start_sector=4096 # opos is right after the new partition and given in bytes opos=$(($new_start_sector * $sector_size + `blockdev --getsize64 $partition`)) dd_rescue -v -r -S $opos $partition $disk 

    После этого не забудьте обновить таблицу разделов. Не обновляйте его раньше!

    Interesting Posts

    Восстановление данных из полного формата в разделе NTFS

    Vc_redist.x86.exe Ошибка установки: 0x80240017 Неопределенная ошибка

    Win7: Как заставить TRIM на SSD, когда системный раздел зашифрован с помощью TrueCrypt?

    Как я могу получить пропускную способность интерфейса в любой момент времени из командной строки Linux?

    Windows7 + Dell D830 = частые синие экраны

    Ошибка сертификата с помощью Internet Explorer 9

    Шифрование каталога пользователя в Windows 7

    Если заголовки «Кому» и «От» являются адресом электронной почты спамера, как я получил это письмо?

    Можно ли восстановить предметы, удаленные из «Корзины»?

    2560×1600 @ 60HZ адаптер

    Как запустить процесс в фоновом режиме, не открывая пакетный файл?

    Изменение пользователя для автоматического входа в систему

    Отключить проверку скорости мыши между мониторами в обновлении Windows 8.1 1

    Пароль Windows 7

    Я не могу получить доступ к настройке BIOS с помощью клавиши F2 на ноутбуке Samsung NP270E5V

    Давайте будем гением компьютера.