Перейти к содержимому

Menu lst как редактировать

  • автор:

Редактирование menu.lst из под grub.

Столкнулся с такой проблемой. Раньше, стояла убунта, решил обновиться до 16, но 16 совершенно не понравилась. После этого захотел поставить дебиан на место убунты. После танцов с бубном, дебиан стал, но запускается grub4dos, при попытке бута. Как я понимаю, не сконфигурирован menu.lst, а доступа к фс через другую ось (win8), как такового нет. Т.е., доступ есть, но взаимодействовать с файлами невозможно. Через лайвсд — доступа к фс нет. Вопрос такой: можно ли через grub4dos отредактировать menu.lst или запустить дебиан, без повреждения загрузчика второй оси?

lamartire
27.05.16 10:22:28 MSK

unixforum.org

так
Цитировать
# altoptions=(recovery mode) single rootflags=data=writeback
Сохранить, затем ввести команды:
Код:

sudo update-grub
После перезагрузки Ubuntu 7.10 не загружается. Решив, что надо вернуть в исходное состояние grub/menu.lst, загрузился с LiveCD ubuntu 7.10 и попробовал отредактировать menu.lst через gedit, не разрешает сохранить изменения- нет прав. Подскажите как поступить в данном случае. Существуют ли программы для доступа и редактирования файлов , загружаемые через bios, диски наподобие реаниматоров в windows

Спасибо сказали:
Goodvin Ведущий рубрики Сообщения: 4333 Статус: ⚝⚠⚒⚑⚖☭☞☣☤&

Re: Решено: редактирование grub/menu.lst

Сообщение Goodvin » 13.02.2008 10:48

Попробуйте при загрузке с LiveCD использовать su или sudo, чтобы запустить текстовый редактор для правки menu.lst с правами root-а.
Тогда и даст его сохранить с изменениями.

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

Как правильно задавать вопросы
Спасибо сказали:
aniily Сообщения: 64

Re: Решено: редактирование grub/menu.lst

Сообщение aniily » 13.02.2008 11:24

13.02.2008 08:58

Прочитав статью «Увеличение скорости работы ubuntu 7.xx» , в консоли выполнил следующие команды
.
sudo update-grub
После перезагрузки Ubuntu 7.10 не загружается. Решив, что надо вернуть в исходное состояние grub/menu.lst, загрузился с LiveCD ubuntu 7.10 и попробовал отредактировать menu.lst через gedit, не разрешает сохранить изменения- нет прав. Подскажите как поступить в данном случае. Существуют ли программы для доступа и редактирования файлов , загружаемые через bios, диски наподобие реаниматоров в windows

А еще на будущее. Можно не пользоваться LiveCD для исправления ошибок в grub/menu.lst. Если после очередного изменения в этом файле система перестала грузиться. Параметры загрузки можно изменить, нажав ‘e’ (edit) при выводе выбора загружаемых ОС. Правда это будет работать однократно и изменений в grub/menu.lst внесено не будет. Но вообще это очень удобная вещь в Grube. Даже автодополнение по tab работает)

— = The GRomR1 Blog = —

У нас уже есть флешка с записанным на нее загрузчком Grub4Dos. Но мы не знаем как с ним работать. На самом деле это не так трудно. И зачастую загрузка той или иной загрузочной программы сводиться лишь к редактированию пункта ее загрузки в menu.lst.
Я надеюсь, что вы все-таки, хоть как то, но ознакомились с Руководством по Grub4dos.
Первое что мы сделаем, это избавимся от menu.lst, т.е. очистим полностью его содержимое =). В дальнейшем будет лучше самому добавить то что надо, и так как тебе надо, и не лицезреть это разноцветное меню.
Потом добавим наиболее распространенные пункты меню, такие как перезагрузка, выключение, загрузка с флоппи-диска, загрузка с CD-ROM, загрузка с жесткого диска, и загрузка Windows.
Затем познакомимся с запуском программ из загрузочных образов на примере небольших утилит предназначенных для тестирования RAM и HDD на предмет неисправностей, а именно Memtest86+ и Victoria. Узнаем как грузиться из .ISO образа. Покажу как загрузить WinPE (на примере Hiren’s BootCD 15.1)
Все операции по редактированию menu.lst будем проводить в обычном текстовом редакторе, я предпочитаю AkelPad, чего и вам советую (будет меньше проблем с кодировкой, и переносом строк в Unix, нежели со стандартным «Блокнотом» Windows).

А теперь обо всем подробней.

1. Откроем через AkelPad menu.lst и удаляем все содержимое.
2. Добавим пункт меню «Загрузка с жесткого диска HD0»:
Примечание: если выбрать этот пункт, то скорей всего произойдет загрузка нашей флешки, так и должно быть, но многое зависит от вашего BIOS. Подробнее

title Boot HDD0
chainloader (hd0)+1
rootnoverify (hd0)

3. Добавим аналогично пункт меню «Загрузка с жесткого диска HD1»:

title Boot HDD1
chainloader (hd1)+1
rootnoverify (hd1)

4. Добавим пункт меню «Загрузка с CD0»:

title Boot CD0
cdrom —init
map —hook
chainloader (cd0)

5. Ну и просто, вдруг понадобится «Загрузка с floppy»:

title Boot Floppy
chainloader (fd0)+1
rootnoverify (fd0)

6. Добавим пункт меню «Перезагрузка ПК»:

title Reboot
reboot

7. Добавим пункт меню «Выключение ПК»:

title Shutdown
halt

8. Добавим пункт меню «Поиск и загрузка Windows NT/2000/XP»:

title Find and load NTLDR of Windows NT/2K/XP
find —set-root —ignore-floppies —ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map —rehook
find —set-root —ignore-floppies —ignore-cd /ntldr
chainloader /ntldr

8. Добавим пункт меню «Поиск и загрузка Windows Vista/7/8»:

title Find and load BOOTMGR of Windows VISTA/7/8
find —set-root —ignore-floppies —ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map —rehook
find —set-root —ignore-floppies —ignore-cd /bootmgr
chainloader /bootmgr

9. Разместим, как удобней. Посмотрим что получилось:

10. Проверим наше меню в деле. Запускаем MobaLiveCD. (п.13). Видим примерно следующее:

11. Можно попробовать попереходить по пунктам, посмотреть возникающие ошибки :).
12. Закрываем MobaLiveCD.
13. Переходим к добавлению программы Memtest86+. Скачиваем файл MEMTEST.IMG. Переносим его на флешку.
14. Добавляем пункт меню «Memtest86+ 4.20»:

title Memtest86+ 4.20
map —mem /MEMTEST.IMG (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
map —floppies=1
boot

15. Пробуем запуститься через MobaLiveCD.

Пару слов о том, что такое Memtest86+, и зачем она нужна. При подозрениях на какую-либо неисправность ПК, в которой может быть виновата оперативная память, первым делом я запускаю Memtest и проверяю ей память. Если после полного цикла тестов (поле Pass — выделено зеленым ), никаких ошибок (поле Errors— выделено красным ) не обнаружено, значит оперативная память исправна.
16. Теперь перейдем к запуску программы для тестирования жесткого диска Victoria 3.52. Скачиваем ее. Переносим скачанный файл Victoria-v.3.52.3.ima на флешку.
17. Добавляем пункт меню «Victoria 3.52 DOS»:

title Victoria 3.52 DOS
map —mem /Victoria-v.3.52.3.ima (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
map —floppies=1
boot

18. Пробуем запуститься через MobaLiveCD.

Прежде чем пользоваться данной утилитой следует почитать документацию на сайте автора. Здесь можно найти пошаговую инструкцию по работе с ней. Ну и если интересно, что такое bad-сетор и как их устранить, можно почитать здесь, здесь, или здесь.
19. Теперь перейдем к запуску Hiren’s BootCD с флешки. Скачиваем ISO-образ диска нужной версии. У меня версия 15.1. Достаем из образа папку «HBCD» и кладем ее в корень флешки.
20. Добавляем пункт меню «Hiren’s BootCD 15.1″:

title Hiren’s BootCD 15.1
configfile /HBCD/menu.lst

21. Пробуем запуститься через MobaLiveCD.

22.Дополнительно добавим пункт загрузки Mini Windows Xp из HBCD в наше меню.

title Mini Windows Xp HBCD
chainloader /HBCD/XP/XP.BIN

Вот так мы научились загружаться с образов дисков и дискет, с помощью прямого маппинга в память.
Общий случай загрузки XXX.ima (XXX.img) следующий:

title XXX.ima
map —mem /XXX.ima (fd0)
map —hook
chainloader (fd0)+1
rootnoverify (fd0)
map —floppies=1
boot

С загрузкой из образа CD-диска (.ISO) немного трудней.
Общий случай загрузки XXX.iso следующий:

title XXX.iso
map /XXX.iso (0xff) || map —mem /XXX.iso (0xff)
map —hook
chainloader (0xff)

Общий случай загрузки WinPE следующий (где XXX.BIN — загрузчик WinPE):

title WinPE
chainloader /XXX.BIN

Дальше украсим наше загрузочное меню, используя одну из тем GfxMenu, хотя можно работать и без этих украшений. Так же покажу как сделать загрузочную флешку с установкой Windows.

При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.

Многоуровнев ое меню в единственном MENU.LST

Отправлено: 13-Июл-2016 13:12

Еще не встречал нигде подобной реализации — сам додумался несколько недель назад, но поделиться было некогда.
Все видели текстовое загрузочное меню на G4D в подпунктами. Типа:

HDD утилиты
LiveCD
Установка Windows

Выбор любого из пунктов приводит к загрузке другого файла меню(lst) со своими подпунктами. Например configfile /GRUB/LiveCD.lst
У такой структуры меню есть минусы:
1) На флешке хранится несколько файлов LST вместо одного, что создаёт «кашу»
2) Чтобы вернуться из меню Установка Windows в HDD утилиты нужно сначала перейти в основное menu.lst, а затем уже в нужное — лишние шаги.
У многоуровневого древовидного меню таких минусов нет. Всё в одном файле и все подпункты всегда под рукой.
Изначально оно имеет следующий вид:

После раскрытия пункта:

Ну и полностью «распахнутое» меню:

Я использовал урезанный unicode шрифт с кириллицей (около 3 кб), в который добавил знаки ⊞, ⊟, ├ и └, чтобы облагородить менюшку.
Файл MENU.LST тоже должен быть в кодировке unicode. Так же столкнулся с тем, что малое количество шрифтов Windows может отображать эти символы, а потому для своего редактора (Akelpad) я еще использовал шрифт Droid Sans Mono — он тоже есть в архиве, можете установить в систему и юзать его при редактировании меню. На флешке он конечно же не нужен.
Выкладываю архив с необходимым минимумом для примера. Скачать с вирусами и СМС регистрацией Вариант меню от nikzzzz с сохранением позиции курсора. Программка для автоматического создания меню от nikzzzz

Последний раз редактировалось: MBTY (2016-07-29 08:52), всего редактировалось 3 раз(а)

Отправлено: 13-Июл-2016 20:48 (спустя 7 часов)

SunOK , утечки памяти? Вы про строку «configfile (md)4+8» ? Эта строка заставляет GRUB перечитать ранее загруженный configfile. Чтобы каждый раз не писать configfile /GRUB/menu.lst
RAM всегда на скринах держится в 639Кб.
Пробуйте, мне так очень нравится.

Отправлено: 14-Июл-2016 00:36 (спустя 3 часа)

ANDREISM , ну по идее можно затереть по такому принципу:
write (md)0x220+1 !BAT\necho -n -P:0000 $[0107] Hiren’s BootCD 15.1 RUS \0 && initscript (md)0x220+1

Это строка из меню HBCD и заполняется она поверх той надписи, которую хотите убрать.
По идее если забить пробелами, то можно затереть.
P.S. Как то так:

write (md)0x220+1 !BAT\necho -n -P:0000 $[0107] \0 && initscript (md)0x220+1

Отправлено: 17-Июл-2016 04:08 (спустя 3 дня)

Немного доработал меню теперь при сворачивании-разворачивании сохраняется позиция курсора.

debug off
font /GRUB/FONT
graphicsmode -1 800 100:1000 24:32
#timeout 16
default %n%
title Просто пункт меню 1\n
rootnoverify (hd0,0)
chainloader +1
iftitle [if not «%PUNKT2%»==»1»] ⊞ Пункт меню 2\n
set PUNKT2=1
set n=2
set n2=4
configfile (md)4+8
boot
iftitle [if «%PUNKT2%»==»1»] ⊟ Пункт меню 2\n
set PUNKT2=0
set n=1
set n2=0
configfile (md)4+8
boot
iftitle [if «%PUNKT2%»==»1»] ├ Подпункт 2.1\n
frootnoverify (hd0,0)
chainloader +1
iftitle [if «%PUNKT2%»==»1»] ├ Подпункт 2.2\n
frootnoverify (hd0,0)
chainloader +1
iftitle [if «%PUNKT2%»==»1»] ├ Подпункт 2.3\n
frootnoverify (hd0,0)
chainloader +1
iftitle [if «%PUNKT2%»==»1»] └ Последний подпункт 2.4\n
frootnoverify (hd0,0)
chainloader +1
title Пункт меню 3\n
rootnoverify (hd0,0)
chainloader +1
iftitle [if not «%PUNKT4%»==»1»] ⊞ Пункт меню 4\n
set PUNKT4=1
set /a n=4+%n2%-0
set n4=2
configfile (md)4+8
boot
iftitle [if «%PUNKT4%»==»1»] ⊟ Пункт меню 4\n
set PUNKT4=0
set /a n=3+%n2%-0
set n4=0
configfile (md)4+8
boot
iftitle [if «%PUNKT4%»==»1»] ├ Подпункт 4.1\n
frootnoverify (hd0,0)
chainloader +1
iftitle [if «%PUNKT4%»==»1»] └ Последний подпункт 4.2\n
frootnoverify (hd0,0)
chainloader +1
iftitle [if not «%ALLPUNKT%»==»1»] ⊞ Развернуть все подпункты ⊞\n
set ALLPUNKT=1
set PUNKT2=1
set PUNKT4=1
set n2=4
set n4=2
set /a n=4+%n2%-0+%n4%-0
configfile (md)4+8
boot
iftitle [if «%ALLPUNKT%»==»1»] — Свернуть все подпункты —\n
set ALLPUNKT=0
set PUNKT2=0
set PUNKT4=0
set n2=0
set n4=0
set n=4
configfile (md)4+8
boot
title Перезагрузка\n
reboot
title Выключение ПК\n
halt

Последний раз редактировалось: nikzzzz (2016-07-17 07:05), всего редактировалось 2 раз(а)

Отправлено: 29-Июл-2016 03:17 (спустя 11 дней)

Написал программку для автоматического создания меню.
пример работы
исходное меню

## Создание свернутой группы
#-begin Group 0
title -0
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
title -1
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
## Конец группы
#_end
## Создание развернутой группы
#+begin Group 1
title -2
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
title -3
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
title -4
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
## Конец группы
#_end
title -5
map —unmap=0:255
root (bd)
chainloader /boot/ntldr

debug off
font /boot/grub/font
graphicsmode -1 800 100:1000 24:32
default %s%
## Создание свернутой группы
#-begin Group 0
iftitle [if «%p0%»==»1»] ⊟ Group 0
set p0=0
set /a s=0
set l0=0
configfile (md)4+8
boot
iftitle [if not «%p0%»==»1»] ⊞ Group 0
set p0=1
set /a s=1
set l0=2
configfile (md)4+8
boot
iftitle [if «%p0%»==»1»] ├ -0
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
iftitle [if «%p0%»==»1»] └ -1
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
## Конец группы
#_end
## Создание развернутой группы
#+begin Group 1
iftitle [if not «%p1%»==»1»] ⊟ Group 1
set p1=1
set /a s=%l0%-0+1
set l1=0
configfile (md)4+8
boot
iftitle [if «%p1%»==»1»] ⊞ Group 1
set p1=0
set /a s=%l0%-0+2
set l1=3
configfile (md)4+8
boot
iftitle [if not «%p1%»==»1»] ├ -2
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
iftitle [if not «%p1%»==»1»] ├ -3
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
iftitle [if not «%p1%»==»1»] └ -4
map —unmap=0:255
root (bd)
chainloader /boot/ntldr
## Конец группы
#_end
title -5
map —unmap=0:255
root (bd)
chainloader /boot/ntldr

В архиве комплект с примером и описанием.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *