У меня есть машина с Debian 6. Из-за недавних изменений я попытался перейти на Grub2 (да, по умолчанию был установлен grub legacy). Все шло хорошо (загрузка по цепочке, перезагрузка), пока я не начал "upgrade-from-grub-legacy". У машины есть 2 жестких диска, которые содержат два программных raid1 - / dev / md0, один маленький содержит / boot и / dev / md1, используя оставшуюся емкость.
Parted показывает мне:
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 512B 512MB 512MB primary ext2 raid
2 513MB 2560MB 2047MB primary linux-swap(v1)
3 2560MB 954GB 951GB primary ext3 raid
а для второго диска:
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 512B 512MB 512MB primary ext2 raid
2 513MB 2560MB 2047MB primary linux-swap(v1)
3 2560MB 954GB 951GB primary ext3 raid
В диалоговом окне «upgrade-from-grub-legacy» отображается:
[ ] /dev/sda (1000204 MB; Hitachi_HDS721010CLA332)
[ ] /dev/sdb (1000204 MB; Hitachi_HDS721010CLA332)
[ ] /dev/md0 (511 MB; ???)
[ ] /dev/md1 (951308 MB; ???)
но независимо от того, что я выберу, он не говорит:
/usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding won't be possible!.
/usr/sbin/grub-setup: error: embedding is not possible, but this is required when the root device is on a RAID array or LVM volume.
Насколько я мог догадаться из разных сообщений, где-то должен быть флаг boot_grub.
Могу ли я использовать Grub2 в моей текущей конфигурации, если да, как и безопасно ли перезагружаться на текущем этапе?
Хорошо, я разобрался.
Проблема заключалась в том, что grub2 нужно место для сохранения загрузчика stage2, а в моей конфигурации его не было.
Решение заключалось в том, чтобы сжать Раздел 1 на обоих дисках с помощью resize2fs, parted и mdadm, извлекая по одному диску из RAID.
Я уменьшил переднюю часть Раздела 1 на 16 МБ, повторил попытку «upgrade-from-grub-legacy», установил в / dev / sda И / dev / sdb, потому что машина может загружаться с любого из них. Все прошло успешно, перезагрузка - и все готово.
Итак, подведем итог: да, я могу использовать Grub2, но мне пришлось переставить разделы, чтобы освободить место для stage2. Да, перезагрузка была безопасной до тех пор, пока "upgrade-from-grub-legacy" не был завершен, потому что цепной загрузчик с grub1 все еще был на месте и работал.