Удалите первые два байта строки

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

1
19.10.2018, 03:28
2 ответа

Использованиеcut:

cut -b 3- infile

Это позволит вырезать первые 2 байта из каждой строки или напечатать от 3 rd байта до конца строки.

4
27.01.2020, 23:23

Предполагая, что символ ^C, который вы представляете в каждой строке, является фактическим CtrlC фактическим символом конца текста ETX (hex 0x03 ), вы мог бы использовать:

sed 's/^.*\o3//' file

Если это простая строка ^C, используйте:

sed 's/^.*^C//' file
0
27.01.2020, 23:23

Теги

Похожие вопросы