Nable писал(а):
Вообще говоря, truncate в помощь, задаёшь нужный размер файла и я хз с чего бы вдруг разметка становилась невалидной.
Поясняю. Вот есть у меня реальная флешка. Её количество секторов не вписывается ни в какую геометрию. Я разбиваю её на GPT. При этом по стандарту
в последних секторах носителя хранится резервная копия таблицы разделов, а в
основной копии в начале диска указывается сектор с резервной копией заголовка GPT (последний сектор диска).
Что произойдёт, если я произвольно увеличу размер образа?
Вариант 1. Я не меняю никаких полей, просто дописываю нули. В таком случае резервной копии на месте нет, а указатель на сектор с резервной копией указывает не на последний сектор диска.
Вариант 2. Я
вставляю пустые сектора перед резервной копией. В таком случае я должен поменять указатель в основной копии, но при этом становится невалидной контрольная сумма основной копии.
Я согласен, что оба случа не фатальны. Но они важны, если работаешь именно с файловыми системами и разметками дисков.
phantom-84 писал(а):
У меня при не выровненном на границу цилиндра размере образа (специально добавил один доп. сектор) максимум что появляется, так это одна доп. строка в логе
Не знаю, может быть у нас разные версии Бокса. У меня последняя - 2.5.1.
Код:
00000000000i[HD ] ata0-0: extra data outside of CHS address range
Вооот. Он НЕ ВОСПРИНЯЛ этот дополнительный сектор. Т.е. его кагбэ не существует. А так быть не должно.