puhpol
- Longevity: 10 years
- Posts: 892
- REPUTATION:75[+] [-]
|
BalAngel, stea.61, Приветствую Господа! Спасибо огромное, теперь понятно.
|
BalAngel
- Longevity: 9 years 7 months
- Posts: 257
- REPUTATION:14[+] [-]
|
Не обращал внимание на то, что вместо файла unicode.pf2, можно применить euro.pf2 Если раздел не один, может возникнуть ситуация, когда при явном указывании на раздел с grub2 - hd(0,1) hd(0,2) - Grub2 не будет найден. Якобы не писать hd(x,y), мол, Grub2 будет искаться и найдется. Но вариант с неуказыванием hd(x,y) у меня не получается: error: unknown filesystem entering rescue mode... grub rescue> Попробую не на USB диске, а на флешке
|
Отправлено: 14-Jul-2020 17:21
(after 3 years 2 months)
Devils
- Longevity: 8 years 4 months
- Posts: 20
- REPUTATION:2[+] [-]
- Location: Чехов
|
39965Оказалось все намного проще чем думалось. Вот рабочий скрипт по автоматическому появлению пункта меню для Grub2 if [ -f /test/bootmgr ]; then menuentry "test"{ chainloader /efi/microsoft/x64/test/bootx64.efi } fi Проверил на двух компах. А если необходимо найти файл на другом разделе?if [ search --set=root -f /EFI/Microsoft/Boot/bootmgfw.efi ] ; then menuentry "Starting Windows from HDD (EFI)" --class win { search --set=root -f /EFI/Microsoft/Boot/bootmgfw.efi chainloader /EFI/Microsoft/Boot/bootmgfw.efi boot } fi Такой вариант не находит файл на другом разделе, хотя файл есть.
|
Отправлено: 14-Jul-2020 18:38
(after 1 hour 17 minutes)
Ander_73
- Longevity: 7 years 10 months
- Posts: 3838
- REPUTATION:127[+] [-]
|
Devils,search --set=var -f /EFI/Microsoft/Boot/bootmgfw.efi if [ -f ($var)/EFI/Microsoft/Boot/bootmgfw.efi ]; then menuentry "Starting Windows from HDD (EFI)" { set root=$var chainloader ($var)/EFI/Microsoft/Boot/bootmgfw.efi } fi
|
Отправлено: 24-Oct-2020 14:27
(after 1 month 22 days)
AZJIO
- Longevity: 6 years 9 months
- Posts: 1324
- REPUTATION:127[+] [-]
|
BalAngel, в архиве если посмотреть Scanner`ом, то там можно выкинуть некоторые файлы размером 10Мб, 4Мб и картинки по 2 Мб или обработать их конвертером сделав до 100 кб и останется компактный вариант, хотя я почитал, там много взято с этого форума тексты, нет структуры, например по разделам "Установка Grub2" и там же "Установка в Linux", "Установка в Windows", далее например "Синтаксис" и в ней "Внутренние переменные", "Примеры создания условий", далее: "структура файлов", "Локализация", "готовые конфиги" и в них "Загрузка ISO", "Загрузка ОС" и т.д. А тут на общей простыне общие мысли, вроде что-то читаешь, а ответы на свои вопросы не находишь. Попробовал поиском по html-файлам искать к примеру информацию о переменной $prefix, и упоминания есть, а описания нет, в итоге методом тыка и поиском в гугле конкретных задач быстрее учишься чем читая простыни. Просто вывел переменную используя echo в эмуляторе QEMUmenuentry "prefix"{ echo $prefix pause }
|
AZJIO
- Longevity: 6 years 9 months
- Posts: 1324
- REPUTATION:127[+] [-]
|
Вот фото MBR, там упоминание GRUB. Обычно в MBR указан файл, который загружается и продолжает выполнение загрузки. В данном случае интересует где связь, что начитает грузить MBR, какому файлу передавать загрузку. Читал что core.img является основным. Посмотрел бинарно boot.img он практически копия MBR.
|
stea.61
- Longevity: 8 years 10 months
- Posts: 671
- REPUTATION:100[+] [-]
- Location: 61 RUS
|
Привет. 81037Читал что core.img является основным. Так и есть. При установке GRUB именно core.img и записывается на носитель в качестве загрузчика. Содержимое (модули), конфиг core.img и его размещение на диске могут быть различные. В MBR пишется boot.img и (по смещению 005С) адрес (номер сектора диска) записанного core.img, на который прямой адресацией передается управление из MBR.
Last edited by stea.61 on 2020-10-26 21:06; edited 1 time in total
|
AZJIO
- Longevity: 6 years 9 months
- Posts: 1324
- REPUTATION:127[+] [-]
|
81041В MBR пишется boot.img и (со смещением 1F4) адрес (номер сектора диска+1) записанного core.img Адрес = путь? Я не нахожу в секторе 1 путь \boot\grub\i386-pc\core.img. Если бы это было бинарное расположение файла core.img, то при копировании нового core.img в другое смещение он бы его не увидел, да и откуда ему знать, такой адрес если я распаковал архив. А пути я не вижу просмотрев несколько секторов. Смещение 1F4 это чуть меньше одного сектора, так как сектор 1FF = 512 байт.
|
stea.61
- Longevity: 8 years 10 months
- Posts: 671
- REPUTATION:100[+] [-]
- Location: 61 RUS
|
AZJIO, я в посте адрес в MBR поправил - не 1F4, а 005С. Со смещением 1F4 уже в файле core.img (точнее, в той области диска, куда записан загрузчик) в свою очередь прописывается адрес дальнейшей передачи управления. Пути к файлу в MBR и нет - адресация не по имени файла, а прямая к области диска по номеру сектора. Добавлено через 8 минут 55 секунд: У core.img свой встроенный config, который может быть различным - формируется при компиляции. В стандартном варианте выполняется поиск "домашнего" каталога, загрузка normal.mod (если он не встроен в core.img) и далее чтение-выполнение $prefix/grub.cfg.
81043и откуда ему знать, такой адрес если я распаковал архив. Инсталлятор определяет и пишет нужную адресацию. О какой "распаковке из архива" речь?
|
AZJIO
- Longevity: 6 years 9 months
- Posts: 1324
- REPUTATION:127[+] [-]
|
81044О какой "распаковке из архива" речь? я заинтересовался способом установки Grub2 на флешку, в BOOTICE выбрал загрузчик Grub2 , он мне прописал MBR, но файлов нет, использовал командуsudo grub-install --root-directory=/mnt/USB/ /dev/sdb файлы появились, но есть проблемы с подключением фона и русского языка, а также пункты загрузки iso, которые работают на стационарном компе не работают с флешки, кроме одного образа, и я ломаю голову то ли Grub2 виноват, то ли проблема, что образы не могут смонтировать флешку, потому как пишет что sdb не найден или не удалось подключить, частично загрузившись. фото
|
stea.61
- Longevity: 8 years 10 months
- Posts: 671
- REPUTATION:100[+] [-]
- Location: 61 RUS
|
81047в BOOTICE выбрал загрузчик Grub2 , он мне прописал MBR, но файлов нет, использовал команду В данном случае BOOTICE записал не только MBR, но и в область со 2-го по 63-й сектор свой (встроенный в BOOTICE) минимальный core.img - состав его модулей перечислен в окне установки MBR BOOTICE. Добавлено через 5 минут 21 секунда:
81047файлы появились, но есть проблемы Может иметь место несовместимость версий GRUB - core.img, встроенный в BOOTICE, довольно старый. Добавлено через 5 минут 44 секунды: Добавлено через 21 минута 41 секунда:
81047потому как пишет что sdb не найден или не удалось подключить, частично загрузившись. А у тебя "/dev/sdb" где-то к параметрах загрузки прописано? Если загрузка начинается с Flash, то она должна быть /dev/sda - зарузочный HDD (или Flash) это, как правило, /dev/sda. А вообще самый правильный вариант - использовать в параметрах загрузки ID или метку диска.
|
AZJIO
- Longevity: 6 years 9 months
- Posts: 1324
- REPUTATION:127[+] [-]
|
stea.61, поломал загрузку, попробовал со второй страницы скачать виндовый инсталятор, по описанию сделалgrub-install.exe --boot-directory="d:/boot" \\.\physicaldrive1 теперь пишет grub_file_filtres не найден. У меня уже была эта ошибка. BOOTICE тоже не помогает.81048Если загрузка начинается с Flash, то она должна быть /dev/sda - загрузочный HDD (или Flash) это, как правило, /dev/sda. что если это для распакованного iso работает или для CD-диска, а для загрузки из образа он ещё не знает откуда он загрузился и монтирует диски, чтобы найти на них путь. Если образ не рассчитан монтировать флешки на загрузке, думая что он грузится с диска и флешка как бы ему не нужна, если нужна смонтируешь в файловом менеджере. На доступных устройствах думаю hdd имеет приоритет, пока не известно откуда шла загрузка. Fedora например не монтирует ntfs при поиске iso на дисках и не может себя загрузить, если только образ поместить на ext4 или fat32. Восстановил загрузчик. Пробовал сначала v2.0.4 с ней проблема, скачал 2.0.2 с ней сразу пошло. Вот теперь и русский язык загрузил и фоновую картинку.
|
stea.61
- Longevity: 8 years 10 months
- Posts: 671
- REPUTATION:100[+] [-]
- Location: 61 RUS
|
81049образ не рассчитан монтировать флешки на загрузке Для Linux Flash-Disk - это HDD. Linux их может не монтировать (зависит от init скрипта), но в блочные устройства обязательно определит и номер присвоит. Загрузочный диск, вероятнее всего, получит имя /dev/sda, но это не обязательно, потому и написал, что правильнее всего в параметрах загрузки root-device прописывать через ID или метку диска.81049Fedora например не монтирует ntfs при поиске iso на дисках и не может себя загрузить, если только образ поместить на ext4 или fat32. Это, скорее всего, определено init файлом данного конкретного дистра, или может даже в ядре модуль ntfs отсутствовать - в каждом дистре своя политика. PS Посмотрел твои скрины на ru-board: "тут вначале пишет не могу открыть sdb, съёмное устройство не найдено" Вероятная причина - на Flash не сброшен "грязный бит" от Windows. Это довольно типично для Flash с FAT32 - Linux его воспринимает как признак того, что Win "не освободила" носитель. В Mix-Linux я специально для обхода этой ситуации заметно усложнял initrd.
Last edited by stea.61 on 2020-10-26 23:31; edited 2 times in total
|
Page 3 of 4
Current time is: 11-Dec 15:44
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|