- LINUX — Жизнь в консоли ЕСТЬ.
- Главное меню
- Последние статьи
- Счетчики
- Меняем Grub2 на Grub. Прописываем загрузку Mac OS и Windows7.
- Правильная загрузка ядра linux с EFI на Macbook
- Snippet: How to Create a Mac Boot Entry in Grub2
- 11 comments
- Popular Posts
- И снова GRUB2 но уже на Mac Pro (пока двойная загрузка)
LINUX — Жизнь в консоли ЕСТЬ.
Главное меню
Последние статьи
Счетчики
Меняем Grub2 на Grub. Прописываем загрузку Mac OS и Windows7.
Небольшая предистория. Есть у меня нетбук acer aspire one 110 с замененным SSD на нормальный HDD. Как то путешествуя по просторам rutracker.org наткнулся на сборку Macintosh OS как раз для моего бука (образ, созданный с помощью Acronis). Очень хотелось посмотреть на эту ось. Отформатировал весь винт, создал четыре раздела: 26Гб под Mac (пока оставил пустым, то бишь не форматировал), 20Гб под Win7(сделал его primary), третий раздел под lubuntu, четвертый — файл подкачки. Сначала установил Win7 на второй раздел. Затем с помошью Acronis развернул образ мака на первый раздел, в процессе поставив галочки переписать загрузочную запись MBR из образа и сделать первый раздел первичным (primary). В результате получил две ОС, изначально грузился маковский загрузчик под названием хамелеон, в меню которого можно было выбрать загрузку виндовс. дальше были танцы с бубном: в установленном поверх всего lubuntu, точнее в его загрузчике grub2, необходимо было прописать загрузку мака. Grub2 сам находил mac os, но при попытке ее загрузить — черный экран, и тишина. В итоге с Grub2 мне поладить так и не удалось, и я решил снести его и поставить старый добрый grub.
sudo apt-get purge grub-pc
sudo apt-get install grub
Создаем необходимые для загрузчика файлы (menu.lst и др.) командой:
sudo update-grub
Записываем информацию в загрузочный раздел диска:
sudo grub-install /dev/sda
где /dev/sda — мой жесткий диск (можно посмотреть командой sudo fdisk -l).
Далее приступаем к редактированию загрузчика, так как пока в нем есть запись только для загрузки самого lubuntu:
sudo nano /boot/grub/menu.lst
Комментируем символом # строку:
# hiddenmenu
если комментарий не убран — для отображения всех вариантов загрузки нужно жать Esc.
Меняем timeout 3 на :
timeout 10
это время в секундах, в течение которого можно выбрать вариант загрузки. По умолчанию загружается линукс.
Далее идем почти в конец файла и прописываем загрузку mac os и windows 7. В итоге у меня последняя секция выглядит так:
## ## End Default Options ##
title LUbuntu :)))
uuid 95619c02-5f7c-4a4b-9bd7-308007e7fc2a
kernel /boot/vmlinuz-2.6.32-19-generic root=UUID=95619c02-5f7c-4a4b-9b$
initrd /boot/initrd.img-2.6.32-19-generic
title Mac_OS 🙂
rootnoverify (hd0,0)
makeactive
chainloader +1
title Windows_7 🙁
rootnoverify (hd0,1)
makeactive
chainloader +1
### END DEBIAN AUTOMAGIC KERNELS LIST
Title — заголовок, то, что мы увидим в меню при загрузке.
Команда rootnoverify указывает что не требуется определять тип файловой системы, и grub не будет пытаться монтировать ее.
Команда makeactive выставляет флаг активности в таблицу разделов для указанного раздела, некоторые ОС это требуют, например windows98, возможно в моем примере будет работать и без этой команды, не пробовал, на всякий случай пусть будет.
Chainloader +1 -передаем управление загрузчику ОС.
Источник
Правильная загрузка ядра linux с EFI на Macbook
Предлагаю несколько вольный перевод программиста Gentoo о правильном способе загрузке на ноутах с EFI вместо BIOC-а на борту.
Мне недавно купили Macbook Pro 13.3 дюйм и я решил поставить на нём Gentoo Linux.
Сказано — сделано. В целом инсталляция прошла успешно, не считая маленьких недоразумений вроде неработающей клавы из под LiveCD, ядро видит консоль только с vesafb .
Единственное, что немного меня напрягало, это эмуляция BIOS-а. Маки используют для загрузки интеловский EFI, а для остальных ОС Apple добавило уровень эмуляции BIOS-а. Именно так Ubuntu и грузится на Маках.
Мне же это показалось неверным в техническом плане и в принципе. Я немного поднапрягся и мне удалось запустить ядро Linux из под EFI без всяких эмуляций. Документации достаточно мало, поэтому хочу поделиться своим способом.
- EFI стартует при загрузке.
- Запускает rEFIt, программа, которая расширяет возможности дефолтного загрузчика, добавляя нормальное загрузочное меню, командную строку, и т. п.
- Сканирует FAT/HFS разделы (ext* не поддерживаются) ища загрузочный, который содержал бы каталог /efi/ ; и загрузочные образы.
- Запускает образ Grub2 EFI с FAT раздела.
- Загружает ядро Linux с /boot (+ initrd/initramfs если задано).
- Ядро, как обычно, загружается с корневого раздела, можно выбрать любую файловую систему.
Можно использовать elilo , но Grub2 (точнее Grub 1.97.1 ) справляется лучше, вернее это единственное, что хоть как-то работает с небольшими модификациями (добавить в ebuild USE флаг efi через —with-platform=efi ). У меня получилось настроить /boot раздел на файловую систему FAT, но от этого падает installkernel скрипт запускаемый из директории исходников ядра, который создает символические ссылки на новый и предыдущий образы ядра.
Инструкции по установке EFI образа Grub2 тут. Установите образ EFI в директорию, что-то наподобие /efi/grub (обязательно должен быть путь /efi ). Команды bless можно пропустить, они для OS X. Можете создать простенький конфиг-файл командой grub-mkconfig и затем модифицировать его. Однако, для того, чтобы сделать По Уму™ вручную отредактируйте файлы из /etc/grub.d/ .
Конечно же надо выставить в ядре поддержку EFI, но на этом уже всё. Теперь вы осознаете с некоторым маниакально-навязчивым удовлетворением, что не должны подключать лишнее звено для поддержки еще одного проприетарного интерфейса, находящегося за пределами вашей видимости и контроля.
Источник
Snippet: How to Create a Mac Boot Entry in Grub2
If you have just created a dual-boot system with Mac Snow Leopard and Ubuntu Karmic and find that the Grub2 does not boot up your Mac, you can follow the instruction below to add the correct boot entry in Grub2.
Boot into Ubuntu Karmic.
Open a terminal and type:
Add the following to the end of the file:
Save and close the file. Back in the terminal, type:
That’s it. You should now see an extra entry in your Grub screen. Scroll down to the last entry and it will boot into your Mac Snow Leopard.
Damien Oh started writing tech articles since 2007 and has over 10 years of experience in the tech industry. He is proficient in Windows, Linux, Mac, Android and iOS, and worked as a part time WordPress Developer. He is currently the owner and Editor-in-Chief of Make Tech Easier.
11 comments
I was told that running Ubuntu on a MacBook could break its processor and stuff as it cant handle some lowlevel-things about the hardware. Is that true?
The article was not referring to Ubuntu on a Macbook, but Mac on a PC (with Ubuntu). In another word, I am referring to hackintosh.
So far, I have not been able to dual boot Ubuntu on a Macbook yet.
I am running ubuntu on my 1st gen macbook and it works just fine. 🙂
So how did you set it up with this then?
I can’t seem to get it to work :
Hello guys. I have Ideneb 10.5, XP and Ubuntu all on my HDD using Grub2. It doesn’t see the Mac OS X on the boot screen. Can someone help me resolve this? I am new to Linux. Thanks
Try the following command in your terminal:
Thanks Damien, I tried it and the list it generates in the terminal window still doesn’t show the Mac OS X.
my sl partition is on /dev/sdb2 so i add this :
menuentry “MacOS X Snow Leopard1” <
insmod hfsplus
set root=(hd1,2) #change X to the Mac SL partition
multiboot /boot
>
what is multiboot exact?
this menuentry dont work for me:(
perhaps, problem is for chamelone on sl?
It load Chameleon fine but that fails to load Snow Leopard.
Thanx great fix!
I had to use hd0,1 instead of hd0,2 which was where my mac snowleopard partition was located.
Just out of curiosity, what does multiboot mean?
how to build grub2 on mac os x?
Comments are closed.
Popular Posts
RedMagic 6S Pro Review: Gaming Is Serious Business.
How to Fix Mac Wi-Fi Problems and Dropped Connections
How to Boot to Recovery Mode (Safe Mode) in Ubuntu
Ubuntu Software Center Not Working? Here Are the Fixes
How to Stress Test a Graphics Card on Linux
5 Simple (Yet Cool) Drawing Apps for Mac
How to Mount a Windows Share Folder on Linux
How to Mount Your iPhone as an External Drive in Ubuntu
Camera Not Working or Available on Mac? Here’s How to Fix It
How to Fix Ubuntu Freezing in VirtualBox
How to Run Android Apps on Mac
Affiliate Disclosure: Make Tech Easier may earn commission on products purchased through our links, which supports the work we do for our readers.
Источник
И снова GRUB2 но уже на Mac Pro (пока двойная загрузка)
Всем привет! Помогите немножко, пожалуйста, новичку в десктопном Линуксе (Ubuntu 14.10). Описываю ситуацию. Простите сумбур и многословность 🙂
Имеется Mac Pro 3,1 (mid 2008), ситуация по дискам такова:
Первый диск (на нем установлена OS X Yosemite, устанавливалась первой):
Второй диск (оставлен пустым, под будущую установку винды):
Третий диск (самое интересное: сюда была установлена Ubuntu 14.10 и сюда же при установке был установлен загрузчик):
Ну и четвертый диск для данных Мака, в принципе,значения не имеет:
Проблема с GRUB2. Сначала была установлена OSX /dev/sda — она и грузилась нормально. Потом установил Ubuntu на /dev/sdc, сюда же был установлен и GRUB2. Теперь по умолчанию грузится Ubuntu, OSX можно загрузить только зажав клавишу Opt при старте. Не самый лучший вариант. Хотелось бы получить нормальный загрузчик. Пользоваться программами типа rEFInd не хочется.
Я попробовал отредактировать файл /etc/grub.d/40_custom:
Так и не получилось загрузить OSX через GRUB2.
Я попробовал отредактировать файл /etc/grub.d/40_custom:
После этого update-bootloader делал?
Вообще, эксперименты проще делать прямо в меню загрузки груба: клавиша e — переход в режим редактирования параметров загрузки, клавиша c — командная строка груба с автодополением по TAB. Заодно увидишь, в чем проблемы, и я не знаю что такое multiboot, но есть такая вещь как chainloader, которая умеет грузить систему с диска/раздела.
Проблема с GRUB2. Сначала была установлена OSX /dev/sda — она и грузилась нормально. Потом установил Ubuntu на /dev/sdc, сюда же был установлен и GRUB2.
Зачем загрузчик было ставить на /dev/sdc? У тебя же EFI — монтируй /dev/sda1 в /boot/efi и ставь туда загрузчик.
Зачем груб? Есть же химера, клевер. Они не хуже и заточены под мак.
Я делал update-grub или что-то вроде этого. Сейчас из дома пишу, история команд на рабочем компе.
Да, я перебрал все возможные диски и разделы на них именно в меню загрузки груба. Не сработало ничего. Мне кажется, что multiboot не подходит (я этот вариант нагуглил). К сожалению, я раньше груб не настраивал, посему что такое chainloader и как им пользоваться я не знаю. Не поможешь?
На /dev/sdc поставил загрузчик чисто из-за боязни прибить нативный маковский загрузчик. Почти 10 лет сижу на Маке, а подружить с Линуксом попробовал первый раз 🙂 Опять же, потом Винду на еще один диск поставлю, хотелось, чтоб ГРУБ ничто тоже не прибило. Думал, потом смогу его настроить.
У тебя же EFI — монтируй /dev/sda1 в /boot/efi и ставь туда загрузчик.
А это как? Не объяснишь как это сделать?
Эээээ. Мне всегда казалось, что они под Хакинтош, а у меня нормальный Мак. Я ошибаюсь? Я пробовал rEFInd под Мак, но он мне не понравился — он почему-то раздел с Yosemite сразу не видит, надо нажать в самом загрузчике «Обновить». Показалось неудобным.
А это как? Не объяснишь как это сделать?
1. Создаешь /boot/efi. В /etc/fstab прописываешь монтирование /dev/sda1 в /boot/efi. Например,
UUID /dev/sda1 можно узнать командой blkid.
После перезагрузаешься, либо вручную (если не хочется перезагружаться) монтируешь /boot/efi.
2. Ставишь пакет grub-efi.
3. Выполняешь команды
Единственное, что теперь нужно мак заставить грузить по умолчанию grub. На вики арча — есть команды, которые нужно запустить из под OS X
Только пути не забудь поправить.
Вроде, этого должно хватить.
Попробовал — не помогло 🙁
есть хамелеон в самом маке и он может грузить убунту, точнее был, потом его опять переименовывали вроде.
Половина дела сделана 🙂
Сначала я в OSX сделал то, что было описано в статье, ссылку на которую ты дал. Вот как у меня выглядела там структура папок в примонтированном разделе efi:
Создаешь /boot/efi. В /etc/fstab прописываешь монтирование /dev/sda1 в /boot/efi. Например,
Так в /etc/fstab монтировать /dev/sda1 или /dev/sda2? У меня в этом файле автоматом в какой-то момент появились строки:
В итоге сейчас какая-то странная ситуация — Mac теперь сразу же, по умолчанию, загружает GRUB, но в меню груба нет запуска OS X. И попасть в OS X теперь можно только восстановив загрузку через режим Recovery в OS X. Но если я восстанавливаю загрузку OS X, то я тогда не могу попасть в Ubuntu, и мне надо проделывать вышеописанные манипуляции. Получился замкнутый круг! 🙂
Как мне теперь добавить в меню GRUB загрузку OS X?
Так в /etc/fstab монтировать /dev/sda1 или /dev/sda2? У меня в этом файле автоматом в какой-то момент появились строки:
Да, строчки правильные. То, что в apple показывается — apple умеет работать без отдельного EFI раздела и свой загрузчик держит на основном диске.
В итоге сейчас какая-то странная ситуация — Mac теперь сразу же, по умолчанию, загружает GRUB, но в меню груба нет запуска OS X.
Попробуй ручками запустить команду
Если в выводе будет MacOS — то просто перегенерируй grub.cfg
Если в выводе ничего про MacOS не увидишь, то придется соответствующую запись, что-то вроде
самому ручками в /etc/grub.d/40_custom добавлять и после этого перегенерировать grub.cfg. У самого мака нету, поэтому насчет того, насколько строчки правильные не уверен.
Воо, раз там EFI, то что вообще есть в /boot/efi? find /boot/efi
Там по идее должен быть загручик MAC OS, его тогда можно через тот же chainloader загрузить.
А, проглядел, что там пусто до установки GRUB.. Тогда не очень понятно. Посмотри все-таки вариант с chainloader (hd0,1) или chainloader (hd0,1)+1.
Вывод вообще пустой. Просто задумывается на пару секунд и следующая строка ввода в терминале, и все.
А можно тогда попросить написать весь код в menuentry? А то одной подсказки chainloader (hd0,1)+1 мне не хватает 🙁
В викепедии написано, что у макоси загрузчик по умолчанию на системном диске хранится. Хотя можно и внешний прикрутить и положить его в /dev/sda1.
В командной строке груба напиши (кнопка C при загрузке).
Вообще же это должно быть примерно так:
или без +1 — я тут каждый раз забываю, как правильно. Для загрузки из файла нужно одно, для загрузки с диска другое, и я путаю.
Да, я понял уже что там пусто. Подумал, что раз есть EFI, то и загрузка из него производится.
Загрузчик побежден! Правда, немного иначе строка выглядит в итоге.
Правильный синтаксис, в итоге, оказался такой:
Остался последний вопрос. Как лучше установить Windows 8 на диск /dev/sdb? Чтобы она прописалась в загрузчики, или чтоб потом ее также руками добавить, как и OS X. При установке винды, не затрется ли ГРУБ? Или винда сделает активной свой EFI-раздел на своем диске и будет грузиттся оттуда? Как тогда активным ГРУБ сделать?
Чтоб не лазить к первому сообщению, напомню список дисков:
Зависит от загрузки. Если загрузка с установочного диска пройдет в EFI режиме, то винда пропишет загрузчик в EFI, а там можно выбрать вручную GRUB. Если не в EFI, то по идее должна записать загрузчик в MBR первого системного диска (sda). Но я так понял, что sda не MBR, так что может вообще отказаться устанавливаться. Возможно, поможет смена первого диска в BIOS, или что там у маков.
Дальше, винду груб обнаруживает сам. При переконфигурации конфига он затрет любые изменения, сделанные вручную (секция для загрузки Mac OS), так что её надо перед обновлением конфигурации загрузчика внести в /etc/grub.d/40_custom.
Спасибо! Буду пробовать.
В общем, установил я винду. Теперь такая же проблема — никак не могу запихнуть ее в ГРУБ, os-prober ее видеть не хочет. При включении компа с зажатой клавишей Opt можно ее загрузить. Т.е., ситуация аналогична той, что была с Mac OS X — надо создать правильный кастомный файл для загрузки винды.
Как ставилась винда — запустился инсталятор, сказал, что на диск, который GPT ставится не буду. Ок. Сменил тип раздела — сделал MBR. Инсталятор сказал, что сюда ставится можно, но при попытке поставить, сказал, что не удалось создать системный раздел, ставиться не буду совсем. Ок. Под Mac OS X есть прога — winclone, она может образ винды запихнуть прямиком на диск. Единственное, диск должен быть GPT. Переразделил диск снова под GPT, и с помощью этой проги запихнул образ винды. Все, винда есть, она запускается при зажатой клавише Opt.
Вот как выглядит диск /dev/sdb где она стоит:
Пробовал с помощью GRUB Customizer сделать так:
В общем, у меня мысли кончились. Помогите, пожалуйста. Раз винда грузится в принципе, хоть и через задницу, то, значит, как-то можно ее и через ГРУБ загрузить.
drivemap — это команда grub2. Это не программа, и что такое bilibop я не знаю, но точно не то, что нужно. Вероятно, grub просто не нашел нужный модуль, возможно что в дистрибутиве версия grub2 еще без этой команды.
В линуксе в /boot/efi есть что-нибудь, кроме груба?
А кстати, я так понимаю что сейчас все диски разбиты в GPT, и на каждом есть раздел EFI boot? Что в них находится?
Нет, там только ГРУБ.
Вот содержимое EFI-разделов /dev/sda1 (на диске /dev/sda стоит OS X):
Странная картина вырисовывается. Почему-то ГРУБ присутствует аж на двух дисках, но не на собственно диске с Убунтой, даже на пустом диске есть. 🙂
mount: special device /dev/sdс1 does not exist
Шо? Какая-то из черепашек врет, похоже. А что в убунте говорит команда mount ?
Команда mount говорит много чего:
Но ни слова о том, куда дели /dev/sdc1.
Блин. Похоже, проще все будет сделать заново. Прибить и винду, и линукс. Оставить только OS X. Затем в штатном режиме, без winclone, поставить винду, а уж последним вляпать Убунту.
Вот только давай тогда разберем, куда ГРУБ ставить.
Все диски будут GPT.
При установке Линукса, какой раздел мне указывать для установки GRUB?
Возможно, sdc1 просто отсутствует, если в разметке GPT отсутствует первый раздел. Что говорят fdisk -l /dev/sdc и ls /dev/sdc* ?
Не думаю, что проще (ну, если только не «всё сломалось» или ты случайно форматнул весь диск), да и что изменится?
И я так и не понял, куда в итоге был установлен grub. Судя по тому, как он ругается на команды, очень похоже что он таки установлен в EFI mode. А что происходит при «включении компа с зажатой клавишей Opt»? Я так понимаю, ты попадаешь в меню EFI выбора ОС (загрузчика). Если так, то по идее винда куда-то установила свой загрузчик, и это либо тот же EFI, либо MBR какого-то из дисков. Можно попробовать узнать это из efivars в линуксе (если всё действительно так, как я выше написал). Что есть в /sys/firmware/efi?
Так, давай попробую ответить на все вопросы. 🙂 Вообще, при установке Убунту, я говорил, что GRUB надо установить на тот же диск, что и саму Убунту — на /dev/sdc
По факту, я теперь вообще не понимаю, где GRUB находится, раз к /dev/sdc1 Убунту доступа не дает.
Вот вывод sudo fdisk -l /dev/sdc:
А вот так выглядит «при включении компа с зажатой клавишей Opt»:
Т.е., «bios» Mac’а при загрузке видит собственно OS X (на /dev/sda), Windows 8.1 (на /dev/sdb), восстановление OS X (тоже на /dev/sda). Причем, винду он без проблем с этого экрана грузит.
Я попробовал радикальный способ. Дома у меня есть ноутбук, на котором есть винда 8.1 и Минт 17.1. Там один диск всего, линукс второй системой. Там GRUB без проблем находит винду. Я посмотрел, на какой раздел обращается там GRUB при загрузки винды. Примонтировал этот раздел. Там есть папка /EFI/Boot/Microsoft. , т.е., то, чего нет у меня здесь на EFI-разделе. Скопировал всю папку EFI на флешку.
На работе примонтировал свой EFI-раздел на диске с виндой — /dev/sdb1, который у меня тут пустой. Скопировал туда с флешки эту папку EFI.
После применения команды
Все удалил, как было. Сижу в растерянности.
Так, спокойно. В одном из следующих утверждений ошибка:
/dev/sdc1 (на диске /dev/sdc стоит Убунту) просто не дает примонтировать командой mount, пишет:
mount: special device /dev/sdс1 does not exist
Вот вывод sudo ls /dev/sdc*:
/dev/sdc /dev/sdc1 /dev/sdc2
Проверь еще раз (кстати, проверь что c не русская!). Если я не прав, и оба утверждения выше верны, жду скрин окна терминала с обеими командами и их выводом.
Далее, из того что /sys/firmware/efi существует, загрузка, видимо, происходит в режиме EFI. Осталось понять, где лежит загрузчик винды. По идее, он должен находиться тоже на одном из разделов EFI, вероятно это как раз /dev/sdc1.
Да, сорри, запутался уже. /dev/sdc1 монтируется. Но он пуст! Как так может быть, если я при установке GRUB сюда ставил — я не знаю.
Вот скрин терминала с обеими командами:
И где же тогда GRUB, и где виндовый загрузчик? 🙂
Получается хрень какая-то. Такое ощущение, что на /dev/sda1 сидит и GRUB, и загрузчик OS X. А еще GRUB сидит на /dev/sdd1! Это вообще пустой диск и откуда он там взялся я просто понять не могу.
Вот скрин терминала, который иллюстрирует мои слова:
На всякий случай: на sdb1 что-нибудь есть?
И что находится в папке APPLE на sda1? У меня подозрение, что это как раз загрузчик MacOS со всеми потрохами, в т. ч. конфигурацией.
Далее, советую изучить The EFI Boot Process, ну и посмотреть что находится внутри у /sys/firmware/efi/efivars/BootOrder (возможно, это двоичный файл с кусками текста). Отсюда будет понятно, что грузит EFI и откуда. UUIDы дисков (если они там используются, что не факт) можно узнать с помощью ls -l /dev/disk/by-uuid/ .
Нет, /dev/sdb1 совершенно пуст. В папке APPLE находится файл firmware.scap. Это не загрузчик, это файл с данными о железе Mac, нужный для обновления прошивки компа. Загрузчик OS X находится на самом системном диске, внутри операционки. OS X не нужен отдельный раздел для загрузчика.
Собственно, этот загрузчик я и гружу, когда исполняется кастомный файл для GRUB, в котором запускается OS X:
А узнать, где стоит GRUB можно и варварским методом — файлы загрузчика Убунты найдены на 2 дисках: /dev/sda и /dev/sdd.
Берем, физически, выдергиваем диск /dev/sdd из компа и смотрим, что получилось. Если пошли сбои загрузки — значит, работал этот диск. Если нет — /dev/sda
Но что дальше делать? Файлы загрузчика винды я не нашел, а она как-то грузится по клавише Opt (картинку я показывал). Как же быть?
На всякий случай, если мы так и не придем к решению. И я попробую все убить и переустановить. Как лучше поступить?
Каков был мой план на такое развитие событий:
Как думаешь, как лучше поступить? Просто боюсь, что мы так и не сможем понять, как в текущем положении загрузить винду.
Я бы на вашем месте для начала восстановил загрузку OSX. Затем, отключаем все диски, подключаем диск для Windows, устанавливаем. Отключаем диск с Windows, втыкаем диск для Linux, устанавливаем.
И, только тогда, когда у вас будут три независимые рабочие системы, начинаем на основе диска для линукса готовить мультизагрузку.
Такая идея тоже в голову приходила. Но встает вопрос — как быть после того, как я получу три рабочих диска с разными системами? Как только будет включен диск с OS X, все остальные операционки компу станут по барабану — он будет грузить именно OS X.
Винду-то я смогу загрузить принудительно — либо через клавишу Opt при включении, либо из самой OS X. А вот до GRUB я смогу добраться только через загрузку с какого-нибудь LiveCD.
Как мне тогда сделать выбор загрузки операционок?
Я бы доделал начатое. Не думаю, что переустановкой можно решить проблему.
Покажи содержимое BootOrder, и листинг /dev/sdb2. Если в sdb2 есть BCD, то там где-то должен быть и загрузчик. Поищи по дискам *.efi.
. Тем более что сейчас уже есть 3 рабочие системы, осталось только научить Grub грузить винду без Opt. Или есть какие-то еще проблемы?
Нет, других проблем нет — три системы работают, нужно добиться только загрузки винды из меню ГРУБА.
Так, /dev/sdb2 имеет метку BOOTCAMP и монтируется, соответственно, в папку /media/vottghern/BOOTCAMP. Если туда зайти, то мы видим стандартный набор папок винды. Есть папка Boot, внутри куча папок по языкам, есть файл BCD, но нет ничего, формата *.efi
Вот скрин, подтверждающий мои слова
Идем дальше. Запускаем там поиск по *.efi и видим крайне интересную картину:
Получается интересная ситуевина — загрузчик, как и в OS X, засунут просто в каталог с операционкой. Получается, необходимо создать кастомный файл по типу того, что я делал для OS X:
Вот что мне написать до команды chainloader?
Источник