MBR - это сегмент размером 512 байт в самом первом секторе жесткого диска, состоящий из 3 частей: загрузочного кода (446 байт), таблицы разделов (64 байта) и подписи загрузочного кода (2 байта). Не уверен, что у вас что-то пошло не так, но у меня это работает:
Это точно создаст резервную копию самого загрузочного кода и ничего больше:
[root@host]# dd if=/dev/sda of=/tmp/mbr.img_backup bs=446 count=1
Далее вы хотите стереть MBR начисто, включая таблицу разделов, которую вы не хотите сохранять вместе с сигнатурой загрузочного кода:
[root@host]# dd if=/dev/zero of=/dev/sda bs=512 count=1
А теперь восстанавливаем код загрузки:
[root@host]# dd if=/tmp/mbr.img_backup of=/dev/sda bs=446 count=1
Использованиеcut
:
cut -b 3- infile
Это позволит вырезать первые 2 байта из каждой строки или напечатать от 3 rd байта до конца строки.
Предполагая, что символ ^C
, который вы представляете в каждой строке, является фактическим CtrlC фактическим символом конца текста ETX (hex 0x03 ), вы мог бы использовать:
sed 's/^.*\o3//' file
Если это простая строка ^C
, используйте:
sed 's/^.*^C//' file