Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [HOWTO] Настройка и редактирование GRUB 2  (Прочитано 995817 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Falkon

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #525 : 06 Апреля 2010, 00:01:30 »
Не совсем понимая того что я делаю :), все таки что то сделал. Я отключил диск с виндой (250) и загрузился с Live CD с подключенным диском (200) на котором сейчас установлена Ubuntu и по моему нормально работает. Вот что я проделал:
Report bugs to <bug-grub@gnu.org>.
ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x96ef96ef

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       23947   192354246   83  Linux
/dev/sda2           23948       24321     3004155    5  Extended
/dev/sda5           23948       24321     3004123+  82  Linux swap / Solaris
ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt /dev/sda
Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)   /dev/sda
(hd1)   /dev/sdb
ubuntu@ubuntu:~$



Всё что я из этого понял, так это то, что не произошло ошибок. Но зато откуда взялся       ( hd1)   /dev/sdb     я не пойму. Он же вроде был выключен.....
После я написал sudo umount  /dev/sda1
На что получил ответ, что вроде как он не примонтирован.

Пользователь решил продолжить мысль [time]Mon Apr  5 20:18:31 2010[/time]:
Проблема как бы в том, что не загружается Windows с того харда на котором не стоит Ubuntu. Не пойму почему. Подключаю хард 250гб, после загрузки биоса появляется надпись GRUB Loading .....  и пока не перезагрузиш. Хотя на этот диск я ничего не загружал.

Пользователь решил продолжить мысль [time]Mon Apr  5 22:38:53 2010[/time]:
А сейчас я отключил хард (200), подключил хард (250), загрузил Live CD и в консоли набрал sudo fdisk -l
Вот результат:
ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 250.1 GB, 250059350016 bytes
16 heads, 63 sectors/track, 484521 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0xa13344dd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       49696    25046752+   7  HPFS/NTFS
/dev/sda2           49697      484521   219151800    5  Extended
/dev/sda5           49697       78171    14351368+   7  HPFS/NTFS
/dev/sda6           78172      281346   102400168+   7  HPFS/NTFS
/dev/sda7          281347      484521   102400168+   7  HPFS/NTFS

Что можно сделать здесь?
« Последнее редактирование: 06 Апреля 2010, 00:41:15 от Falkon »

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #526 : 06 Апреля 2010, 01:05:41 »
Цитировать
(hd0)   /dev/sda
(hd1)   /dev/sdb
ubuntu@ubuntu:~$
Всё что я из этого понял, так это то, что не произошло ошибок. Но зато откуда взялся ( hd1) /dev/sdb я не пойму. Он же вроде был выключен.....
а вот откуда
Цитировать
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
если с аглицким плохо - перевожу: это содержимое файла бла-бла-бла... проверьте, все ли хорошо, если нет - поправьте и перезапустите grub-install. ну да хрен с ним с этим диском, это я погорячился, наверно, насчет исключения оного из device.map с той лишь целью, чтобы потом вписать его обратно))))
Цитировать
После я написал sudo umount  /dev/sda1
На что получил ответ, что вроде как он не примонтирован.
а вот это уже забавно. надо было пробовать umount /mnt. а лучше с кдючиком --verbose каким-нибудь. впрочем, при выключении системы все равно все отмонтируется (или хотя бы перемонтируется в рид-онли, если уж совсем никак), но вообще не стоит вот так оставлять, а уж тем более дергать потом, если речь о флэшках и иже с ними.
Цитировать
Проблема как бы в том, что не загружается Windows с того харда на котором не стоит Ubuntu. Не пойму почему. Подключаю хард 250гб, после загрузки биоса появляется надпись GRUB Loading .....  и пока не перезагрузиш. Хотя на этот диск я ничего не загружал.
оно и понятно... если я все правильно угадал, оно пытается грузиться с этого самого 250G-диска, на котором прописан за каким-то мбр, а самого груба нет, посему не удивительно, что он сам себя найти не может.
определись уже, с чего ты грузишься. как в биосе бут-девайсы выставляются - по модели или по номеру (а-ля SCSI0)?
А
Цитировать
сейчас я отключил хард (200), подключил хард (250), загрузил Live CD и в консоли набрал sudo fdisk -l
Вот результат:
ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 250.1 GB, 250059350016 bytes
16 heads, 63 sectors/track, 484521 cylinders
Что мжно сделать здесь?
много чего, вплоть до самых нехороших вещей))) для начала, думаю, затереть нафиг тот мбр от груба, чтоб он там не болтался:
sudo dd if=/dev/zero of=/dev/sdX bs=446 count=1после чего рекомендую восстановить там загрузчик от тамошней винды, коли таковая нужна. погугли хоть глобально, хоть по форуму по слову "fixmbr" - там с установочного диска этой самой винды две-три команды проделать...
далее есть два варианта: просто грузить ту винду, выбирая хард с оной в качестве загрузочного (если есть бут-меню в биосе), или же прикручивать ее к грубу. лучше второй, ибо груб все равно настойчиво будет каждый раз шарить везде, где его не просят и пытаться запихать в меню все и вся. так что тут лучше сразу получить работспособную менюшку.
для этого после вышеописанного подтыкаем оба харда. на всякий случай
sudo grub-mkdevicemapмогло ничего не измениться, но лишним не будет. ну и смотрим, что скажет update-grub. да, даже если хорошим путем не получится, загрузить ту винду можно будет через срез мбр ее харда. так что запасной вариант есть в арсенале. короче, пробуй, а там будем думать, что делать далее
лучше на "ты"

Оффлайн Falkon

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #527 : 07 Апреля 2010, 00:30:54 »
Я извиняюсь, а не подскажите почему после установки Граба он не обновляется. Вот мои действия были такими:


To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@ubuntu:~$ sudo pppoeconf

Plugin rp-pppoe.so loaded.
RP-PPPoE plugin version 3.8p compiled against pppd 2.4.5
ubuntu@ubuntu:~$ sudo /etc/grub.d/30_os-prober
Found Windows NT/2000/XP (loader) on /dev/sda1
menuentry "Windows NT/2000/XP (loader) (on /dev/sda1)" {
grub-probe: error: Cannot open `/boot/grub/device.map'
   drivemap -s (hd0) ${root}
   chainloader +1
}
ubuntu@ubuntu:~$ sudo update-grub
grub-probe: error: cannot find a device for /.

ubuntu@ubuntu:~$ sudo mount /dev/sda1 /mnt
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt/ /dev/sda
Installation finished. No error reported.
This is the contents of the device map /mnt//boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)   /dev/fd0
(hd0)   /dev/sda

ubuntu@ubuntu:~$ sudo update-grub
grub-probe: error: cannot find a device for /.

ubuntu@ubuntu:~$

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #528 : 07 Апреля 2010, 10:39:25 »
Цитировать
ubuntu@ubuntu:~$ sudo update-grub
grub-probe: error: cannot find a device for /.
а с лайва и не выйдет, скорее всего. ибо рут смонтирован как какой-нибудь loop-диск (чего там, squashfs вроде...), а при внимательном чтении 10-ки или 00-го (кого-то из них) можно найти там фрагмент, отвечающий за определние того, что мы находимся на loop-диске.
так что грузись в реальную систему и орудуй там. ну или попробуй через chroot, если очень хочется
лучше на "ты"

Оффлайн Falkon

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #529 : 07 Апреля 2010, 17:33:03 »
Даа. . :idiot2:  Чувствую у меня еще все впереди  :D

Пользователь решил продолжить мысль 07 Апреля 2010, 17:33:43:
Попытаюсь попозже

Оффлайн nax6312

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #530 : 09 Апреля 2010, 05:30:25 »
Слегка раздражает накопление грабом списка обновлений ядра - с 14 версии он уже раздулся непомерно до 21 ой. По сему вопрос, можно ли его безболезненно почистить излишки? Зашел в кфг файл, но в связи со своим дилетантством мало что понял в его конфигурации. Не хотелось бы получить головную боль.

Оффлайн strack

  • Активист
  • *
  • Сообщений: 373
    • Просмотр профиля
    • Моя страница на Launchpad
Re: пишем мануал по GRUB2
« Ответ #531 : 09 Апреля 2010, 08:17:39 »
Слегка раздражает накопление грабом списка обновлений ядра - с 14 версии он уже раздулся непомерно до 21 ой. По сему вопрос, можно ли его безболезненно почистить излишки? Зашел в кфг файл, но в связи со своим дилетантством мало что понял в его конфигурации. Не хотелось бы получить головную боль.
Если ты не используешь старые ядра, почему бы просто не удалить их (например через Менеджер пакетов Synaptic ), заодно и место освободишь.

Оффлайн brainfuck-null

  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #532 : 09 Апреля 2010, 13:00:10 »
удалить лишние ядра и выполнить команду 
sudo update-grub????
зачем столько ядер то на одной машине?

Оффлайн takeneo

  • Любитель
  • *
  • Сообщений: 58
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #533 : 09 Апреля 2010, 15:40:26 »
Какая команда выводит версию установленного GRUB ?
asus m4a89gtd pro/usb3 AMD Phenom II X6 1090T Processor × 6, Asus Geforce gts450 ubuntu 12.10
Asus eeepc 1025ce Xubuntu 12.04.2

Оффлайн 666joy666

  • Активист
  • *
  • Сообщений: 719
  • :wq
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #534 : 10 Апреля 2010, 14:33:01 »
Какая команда выводит версию установленного GRUB ?
i13 ~ # grub2-install -v
grub2-install (GNU GRUB 1.98)
или просто grub-install -v

Оффлайн 3nix

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #535 : 11 Апреля 2010, 18:01:23 »
Как из загрузки удалить весь мусор?
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
  have_grubenv=true
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  saved_entry=${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry=
  save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 24f73f59-72d3-48ae-9af7-24c2995434ff
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-20-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 24f73f59-72d3-48ae-9af7-24c2995434ff
linux /boot/vmlinuz-2.6.31-20-generic root=UUID=24f73f59-72d3-48ae-9af7-24c2995434ff ro   quiet splash
initrd /boot/initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-20-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 24f73f59-72d3-48ae-9af7-24c2995434ff
linux /boot/vmlinuz-2.6.31-20-generic root=UUID=24f73f59-72d3-48ae-9af7-24c2995434ff ro single
initrd /boot/initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 24f73f59-72d3-48ae-9af7-24c2995434ff
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=24f73f59-72d3-48ae-9af7-24c2995434ff ro   quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 24f73f59-72d3-48ae-9af7-24c2995434ff
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=24f73f59-72d3-48ae-9af7-24c2995434ff ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Vista (loader) (on /dev/sda1)" {
insmod fat
set root=(hd0,1)
search --no-floppy --fs-uuid --set 3c98-ac5d
chainloader +1
}
menuentry "Windows 7 (loader) (on /dev/sda2)" {
insmod ntfs
set root=(hd0,2)
search --no-floppy --fs-uuid --set 6468fece68fe9e4c
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

Мне нужно оставить Ubuntu, Linux 2.6.31-20-generic и Windows 7 (loader) (on /dev/sda2)

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #536 : 11 Апреля 2010, 21:04:52 »
удали старое ядро, 20-й скрипт отключи с помощью chmod -x
лучше на "ты"

Оффлайн netsloff

  • Активист
  • *
  • Сообщений: 375
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #537 : 12 Апреля 2010, 02:17:15 »
делаем скриптик   .ubucleaner.sh

#!/bin/bash

OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"
RED="\033[0;31m"
ENDCOLOR="\033[0m"

if [ $USER != root ]; then
  echo -e $RED"Ошибка: нужны права root"
  echo -e $YELLOW"Переходим..."$ENDCOLOR
  exit 0
fi

echo -e $YELLOW"Очистка cache..."$ENDCOLOR
aptitude clean

echo -e $YELLOW"Удаление старых конфигураций..."$ENDCOLOR
sudo aptitude purge $OLDCONF

echo -e $YELLOW"Удаление старых ядер..."$ENDCOLOR
sudo aptitude purge $OLDKERNELS

echo -e $YELLOW"Очистка корзин..."$ENDCOLOR
эрэм эрэф /home/*/.local/share/Trash/*/** &> /dev/null
эрэм эрэф /root/.local/share/Trash/*/** &> /dev/null

echo -e $YELLOW"Закончено!"$ENDCOLOR


И не надо шарится по грабовским файлам боясь снести что-нибудь не то...

Оффлайн KooSt

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #538 : 15 Апреля 2010, 19:36:49 »
этот скрипт для всех подходит?

Пользователь решил продолжить мысль 15 Апреля 2010, 19:44:24:
нашел в синаптике ядра и удалил вобщем)
« Последнее редактирование: 15 Апреля 2010, 19:44:24 от KooSt »

Оффлайн brainfuck-null

  • Любитель
  • *
  • Сообщений: 80
    • Просмотр профиля
Re: пишем мануал по GRUB2
« Ответ #539 : 16 Апреля 2010, 02:25:59 »
подскажите, что нужно раскоментировать в "GRUB_CMDLINE_LINUX_DEFAULT" чтобы модуль ядра при загрузке моего ноутбука от батареи, подымал яркость подсветки монитора? солнце на улице и ничего не видно....  :'(
в bios у меня ничего практически нет. настроек 2 или 3 максимум и всё. клавиши FN не работают с яркостью. пробовал запустить их практически всеми способами вроде, ничего не получается. я бы и забил на них вообще, если бы яркость была 100%.
Windows каким то образом заставляет подстветку работать на 100%. мне кажется, adobe gamma loader. может ошибаюсь. но пользоваться виндой тока из-за подсветки монитора....
 3-е суток поиска, прошли безрезультатно....  :'(
писал так  
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"  ничего не меняется...
видео
nvidia geforce go 7400 ускорения работают.

p.s. бли-и-ин, сегодня вроде получилось исправить. даже не помню где прочитал, что спецклавиши в bios работают.....
может кому нибудь пригодиться....
сделал так: на батарейках зашел в биос и увеличил яркость подсветки (FN + F8 у меня). пытался сохранить F10 не получалось, а получилось сохранить настроики яркости только выбрав пункт "load previous setup" а затем уже F10. всё...
меня это вполне устраивает покамест.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi" оставил как был, по умолчанию.  :D
« Последнее редактирование: 16 Апреля 2010, 21:47:50 от Vovan13 »

 

Страница сгенерирована за 0.042 секунд. Запросов: 25.