LinuxForum.Fans
Тема

Загрузчик GRUB

Автор: sas3293 84 сообщений 14916 просмотров
#59498
Tlen написал:

Или может диск С надо как то прописать чтобы он самостоятельно всегда монтировался?

Да, иначе всё равно костыли ставить придётся.

#59499
durc написал:
Да ладно, просто пропиши, как я написал.

куда именно прописать, это же скрипт целый там абы как что ты написал не впихнеш)

#59501

может все таки установить если он хочет?

tlen:/home/tlen# apt-get install grub
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Предлагаемые пакеты:
grub-legacy-doc multiboot-doc mdadm
Пакеты, которые будут УДАЛЕНЫ:
grub-pc
НОВЫЕ пакеты, которые будут установлены:
grub
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 389kБ архивов.
После данной операции, объём занятого дискового пространства уменьшится на 3117kB.
Хотите продолжить [Д/н]?

#59502
Tlen написал:
[quote=durc]Да ладно, просто пропиши, как я написал.

куда именно прописать, это же скрипт целый там абы как что ты написал не впихнеш)[/quote]
Замечательно впихнёшь.
Но, если уж на то пошло впиши сюда
### BEGIN /etc/grub.d/30_os-prober ###
То что я уже писал
### END /etc/grub.d/30_os-prober ###

#59503

у меня зудит хочу обновить))

#59504
Tlen написал:
может все таки установить если он хочет?

tlen:/home/tlen# apt-get install grub
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Предлагаемые пакеты:
grub-legacy-doc multiboot-doc mdadm
Пакеты, которые будут УДАЛЕНЫ:
grub-pc
НОВЫЕ пакеты, которые будут установлены:
grub
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 1 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 389kБ архивов.
После данной операции, объём занятого дискового пространства уменьшится на 3117kB.
Хотите продолжить [Д/н]?

Это предлагают установить первый grub.
Хочешь установи, тогда тот что стоит сейчас будет удалён.

#59505
durc написал:

Это предлагают установить первый grub.
Хочешь установи, тогда тот что стоит сейчас будет удалён.

Ой тогда не буду) ладно пошел попробую вписать))) :D Сейчас чувствую по привычке у меня Х-сервер упадет :D часто у меня это было :rolleyes:

#59506
Tlen написал:
[quote=durc]
Это предлагают установить первый grub.
Хочешь установи, тогда тот что стоит сейчас будет удалён.

Ой тогда не буду) ладно пошел попробую вписать))) :D Сейчас чувствую по привычке у меня Х-сервер упадет :D часто у меня это было :rolleyes:[/quote]
Не переживай, ничего не упадёт.
Вписать удастся только из под рута.

#59508
durc написал:

Не переживай, ничего не упадёт.
Вписать удастся только из под рута.

Уже понял что из под рута, странно в Root терминале открыл через gedin вписал он сохранять не хочет пришлось через nano открывать там все нормально.
Ушел в перезагруз)))

#59509

Итак что мы имеем... может я снова что то не так сделал. Дописал в конец файла вот это:
### BEGIN /etc/grub.d/30_os-prober ###
# (2) Windows XP
menuentry "Windows XP" {
set root=(hd1,1)
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

В итоге когда загружается Grub в нем 3 значения, 2 под линукс и 3 Windiws XP Его выбираеш комп уходит в перезагруз и снова эти 3 значения.

#59523

Покажи ещё раз
cat /etc/grub/grub.cfg

#59526

Чтобы добавить раздел с ОС Windows в меню GRUB 2 достаточно дописать нужные опции в файл /etc/grub.d/40_custom после комментариев (строчек начинающихся с символа #). Таким образом файл /etc/grub.d/40_custom будет выглядеть так:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows 7" {
set root=(hd0,1)
chainloader +1
}


В данном случае добавляется пункт меню для загрузки Windows 7, но вместо «Windows 7» в кавычках может быть любой текст.
set root=(hd0,1) — означает что GRUB 2 установлен на втором разделе первого жесткого диска (нумерация разделов и дисков в GRUB начинается с нуля).
chainloader +1 — это стандартный метод загрузки Windows.

Чтобы было проще выбирать ОС при загрузке рекомендуется отредактировать файл /etc/default/grub:
GRUB_HIDDEN_TIMEOUT=5 — задержка 5 секунд перед загрузкой ОС по умолчанию
GRUB_HIDDEN_TIMEOUT_QUIET=false — включает показ таймера во всех меню GRUB

После всех изменений нужно выполнить команду

sudo update-grub



Но пока не разберусь как привязать его к моему случаю. Может вместо set root=(hd0,1) нужно написать set root=(sd0,1)
У меня этот файл выглядит так
#!/bin/sh
exec tail -n +3 $0
# This file is an example on how to add custom entries

#59528
durc написал:
Покажи ещё раз
cat /etc/grub/grub.cfg

Имел ввиду наверное вот этот файл /boot/grub/grub.cfg

tlen:/etc/grub.d# cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/update-grub using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=5
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
if font /usr/share/grub/ascii.pff ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
terminal gfxterm
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
insmod png
if background_image /boot/grub/moreblue-orbit-grub.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_hurd ###
### END /etc/grub.d/10_hurd ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, linux 2.6.26-2-686" {
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
linux /boot/vmlinuz-2.6.26-2-686 root=UUID=45ce51b2-614c-46bb-a874-fab8d0836bdb ro
initrd /boot/initrd.img-2.6.26-2-686
}
menuentry "Debian GNU/Linux, linux 2.6.26-2-686 (single-user mode)" {
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
linux /boot/vmlinuz-2.6.26-2-686 root=UUID=45ce51b2-614c-46bb-a874-fab8d0836bdb ro single
initrd /boot/initrd.img-2.6.26-2-686
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
### END /etc/grub.d/40_custom ###


я снова update-grab сделал и у меня строки с виндой ушли куда то

#59532
Tlen написал:
Чтобы добавить раздел с ОС Windows в меню GRUB 2 достаточно дописать нужные опции в файл /etc/grub.d/40_custom после комментариев (строчек начинающихся с символа #). Таким образом файл /etc/grub.d/40_custom будет выглядеть так:
#!/bin/sh
exec tail -n +3 $0
# This file is an example on how to add custom entries

Да то же самое что я пмсал
menuentry "Windows XP" {
set root=(hd1,1)
chainloader +1
}
В приведённом тобой способе ошибка нумерация во втором грубе не такая как в первом.
Пробуй. Пропиши в /etc/grub.d/40_custom эти строки и сделай update-grub - эта команда затрёт то что ты писал до этого вручную.
После этого всё таки покажи
cat /etc/grub/grub.cfg

#59534

tlen:/etc/grub.d# cat /etc/grub/grub.cfg
cat: /etc/grub/grub.cfg: Нет такого файла или каталога
нет такого файла, поэтому я и подумал что ты ошибся

#59536
Tlen написал:
tlen:/etc/grub.d# cat /etc/grub/grub.cfg
cat: /etc/grub/grub.cfg: Нет такого файла или каталога
нет такого файла, поэтому я и подумал что ты ошибся

Извини, я ошибся
cat /boot/grub/grub.cfg
После всех манипуляций с /etc/grub.d/40_custom и update-grub

#59541

tlen:/home/tlen# cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/update-grub using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=5
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
if font /usr/share/grub/ascii.pff ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
terminal gfxterm
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
insmod png
if background_image /boot/grub/moreblue-orbit-grub.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_hurd ###
### END /etc/grub.d/10_hurd ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, linux 2.6.26-2-686" {
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
linux /boot/vmlinuz-2.6.26-2-686 root=UUID=45ce51b2-614c-46bb-a874-fab8d0836bdb ro
initrd /boot/initrd.img-2.6.26-2-686
}
menuentry "Debian GNU/Linux, linux 2.6.26-2-686 (single-user mode)" {
set root=(hd0,7)
search --fs-uuid --set 45ce51b2-614c-46bb-a874-fab8d0836bdb
linux /boot/vmlinuz-2.6.26-2-686 root=UUID=45ce51b2-614c-46bb-a874-fab8d0836bdb ro single
initrd /boot/initrd.img-2.6.26-2-686
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
menuentry "Windows XP" {
set root=(hd1,1)
chainloader +1
}
### END /etc/grub.d/40_custom ###

строка появилась, пробую перезагружаться.

З.Ы. Блин можно под спойлер тут текст убирать? а то очень много текста на страницу выходит.

#59544

Так в общем такая же фигня, при выборе стрички с Win XP уходит в перезагрузку, может быть из за того что диск С у меня тоже загрузочный? Так инфа для размышления а вдруг)))

З.Ы. отошел жену встретить)

#59547
Tlen написал:
Так в общем такая же фигня, при выборе стрички с Win XP уходит в перезагрузку, может быть из за того что диск С у меня тоже загрузочный? Так инфа для размышления а вдруг)))

З.Ы. отошел жену встретить)

Так он и должен быть загрузочным.
Строка chainloader +1 как раз и передаёт загрузку другому загрузчику, т.е. груб передаёт загрузку нтлоадеру и уже он грузит винду.

#59555

Давай вместо плясок с бубном попробуем сделать всё правильно.
Отредактируй /etc/fstab
пропиши туда диск С
/dev/sdb1 /mnt/win_c vfat rw,auto,user,iocharset=utf8,codepage=866,umask=0 0 0

Потом закомментируй, то что написал в /etc/grub.d/40_custom , т.е. в начале строк поставь #
(можно и просто удалить то что написал)

Создай каталог /mnt/win_c
mkdir /mnt/win_c (от рута)

Смонтируй винраздел
mount /mnt/win_c

Запусти
update-grub

Войдите или зарегистрируйтесь, чтобы ответить.