puhpol
- Стаж: 10 лет
- Сообщений: 892
- Репутация:75[+] [-]
|
BalAngel, stea.61, Приветствую Господа! Спасибо огромное, теперь понятно.
|
BalAngel
- Стаж: 9 лет 8 месяцев
- Сообщений: 258
- Репутация: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-Июл-2020 17:21
(спустя 3 года 2 месяца)
Devils
- Стаж: 8 лет 5 месяцев
- Сообщений: 20
- Репутация:2[+] [-]
- Откуда: Чехов
|
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-Июл-2020 18:38
(спустя 1 час 17 минут)
Ander_73
- Стаж: 7 лет 10 месяцев
- Сообщений: 3872
- Репутация: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-Окт-2020 14:27
(спустя 1 месяц 22 дня)
AZJIO
- Стаж: 6 лет 10 месяцев
- Сообщений: 1325
- Репутация:127[+] [-]
|
BalAngel, в архиве если посмотреть Scanner`ом, то там можно выкинуть некоторые файлы размером 10Мб, 4Мб и картинки по 2 Мб или обработать их конвертером сделав до 100 кб и останется компактный вариант, хотя я почитал, там много взято с этого форума тексты, нет структуры, например по разделам "Установка Grub2" и там же "Установка в Linux", "Установка в Windows", далее например "Синтаксис" и в ней "Внутренние переменные", "Примеры создания условий", далее: "структура файлов", "Локализация", "готовые конфиги" и в них "Загрузка ISO", "Загрузка ОС" и т.д. А тут на общей простыне общие мысли, вроде что-то читаешь, а ответы на свои вопросы не находишь. Попробовал поиском по html-файлам искать к примеру информацию о переменной $prefix, и упоминания есть, а описания нет, в итоге методом тыка и поиском в гугле конкретных задач быстрее учишься чем читая простыни. Просто вывел переменную используя echo в эмуляторе QEMUmenuentry "prefix"{ echo $prefix pause }
|
AZJIO
- Стаж: 6 лет 10 месяцев
- Сообщений: 1325
- Репутация:127[+] [-]
|
Вот фото MBR, там упоминание GRUB. Обычно в MBR указан файл, который загружается и продолжает выполнение загрузки. В данном случае интересует где связь, что начитает грузить MBR, какому файлу передавать загрузку. Читал что core.img является основным. Посмотрел бинарно boot.img он практически копия MBR.
|
stea.61
- Стаж: 8 лет 11 месяцев
- Сообщений: 672
- Репутация:101[+] [-]
- Откуда: 61 RUS
|
Привет. 81037Читал что core.img является основным. Так и есть. При установке GRUB именно core.img и записывается на носитель в качестве загрузчика. Содержимое (модули), конфиг core.img и его размещение на диске могут быть различные. В MBR пишется boot.img и (по смещению 005С) адрес (номер сектора диска) записанного core.img, на который прямой адресацией передается управление из MBR.
Последний раз редактировалось: stea.61 (2020-10-26 21:06), всего редактировалось 1 раз
|
AZJIO
- Стаж: 6 лет 10 месяцев
- Сообщений: 1325
- Репутация: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
- Стаж: 8 лет 11 месяцев
- Сообщений: 672
- Репутация:101[+] [-]
- Откуда: 61 RUS
|
AZJIO, я в посте адрес в MBR поправил - не 1F4, а 005С. Со смещением 1F4 уже в файле core.img (точнее, в той области диска, куда записан загрузчик) в свою очередь прописывается адрес дальнейшей передачи управления. Пути к файлу в MBR и нет - адресация не по имени файла, а прямая к области диска по номеру сектора. Добавлено через 8 минут 55 секунд: У core.img свой встроенный config, который может быть различным - формируется при компиляции. В стандартном варианте выполняется поиск "домашнего" каталога, загрузка normal.mod (если он не встроен в core.img) и далее чтение-выполнение $prefix/grub.cfg.
81043и откуда ему знать, такой адрес если я распаковал архив. Инсталлятор определяет и пишет нужную адресацию. О какой "распаковке из архива" речь?
|
AZJIO
- Стаж: 6 лет 10 месяцев
- Сообщений: 1325
- Репутация:127[+] [-]
|
81044О какой "распаковке из архива" речь? я заинтересовался способом установки Grub2 на флешку, в BOOTICE выбрал загрузчик Grub2 , он мне прописал MBR, но файлов нет, использовал командуsudo grub-install --root-directory=/mnt/USB/ /dev/sdb файлы появились, но есть проблемы с подключением фона и русского языка, а также пункты загрузки iso, которые работают на стационарном компе не работают с флешки, кроме одного образа, и я ломаю голову то ли Grub2 виноват, то ли проблема, что образы не могут смонтировать флешку, потому как пишет что sdb не найден или не удалось подключить, частично загрузившись. фото
|
stea.61
- Стаж: 8 лет 11 месяцев
- Сообщений: 672
- Репутация:101[+] [-]
- Откуда: 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
- Стаж: 6 лет 10 месяцев
- Сообщений: 1325
- Репутация: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
- Стаж: 8 лет 11 месяцев
- Сообщений: 672
- Репутация:101[+] [-]
- Откуда: 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.
Последний раз редактировалось: stea.61 (2020-10-26 23:31), всего редактировалось 2 раз(а)
|
Страница 3 из 4
Текущее время: 26-Дек 14:19
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|