Используя сценарии Bash & Python в Ubuntu 12.04, мы предоставляем клиентам образ диска в виде файла (созданного dd
). Как только dd
'd на новый диск, мы изменим размер раздела, чтобы соответствовать диску. Теперь, когда мы используем GPT-диски, мне нужно предоставить новый неинтерактивный, не-X-скрипт.
Задача parted
генерирует интерактивное сообщение:
Ошибка: резервная таблица GPT находится не в конце диска, как должно быть. Это может означать, что другая операционная система считает, что диск меньше. Исправить, переместив резервную копию до конца (и удалив старую резервную копию)? Fix/ Игнорировать / Отменить?
Но, используя ключ -s
или -m
с parted, я не могу заставить его изменить размер диска и исправить местоположение резервной копии GPT. Я также не могу вставить «F» в команду:
echo "F" > parted /dev/sda resize 2 0% 100%
parted /dev/sda resize 2 0% 100%
parted -m /dev/sda resize 2 100%
parted -s /dev/sda resize 2 100%
И так далее. gdisk
и sgdisk
не могут изменить размер. gparted
работает нормально, но это, конечно, X и не разрешено.
Из CLI я могу подавить интерактивное сообщение, запустив обратные пометки:
`parted -s /dev/sda rm 2` ( succeeded with error)
`parted -s /dev/sda mkpart primary 100%` ( fails because the backup GPT was not moved)
Поэтому мне нужна специальная услуга «переместить резервное копирование GPT», предлагаемая в интерактивном сообщении и предлагаемая только там, но мне нужно работать не в интерактивном режиме.