Я пишу скрипт для изменения UUID раздела NTFS (AFAIK, его нет).Это означает запись 8 байтов от 0x48 до 0x4F (72-79 десятичных), равных /dev/sdaX
(X - номер моего раздела).
Если бы я хотел изменить его на случайный UUID, я мог бы использовать это:
dd if=/dev/urandom of=/dev/sdaX bs=8 count=1 seek=9 conv=notrunc
Или я мог бы изменить /dev/urandom
на /dev/sdaY
, чтобы клонировать UUID из другого раздела.
Но ... что, если я хочу создать персонализированный UUID?Я уже сохранил (и проверил регулярные выражения) в переменной $UUID
в формате шестнадцатеричной строки (16 символов), например:
UUID="2AE2C85D31835048"
Я думал об этом подходе:
echo "$UUID" | xxd -r -p | dd of=/dev/sdaX ...
Это всего лишь царапина ... я не уверен насчет точных опций, чтобы заставить его работать.Мой вопрос:
- Является ли
echo $var | xxd -r | dd
действительно лучшим подходом? - Какая будет точная команда и опции, чтобы она работала?
Что касается ответов, я также ищу:
- Объяснение всех используемых опций и что они делают.
- Если возможно, альтернативная команда, чтобы проверить его вфайл и / или экран перед сменой раздела.
У меня уже есть 100-байтовый файл дампа ntfs.bin, который я могу использовать для тестов и проверки результатов, используя
xxd ntfs.bin
Так что любое решение, которое дает мне возможность проверить результаты, используя xxd
на экране, чтобы я мог сравнить с оригинальным файлом ntfs.bin, будет высоко оценено.
Спасибо!