|
22198 / 12119 / 653
Регистрация: 11.04.2010
Сообщений: 53,466
|
|
Что такое GRUB4dos и с чем его едят, или как сделать флешку загрузочной13.03.2012, 15:58. Показов 133185. Ответов 0
Метки нет (Все метки)
Данной статьей я не ставлю задачу ознакомить вас со всеми возможностями этого загрузчика, а только обрисую основные ситуации, для того чтобы вы смогли сделать полноценную загрузочную флешку или диск. Я не буду копипастить описание, а расскажу доступным языком все то, что я узнал в процессе его использования.
Начнем с того, что несмотря на свой мизерный размер, этот загрузчик является по сути небольшой консольной операционной системой, поддерживающий командную строку, множество команд управления, работы с файлами, управления доступом, модификации разделов, поддерживает множество файловых систем, умеет читать данные с любого из определяемых BIOS устройств, поддерживает загрузку по сети, не зависит от геометрии дисков, умеет работать с удалёнными терминалами и т.д., это при размере то чуть больше 200 килобайт! Еще grub имеет встроенную систему помощи, которая в ответ на <help> всегда выведет список доступных к выполнению команд, а в ответ на <help имя_команды> выдаст дополнительную информацию. Автозаполнение строки (клавиша TAB) подскажет не только синтаксис команды, но и, в некоторых случаях, варианты её продолжения (доступные устройства, разделы). Но я не стану углубляться в дерби, а расскажу поверхностно, самые азы, так сказать. Для того, чтобы загрузить grub, необходимо иметь на диске загрузочную запись (MBR) для grub-а, сам файл grldr в корневой директории диска и файл menu.lst, который содержит конфигурацию загрузчика. Еще нужна папка boot, в которой grub хранит файлы, необходимые ему для работы, файлы тем и прочий мусор. так же в эту папку можно класть образы, с которых мы будем загружаться, дабы не мозолили глаза в корневой директории и файлы субменю, если возникнет необходимость в их создании. Все это есть во вложении. Загрузочную запись на диске можно получить различными способами. Самый простой - из-под Windows запустить файл grubinst_gui.exe и инсталлировать загрузочный сектор на нужный физический диск, затем скопировать файлы grldr и menu.lst в корневую директорию. Есть более извращенный способ - если установлена WinXP, переместить файл ntldr во временную папку (например, boot), скопировать в корневую директорию диска grldr, переименовать его в ntldr, для семерки аналогичные действия проводятся с файлом bootmgr. Этот способ хорош, если вам понадобится восстановить на место старую загрузку, достаточно скопировать обратно в корневую директорию оригинальный файл ntldr или bootmgr, и подтвердить перезапись. Плох он тем, что для загрузки системы оригинальный файл все-таки нужен, но его придется переименовать в, например, ntldr1 (bootmgr1) чтобы мы смогли загрузить ОС. Итак, с MBR мы разобрались, приступим к конфигурированию файла menu.lst В самом начала файла обычно пишутся команда, задающая цвет для текстового режима. Если включен графический режим, эта строка игнорируется. Выйти из графического режима можно нажав клавишу ESC. #цветовые схемы color light-gray/black yellow/green light-cyan/black light-green/black Знак решётки - комментарии, эти строки не читаются обработчиком. Первая пара цветов определяет основной и фоновый цвета для "не выбранных" позиций меню, вторая - для "выбранных". Для того чтобы включить графический режим, прописываются следующие команды #загрузочная картинка gfxmenu /boot/pictures/message33.gz Пункт меню, на котором стоит курсор по умолчанию. Обратите внимание, нумерация ВСЕГО у груба начинается с нуля #позиция по умолчанию default 0 Если загрузка по умолчанию по какой-либо причине невозможна, то будет предпринята попытка выполнить позицию, указанную в команде #если невозможна загрузка по умолчанию fallback 1 Время в секундах с момента вывода меню до выполнения команды, определенной по умолчанию задается командой #таймаут timeout 20 Позиции меню описываются командой #название пункта меню title Далее я просто приведу примеры загрузки осей и образов дисков, не вдаваясь в параметры команд, кому нужно, без труда отыщет их сам, благо статей и документации хватает на просторах инета Загрузка WindowsXP title Start Windows XP rootnoverify (hd0,0) chainloader /ntldr Команда rootnoverify не проверяет тип файловой системы диска 1 раздела 1 (еще раз обратие внимание, что нумерация физических дисков и нумерация логических разделов начинается с 0), а сразу делает его корневым. Команда chainloader передает управление загрузчику ntldr и дальше загрузка Windows происходит как обычно. Если загрузочные файлы WindowsXP находятся на другом разделе или диске, соответственно измените значения на rootnoverify (hdНОМЕР_ДИСКА,НОМЕР_РАЗДЕЛА) Если вы воспользовались способом инсталляции grub с переименованием файлов, то третья строка у вас будет выглядеть примерно так chainloader /ntldr1 Загрузка Windows7 или Vista title Start Windows 7 rootnoverify (hd0,0) chainloader /bootmgr Здесь все аналогично вышеописанному Консоль восстановления WindowsXP (тут мне самому непонятно, но оно работает )title Recovery console Windows NT/2K/XP find --set-root /cmldr chainloader /cmldr # записываем буквы "cmdcons" в память 0000:7C03 в 2 шага: ### шаг 1. записываем 4 буквы "cmdc" в 0000:7C03 write 0x7C03 0x63646D63 ### шаг 2. записываем 3 буквы "ons" в 0000:7C07 write 0x7C07 0x00736E6F наличие папки cmdcons и файла cmldr приветствуется Как их создать, думаю объяснять не нужноЕсли что ее можно взять ТУТ Grub умеет монтировать в память практически все популярные образы дисков и дискет title Start Acronis Rescue Media 11 find --set-root //boot/ima/acronis.iso map --mem /boot/ima/acronis.iso (hd32) map --hook chainloader (hd32) boot Естественно, образ должен лежать в папке \boot\ima\acronis.iso Положить вы его можете конечно в любую папку, но не забудьте изменить путь. Да, еще небольшой нюанс - в путях grub использует не левый слэш \ (как windows и dos) а правый / , будьте внимательны И еще, чем больше образ, тем дольше он грузится в память. Вам может показаться, что компьютер завис, но это не так, нужно набраться терпения. Пример монтирования и загрузки образа дискеты title Hirens Boot CD All-In-One map --mem /boot/ima/hiren.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) Grub позволяет так же создавать субменю. например, в основном меню у вас будет 2 пункта 1. HDD Utils 2. Test Utils Чтобы перейти к субменю, создайте файл hddutils.lst в папке boot (чтобы не мозолил глаза в корневой директории) title HDD Utils root (hd0,0) configfile /boot/hddutils.lst Файл субменю конфигурируется аналогичным образом. Для возврата в основное меню воспользуйтесь командой title Return to main menu find --set-root /menu.lst configfile /menu.lst Аналогично добавляются и остальные пункты субменю, для каждого создаем свой файл %name%.lst В Линуксе я, мягко скажем, не силен, посему оставляю красноглазикам конфигурировать загрузку на свое усмотрение ![]() Расскажу еще о паре фич команда makeactive ставит флаг АКТИВНЫЙ на ЛЮБОЙ корневой раздел диска, выбранный командой root root (hd0,1) makeactive Команда hide скрывает разделы, unhide отменяет скрытие Поскольку ОС семейства win'9x не могут быть загружены из соседних разделов (вне зависимости от флага активности грузится все равно первый из разделов), для их загрузки нужно использовать команды hide и unhide. Так, если первый и второй первичные разделы содержат win'9x, то для загрузки второй системы нужно включить в menu.lst следующие команды: hide (hd0,0) unhide (hd0,1) root (hd0,1) makeactive chainloader +1 Последняя команда просто передает управление загрузчику указанного раздела Еще один геморой с ОС от мелкомягких - неспособность грузиться со второго и последующих дисков. Для его преодоления применяют технику "свопирования" (swapping technique), или, проще - "подмены". Так же работает и BIOS Setup, но какой смысл обращаться к нему, если всего две строки в menu.lst сделают то же самое? map (hd0) (hd1) map (hd1) (hd0) Обратите внимание, что команды map "меняют местами" диски даже в представлении GRUB: второй диск становится после их выполнения hd0, а не hd1. password abcd задает пароль (в данном случае abcd). Обычно помещается в конфигурационном файле и при достижении ее требует ввода пароля. Чтобы он заработал, воспользуйтесь командой lock. Вы можете ввести пароль в любое время, нажав клавишу p. title WindowsXP lock ........... ........... ........... В этом пункте пример использования подсказки для пунктов меню если отключены темы Подсказки на английском языке, \n - переход на новую строку, всего 3 строки Подсказки можно использовать при выходе из русифицированного gfxmenu-меню, чтоб не создавать англоязычные копии менюшек title LiveCD_4.9 256\n LDR-318576 (311), TXTSETAM.SIF, multi\n wim-245Mb, 2009.11.21\n ________________________________________ _________________________________ find --set-root --ignore-floppies /b386/SETUPLDR.BIN chainloader /b386/SETUPLDR.BIN Вот основной список команд, по каждой можно узнать больше, набрав в консоли (вызывается нажатием С) help имя_команды Команды управления: boot - передать управление ядру, загруженному командой kernel или "чужому" загрузчику, загруженному командой chainloader, halt - выключить машину, help [команда] - выдать подсказку, quit - выйти из GRUB, reboot - перезагрузиться, pause - ждать нажатия клавиши; Команды работы с файлами: cat - вывести на экран, cmp - сравнить содержимое двух файлов; Команды управления доступом: password - При достижении команды требует ввода пароля; lock - блокировать выполнение команд для неидентифицированного пользователя; Команды модификации разделов: partnew - создать первичный раздел, partype - изменить тип раздела; Команды настройки внешнего вида: color - задать цвета меню, vbeprobe - определить и вывести доступные режимы видеоадаптера, testvbe MODE - тестировать режим MODE видеоадаптера. Приведенный список команд не полон, но более подробное обсуждение было бы слишком объемным... Теперь разберемся с темами оформления Во вложении есть папка Перепаковка темы gfxboot-3.3 Из файла message33.gz извлекаем WinRAR'ом message33, копируем в папку Перепаковка темы gfxboot-3.3, далее батником Извлечь.bat извлекаем тему из message33, заходим в папку files, меняем картинку и заново упаковываем батником Упаковать.bat. Архиватором 7zip упаковываем в *.gz. Можно обойтись и Тотал Коммандером с установленным плагином, у меня работает. Файл gfxboot.cfg это конфигурационный файл темы, в нем все прокоментировано. Про таймер не спрашивайте, это отдельная песня, я с ним не разбирался... Подробное описание настройки gfxboot-3.3 в файле Readme_RUS.txt В папке Примеры menu.lst комплект примеров, возможно, поможет разобраться в организации меню и найти для себя рабочие варианты загрузки. Все *.lst в кодировке UTF-8. Ну, и последняя рекомендация, содержащаяся в инструкциях абсолютно ко всем менеджерам загрузки: до инсталляции нового менеджера загрузки сохраните MBR!!!!!!! Полезные ссыли Официальное руководство (на английском); Русское FAQ, где затронуты вопросы загрузки с CD/DVD и паролирования определенных пунктов (MD5-хеши хранятся прямо в конфигурационном файле); Русская статья, описывающая способы содержания на одном диске нескольких ОС.
28
|
|
| 13.03.2012, 15:58 | |
|
Ответы с готовыми решениями:
0
DrawingVisual, что это такое и с чем его едят, или как перерисовать
Что такое This и с чем его едят |
| 13.03.2012, 15:58 | |
|
Помогаю со студенческими работами здесь
1
что такое Qt, и с чем его едят? Что такое Класс, и с чем его едят? Что такое BLOB? и с чем его едят? Что такое Delphi, и с чем его едят??
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|