чи допоможе це, якщо я якось створити новий, порожній розділ на 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
на це.