Как мне предотвратить, чтобы две ОС забивали файлы Grub?

7

Я хочу установить Linux и OpenSolaris на одном жестком диске в разных разделах. Я волнуюсь, потому что OpenSolaris, кажется, активно управляет данными grub при обновлении ОС (часть функции «загрузочной среды»). Есть ли что-то, к чему я должен подготовиться, чтобы предотвратить засорение моих данных grub. Если позже я захочу добавить еще одну версию linux в ту же систему, каковы соображения? Стоит ли выбирать одну ОС и всегда делать grub обновления с этой ОС? Если так, то как мне использовать iso для установки новой версии Linux? Не пойдут ли они дальше и самостоятельно изменят данные grub? После того, как я уже загрузился в Linux и хочу обновить свои файлы grub, должен ли я запустить команду grub, которая считывает данные из загрузочного раздела диска и помещает их в локальную файловую систему, в которую я сейчас загружаюсь?

Chris Quenelle
источник
Это больше вопрос ИТ, и он не подходит для SO. Это хороший вопрос, но он относится к другому месту.
swilliams
Возобновлено. В среде разработки программист может запускать обе эти операционные системы (или две аналогичные ОС) и сталкиваться с этой проблемой, что предотвратит загрузку и, следовательно, остановит разработку.
Thomas Owens
Программисты должны есть и спать, но это не делает эти приемлемые темы на SO. То, что это влияет на программистов, не делает его связанным с программированием.
ephemient
Еда и сон не являются техническими. Это правильный технический вопрос, который помогает программисту выполнить свою работу. Я думаю, что это так же приемлемо, как найти правильный стул, инструменты для отслеживания времени и тому подобное.
Thomas Owens
Я хотел защитить рассуждения свилим. Я не уверен, подходит ли этот вопрос для SO или нет, он находится в том, что я считаю серой областью (до тех пор, пока часто задаваемые вопросы не проясняются дальше или голосование сообщества).
ephemient

Ответы:

3

Вам придется рассказать одну ОС или другую не чтобы автоматически заглушить загрузочный сектор GRUB.

Во всех дистрибутивах Linux, которые я видел, есть какой-то способ предотвратить засорение загрузочного сектора на их установочном компакт-диске, но это часто в какой-то непонятной расширенной опции.

Большинство данных конфигурации GRUB не хранится в очень маленьком загрузочном секторе, который просто содержит небольшую загрузочную программу и указатель, где найти остальные Данные конфигурации обычно хранятся в обычном каталоге в обычном разделе на диске ( /boot под многими дистрибутивами Linux). Так что, если Solaris фактически не входит и не копается в данных раздела Linux, это, вероятно, не так уж и сложно ... если одна ОС захламляет загрузочный сектор, созданный другой, вы можете легко восстановить его.

Dan
источник
3

Grub - это программа, как и любая другая. В начале жесткого диска есть небольшой раздел (основная загрузочная запись), в котором указано, какую программу следует использовать для загрузки операционных систем. Это вещь, которая затирается, когда вы устанавливаете новый grub. Однако можно не устанавливать grub с новой ОС (кроме Windows, которая всегда должна устанавливаться первой в мультизагрузочной системе). Если вы решите не устанавливать grub, вы должны сконфигурировать grub исходной системы для распознавания новой. Другими словами, вы управляете кучей всех операционных систем из одной (в этом случае, похоже, что Solaris будет лучшим выбором, если он будет таким агрессивным). Из этой ОС очень легко добавить другие опции в ваш grub. В /boot/grub/menu.lst вы можете добавить новые опции и выбрать их порядок. Например, я запускаю Ubuntu, Windows и Gentoo, чтобы поиграться. Мой menu.lst содержит записи:

title       Ubuntu 8.04.1, kernel 2.6.24-18-generic
root        (hd1,0)
kernel      /boot/vmlinuz-2.6.24-18-generic root=UUID=887466bc-8a0d-4408-
17a-91ec1cfd9f2a ro quiet splash vga=795
initrd      /boot/initrd.img-2.6.24-18-generic
quiet

title       Microsoft Windows XP Professional
root        (hd0,0)
savedefault
makeactive
chainloader +1

title       Gentoo Linux 2.6.25-gentoo-r7
root        (hd0,1)
kernel      /boot/kernel-2.6.25-gentoo-r7 root=/dev/hdb2

Каждый из них содержит основную информацию о системе, которую я хочу загрузить, включая имя, место на жестком диске (диск и раздел) и место на диске, которое нужно загрузить. Обратите внимание, поскольку Windows хочет загрузить себя, мы даем grub знать, что она собирается загружаться цепочкой, найдя загрузчик Windows на диске 0 раздел 0 (в самом начале) и запустив его вместо этого. Для системы Linux вам действительно нужно только имя, корневой диск и расположение ядра, чтобы добавить новое в ваше меню grub.

Если вы позже установите linux и забудете пропустить установку grub, вы также можете скопировать menu.lst из одного в другой.


источник
2

Я думаю, что вам лучше использовать одну из ОС в качестве виртуальной машины.

Благодаря современному процессору, который поддерживает расширения виртуальной машины и пару ГБ оперативной памяти, вы можете легко запустить 3-4 машины. Используйте следующий фрагмент, чтобы проверить, поддерживает ли ваш процессор их.

egrep '^flags.*(vmx|svm)' /proc/cpuinfo

Для этого есть множество вариантов: Xen, kvm, VirtualBox, VMware.


источник
1

В последний раз, когда я настраивал систему с двойной загрузкой (до дней виртуальных машин, как и в ответе предыдущего человека), она давала вам возможность создать загрузочную дискету. Это было полезно, потому что после того, как вы установили другую ОС и записали ее в основную загрузочную запись, вы можете загрузиться с дискеты, настроить Grub для последовательной загрузки других ОС и переустановить ее на MBR. Я не знаю, каков современный эквивалент, потому что я использую VMware.

Paul Tomblin
источник
0

Не делись /boot между операционными системами, это просто больше работы. По умолчанию для большинства современных дистрибутивов используется один / файловая система, с /boot будучи просто подкаталогом, но даже если /boot это отдельный раздел, он будет в порядке с отдельным разделом для ОС.

Каждая ОС будет управлять своей собственной /boot, и один из них будет загрузочным разделом по умолчанию - вы сможете легко настроить его для цепной загрузки другого. Grub может устанавливать свои заголовки только в свой собственный раздел, не затрагивая весь диск.

ephemient
источник
Проблема не в разделе / ​​boot, а в том, что многие инсталляционные программы помещают свои собственные вещи в основную загрузочную запись, не учитывая, что там уже есть.
Paul Tomblin
Ничто после установки не должно касаться MBR без вашего разрешения, и вы можете легко исправить несколько установок grub после установки. При этом я знаю, что Debian спрашивает, хотите ли вы установить grub на диск или раздел, и я ожидаю, что аналогичные параметры будут и в других установщиках.
ephemient
0

Вы можете попробовать установить оба БЕЗ grub и просто сохранить компакт-диск, содержащий super grub, который позволит вам загружать любую ОС.

Super Grub Disk - это утилита, которая после запуска запускает grub, вы можете выбрать свою ОС, исправить grub на MBR и другие.

я считать Вы также можете создать загрузочный диск помимо grub или lilo. Я не уверен, как это сделано, однако.


источник