Grub

Матеріал з Wiki.Zina
Перейти до навігації Перейти до пошуку

Даунгрейд до grub-legacy (возврат старой версии)

[ред. | ред. код]

grub2, который появился в Ubuntu начиная с версии 10.04, можно заменить на старый grub (ныне известный как grub-legacy).

Для начала сделаем бэкап важных файлов. Для этого выполните:

sudo cp -R /boot/grub{,.bak}

Теперь удаляем пакеты "grub-pc" и "grub2" (последний может быть не установлен):

sudo apt-get purge grub-pc grub2

Заметьте: удаление пакетов не приведет к полной очистке папки "boot/grub". Теперь установим grub версии 0.97:

sudo apt-get install grub

После установки необходимо создать файл menu.lst и другие файлы загрузчика.

sudo mkdir /boot/grub && sudo update-grub

Эта команда создаст файл меню загрузки. На заданные ей вопросы отвечайте "y".

sudo grub-install /dev/sda

создаст остальные файлы загрузчика и запишет информацию в загрузочный раздел диска (MBR). Вместо "/dev/sda" в конце укажите тот жесткий диск, который используется в качестве загрузочного (установлен загрузочным в bios) Если установка прошла успешно - перезагружаемся и видим старый добрый grub с его menu.lst и без лишних хитростей

Скрыть некоторые пункты меня загрузки GRUB

[ред. | ред. код]

В GRUB можно скрыть некоторые пункты меню, которые будут видны только после ввода пароля. К примеру, можно скрыть recovery mode вашей операционной системы.

Для этого нужно сделать два конфигурационных файла. В первом файле будут находится «открытые» пункты меню, загружаемые сразу при старте GRUB, а во втором пункты меню, которые нужно показать только после ввода пароля — «скрытые».

1. Создаем резервную копию конфигурационного файла /boot/grub/menu.lst, чтобы в случае ЧП восстановить все в первоначальное положение:

sudo cp /boot/grub/menu.lst /boot/grub/menu.bak

2. Входим в командную строку GRUB:

grub

Создаем хеш-образ пароля:

md5crypt

Результат:

grub> md5crypt

Password: **********
Encrypted: $1$GtD63/$3aUy5vj.INHE4J6UBk/u40

Строчка $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 является хеш-образом введенного пароля.

Копируем ее и нажимаем Ctrl-С — выходим из командной строки GRUB.

3. Создаем второй конфигурационный файл, меню которого будет содержать скрытые пункты:

sudo cp /boot/grub/menu.lst /boot/grub/menu-hidden.lst

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

4. Редактируем первый конфигурационный файл:

sudo gedit /boot/grub/menu.lst

или в Xubuntu:

sudo mousepad /boot/grub/menu.lst

5. В начале файла, после строки с параметром timeout, добавляем строку, которая показывает системе, что после ввода пароля должен открыться другой файл — /boot/grub/menu-hidden.lst:

password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 /boot/grub/menu-hidden.lst

Результат должен быть такой:

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout		3
password --md5 $1$GtD63/$3aUy5vj.INHE4J6UBk/u40 /boot/grub/menu-hidden.lst

6. В конце файла добавляем или удаляем пункты меню GRUB, которые должны быть видны или не видны в начале загрузки (в первом меню).

К примеру, чтобы скрыть режим recovery mode, нужно закомментировать или удалить строки файла, содержащие команды загрузки этого режима:

title Ubuntu 9.04, kernel 2.6.28-11-generic
uuid 3d11ea5-2b80-4a5e-ba09-cd6909425070
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
initrd /boot/initrd.img-2.6.28-11-generic
quiet

title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
uuid 03d11ea5-2b80-4a5e-ba09-cd6909425070
kernel /boot/vmlinuz-2.6.28-11-generic root=UUID=03d11ea5-2b80-4a5e-ba$
initrd /boot/initrd.img-2.6.28-11-generic

title Windows
rootnoverify (hd0,0)
savedefault
makeactive
chainloader +1

7. Закрываем файл, сохраняя все изменения.

8. Открываем второй файл для редактирования:

sudo gedit /boot/grub/menu-hidden.lst

или в Xubuntu:

sudo mousepad /boot/grub/menu-hidden.lst

9. Добавляем или удаляем пункты меню GRUB, которые должны быть видны или не видны после ввода пароля во втором меню.

Если пункт будет только один (например, только Windows), в начале файла ставим timeout 0, чтобы загрузка происходила сразу после ввода пароля.

В конце файла комментируем или удаляем все пункты, кроме Windows:

title Windows
rootnoverify (hd0,0)
makeactive
chainloader +1

Если Windows находится на втором жестком диске, то может потребоваться такая конструкция с мапами:

title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader (hd1,0)+1

10. Сохраняем внесенные изменения. После перезагрузки компьютера попадаем в меню, где представлены только выбранные пункты меню.

После набора пароля открывается второе меню со скрытыми пунктами. Чтобы ввести пароль, требуется нажать «p».

Восстановление Grub после установки Windows

[ред. | ред. код]

http://help.ubuntu.ru/wiki/восстановление_grub

Запустите систему с LiveCD.

Посмотрим таблицу разделов:

sudo fdisk -l

На экран выведется примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended

Установим Grub на наш Linux раздел (здесь это /dev/sda1):

sudo grub-install --root-directory=/media/disk /dev/sda1

На этом восстановление закончено.

Альтернативный вариант

[ред. | ред. код]

Сначала пройтись testdisk’ом

Затем

sudo fdisk -l

Если Linux на на sda3:

sudo mount /dev/sda3 /mnt  
sudo grub-install --root-directory=/mnt/ /dev/sda

Boot-Repair — графическая утилита

[ред. | ред. код]

Boot-Repair — графическая утилита, позволяющая исправить ошибки GRUB, появляющиеся после установки Windows или другого дистибутива Linux после Ubuntu.

Boot-Repair позволяет переустановить загрузчик GRUB за пару кликов, но есть еще несколько расширенных опций, если вы хотите уточнить, куда установить GRUB. Также это приложение позволяет восстановить оригинальный загрузочный сектор (MBR), если он был сохранен, используя утилиту Clean-Ubiquity (созданную разработчиками Boot-Repair) и выбрать ОС по умолчанию.

Вы можете использовать Boot-Repair из установленной системы, но так как он предназначен для восстановления GRUB, вам, скорее всего, придется использовать его из LiveCD, поэтому загрузитесь в Ubuntu LiveCD и установите Boot-Repair, используя команды ниже (да, вы можете поставить Boot-Repair на LiveCD!):

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

После установки, запустите его через Dash, или если вы используете классический GNOME, вы найдете программу в меню Система > Администрирование > Boot Repair.

Boot-Repair доступен для Ubuntu 11.04, 10.10 и 10.04, и он работает только с GRUB 2.

Не показывать в Linux диск с Windows

[ред. | ред. код]

Узнаем UUID диска, который нужно спрятать:

sudo blkid

Добавить в файл:

sudo vim /etc/fstab

строку с UUID диска:

UUID=14A2410DA240F4B0 /mnt/h ntfs-3g noauto,ro,nodev,noexec,nosuid,uid=1000,gid=1000,fmask=133,dmask=022 0 0

Grub Customizer

[ред. | ред. код]
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt update; sudo apt install grub-customizer