Я использую систему Debian / Squeeze (с историей, по крайней мере, до Woody), которая была обновлена до grub2 как часть обновления Squeeze. Все работает хорошо, но я собираюсь возиться с конфигурацией диска.
В настоящее время машина работает на 2 дисках емкостью 80 ГБ с разделами RAID1-ed /, / home и / boot (есть еще одна пара дисков с RAID1-ed "/ data" и пара перестановок, на случай, если кому-то интересно, где находится подкачка но я не касаюсь тех).
Я добавил 2 твердотельных накопителя емкостью 130 ГБ, разбил их на разделы так, чтобы они были как минимум такими же, как разделы на дисках емкостью 80 ГБ, и намереваюсь перейти на новые SSD-накопители, добавив в них RAID1, ожидая синхронизации, а затем удаляя старые диски из массивов, так что остались только SSD (а затем растут файловые системы). Но спор mdadm / ext3 - это не то, о чем этот вопрос ...
Это оставит меня с двумя устаревшими 80 ГБ дисками, которые я хочу удалить из машины. Я беспокоюсь о том, что для их удаления потребуется несколько важных MBR. Как мне убедиться, что машина остается загрузочной?
Более конкретно:
Когда я делал обновление Squeeze, я помню, что был какой-то выбор, на который следует установить диски grub2 (я выбрал стандартный, который был для всех дисков). SSD не были в машине в то время; как я могу выполнить это повторно, чтобы получить grub для установки на MBR SSD? (Я предполагаю, что это dpkg-переконфигурирование некоторого пакета).
Как я могу найти, на каких дисках grub2 думает, что он установлен? Боже мой, в эти дни в / boot / grub / находится почти 200 файлов! Где искать? Кроме того, кажется немного странным, что /boot/grub/device.map.auto перечисляет только 3 диска в настоящее время (2 из 80 ГБ, но только один из другой пары дисков и ни один из SSD). Как мне получить это в курсе? ( Обновление: это была красная сельдь; device.map.auto, похоже, был пережитком много лет назад; device.map выглядел благоразумным при обновлении grub-mkdevicemap. Думаю, что моя паранойя в этой области происходит от BIOS старого mobo, который изменить порядок устройства, который GRUB видит по прихоти).
Результат: все прошло хорошо, и теперь у меня есть два старых 80-гигабайтных IDE-диска из коробки, а также быстрая и быстрая система загрузки, работающая на SSD-дисках RAID1 со всеми файловыми системами, масштабированными до новых размеров разделов. Другой «недостающий фрагмент головоломки Grub», который я искал, - dpkg-reconfigure grub-pc
это вопрос о том, какие диски поддерживать MBR. Ответ Аарона на самом деле больше всего убедил меня, что это работает, как и ожидалось, и, следовательно, принял этот ответ.
dd if=/dev/sda bs=1 count=512 | grep -aob GRUB
. Это вернет положение маркера в загрузочном секторе.Процесс загрузки состоит из нескольких этапов (я описываю традиционный BIOS для ПК):
/boot/grub
.(hd0)/boot/grub
), которая определяет, где искатьgrub.cfg
и другие модули Grub.grub.cfg
выполняется, как правило, для отображения меню и загрузки ОС.Загрузочный сектор генерируется
grub-setup
, обычно вызывается черезgrub-install
. Загрузочный сектор попадает на тот диск, который вы указали (в синтаксисе Linux) в командной строкеgrub-install
илиgrub-setup
. Вы можете проверить наличие загрузочного сектора на диске, запустивfile -s /dev/sda
. Поскольку вы добавляете новый диск и хотите загрузиться с него, вам необходимо запуститьgrub-install
новый диск. Запускатьgrub-install
несколько раз на одном диске безопасно.Сложная часть в шаге 2 выше. Если это вообще возможно, поместите Grub (т.е.
/boot/grub
каталог) на загрузочный диск BIOS (или, приближаясь к этому с другой стороны, попросите BIOS загрузиться с диска, на котором он/boot/grub
находится). Это гдеdevice.map
вступает в игру. Убедитесь, что(hd0)
сопоставлен с диском, который содержит/boot/grub
, а затем запуститеgrub-install
на этом диске.Если ваши два диска находятся в конфигурации программного RAID-1, у вас будут идентичные загрузочные сектора. Это желаемое поведение: если один диск, который является загрузочным диском BIOS, выходит из строя, загрузка с другого будет просто работать (так как они содержат одинаковые байты в тех же соответствующих местах). Если вы зеркалировали только определенные разделы, то установка загрузочного сектора влияет только на один из дисков. Вы должны
grub-install
снова запустить на втором диске, после изменения,device.map
чтобы связать(hd0)
с диском, содержащим вторую зеркальную копию/boot/grub
.Шаг 3 довольно сложный, но обычно работает из коробки. На шаге 4 Grub находит файловые системы по UUID или ищет именованные файлы, поэтому вам больше не нужно беспокоиться о различных способах назначения дисков.
источник