Мне нужно скопировать раздел SATA на внешний USB-раздел, оба раздела имеют одинаковый размер, но общий размер диска различен, я хочу копировать только данные и не беспокоиться о загрузочном секторе, поэтому не хочу копировать информацию о разделе SATA в на USB-диск. Таким образом, в команде dd достаточно пропустить 1 блок (skip = 1)? Спасибо
3 ответа
mbr - это первые 512 байт устройства. проверив 'man dd', вы обнаружите, что можете использовать 'skip = BLOCKS', чтобы пропустить несколько байтов в начале ввода:
% dd if=IN_DEVICE ibs=512 skip=1 of=OUT_DEVICE
но в целом я не думаю, что это хорошая идея, если вы «просто хотите получить данные» ... потому что вы копируете только часть файловой системы и т. д. Почему бы вам не скопировать данные из файловой системы в файловую систему?
Я могу быть здесь идиотом, но нельзя просто использовать dd в разделе, а не на диске, поэтому используйте if=/dev/sda1 of=/dev/sdb1
вместо if=/dev/sda of=/dev/sdb skip a bit
.
И нужно ли в любом случае использовать dd
; чтобы копировать только данные, почему бы не использовать команду копирования 'cp', rsync
, flie-браузер или любой другой способ копирования данных, а не сырых данных на диске?
Да. Если вы не играли с ним, по умолчанию используется 1 блок (512 байт).