dd скопіювати лише один розділ iso в нерозподілену частину hdd


0

Моє запитання є більш загальним у контексті dd / harddisk / iso-images. Нижче наведено деталі.

У мене живе ізо-зображення, яке містить два розділи, встановлені як /dev/loop1p1і /dev/loop1p2, і у мене є hdd з великою кількістю нерозподіленого порожнього простору в кінці. Крім того, у мене підключений usb-накопичувач (з тим самим зображенням, записаним на), а вміст доступний за адресою /dev/sdb1та /dev/sdb2.

Тому моє завдання є дуже базовим:

Клоніруйте /dev/sdb2розділ usb (або змонтованого iso /dev/loop1p2) у порожній / нерозподілений простір на жорсткому диску.

Я вважаю, що ddце шлях вперед, як завжди.

if= сторона:

Eventhough ddприймає весь диск ( /dev/sdb) або розділи ( /dev/sdb1, і /dev/sdb2т.д.) в якості першого аргументу if=, що залишився аргумент of=від HDD ( /dev/sda) повинен бути однорідними і , як видається, вирішальна сторона.

of= сторона:

У мене ще не створений розділ на стороні hdd, щоб передати його of=аргументу ddкоманди. Якщо я використовую повний HDD /dev/sdaяк ofдескриптор, існуючі розділи на hdd будуть втрачені, що, безумовно, не бажано.

Отже, щоб ще раз повторити питання:

як мені клонувати конкретний usb-диск для hdd?

Убік, чи допоможе це, якщо я створити якийсь новий, порожній розділ на hdd з "точними" розмірами до розміру /dev/sdb2або /dev/loop1p2використовувати його як of=аргумент?

Відповіді:


1

чи допоможе це, якщо я якось створити новий, порожній розділ на hdd із "точними" розмірами до розміру /dev/sdb2або /dev/loop1p2використовувати його як of=аргумент?

Так , і це, мабуть, найпростіший спосіб. Розмір не повинен бути точно рівним, він може бути більшим. Строго кажучи, вона повинна бути як мінімум такою великою, як файлова система всередині /dev/loop1p2, яка може бути набагато меншою, ніж /dev/loop1p2сама. Спосіб отримання точного розміру даної файлової системи залежить від файлової системи (різні інструменти для ext, btrfs тощо). Хоча файлова система менша, ніж її розділ, рідкість, тому розмір /dev/loop1p2- розумний і безпечний мінімум.

Якщо новий розділ занадто малий для файлової системи, у вас з’явиться нездоровий клон файлової системи, можливо, відсутні деякі дані та / або метадані. Належний fsckінструмент може або не може зробити клон офіційно здоровим, але він не відновить жодних даних, які не вміщуються. Втрата даних може статися незалежно від того, скільки вільного місця має файлова система-джерело.

Якщо новий розділ більший, нічого поганого не станеться. У якій би файловій системі не було /dev/loop1p2, не має значення, чи є цільовий розділ більшим. Створення значно більшого розділу буде марною витратою місця, якщо тільки ви не плануєте розширювати файлову систему, щоб потім зайняти весь розділ.

Так, так, розмір /dev/loop1p2, мабуть, найкращий для нового розділу. Деякі інструменти можуть звертати увагу на типи розділів, тому слід правильно встановити ідентифікатор нового розділу (він відрізняється від таблиці DOS-розділів у таблиці розділів MBR та GUID ).

Чи можете ви клонуватись, не створюючи нового розділу? Так, але це не варто.

Вузол пристрою на зразок /dev/sdx3- це лише корисна абстракція для доступу до заздалегідь заданого фрагмента /dev/sdx(і нічого, що знаходиться поза цим фрагментом). Це означає, що замість того, щоб dd of=/dev/sdx3ви могли працювати dd of=/dev/sdxз правильним зміщенням ( obs=, seek=), загалом дбаючи про те, щоб ви не писали за межі фрагмента ( count=). Складно, але цілком можливо клонувати ваш /dev/sdb2нерозподілений простір на вашому цільовому жорсткому диску, не створюючи там розділ. Але:

  • будь-яка помилка друку чи обчислення може призвести до перезапису частини цільового жорсткого диска, до якого ви не хочете торкатися (і тоді ви будете знати, що ddозначає "руйнівець даних");
  • хоча деякі інструменти можуть працювати з /dev/sdxі зміщення, вам потрібно розділ подобається , /dev/sdx3щоб зручно використовувати клонований файлову систему на практиці, так що рано чи пізно ви будете створювати його в будь-якому випадку;
  • без перегородки простір, зайнятий клоном, вважається вільним; жоден розумний інструмент не повинен використовувати його за власною ініціативою, але ви можете забути точний розмір зайнятого фрагмента або навіть той факт, яким він займається взагалі.

З цих причин створити розділ перед клонуванням - це правильно зробити. Після того, як у вас є, of=це правильний спосіб вказати ddна це.


Дякую тонну !, Один питання: Чи можливо точно узгодити розділи після клонування? Адже ми "клонуємо" !! Я маю на увазі, в тому числі і за розміром.
Любить ймовірність

1
@LovesProbability Зазвичай Пристрій - це один сектор, який може бути 512 B або 4 KiB, залежно від цільового пристрою. Якщо 4 KiB, ви не можете отримати будь-який можливий розмір за допомогою 512 B. Інструменти також можуть подбати про правильне вирівнювання, тому вони можуть наполягати на розмірі, трохи іншому, ніж ви хочете. Але вихідний розділ, ймовірно, вирівняний аналогічно. Навіть якщо ні, це не проблема, оскільки це клонована файлова система , але кілька вільних секторів після цього не матимуть значення. Тож якщо інструмент радить вам трохи більший розділ, просто прийміть його. Переконайтеся, що новий розділ не менше, це все.
Каміль Маціоровський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.