Как да накарам Windows да стартира първо в Grub. Бързо поправка на зареждащия буутлоудър Grub в Ubuntu Инсталиране на grub bootloader uefi ubuntu 16.04

Оригинал: GRUB 2: Излекувайте своя буутлоудър
Автор: Mayank Sharma
Дата на публикуване: 10 септември 2015 г
Превод: А. Панин
Дата на прехвърляне: 16 декември 2015 г

Няма много неща, които могат да бъдат толкова досадни, колкото невъзможността на буутлоудъра да бъде досадна. Ето защо ще се научим да използваме максимално всички функции на буутлоудъра GRUB 2, като го поддържаме в работно състояние.

За какво е?

    GRUB 2 е най-популярният буутлоудър, използван в почти всяка дистрибуция на Linux.

    Буутлоудърът е важен софтуерен компонент, който обаче може да не работи правилно в някои случаи.

    GRUB 2 е разширяем и гъвкав bootloader, който поддържа много опции за конфигурация.


Зареждането на Linux, наречено GRUB 2, е качествен и гъвкав софтуерен компонент. Въпреки че този буутлоудър не е единственият поддържащ Linux буутлоудър, той е най-популярният и се използва от почти всички добре познати дистрибуции. Процесът на функциониране на буутлоудъра GRUB 2 може да бъде разделен на две фази. Първо, той извежда меню с имената на всички операционни системи, инсталирани на компютъра, и ви позволява да изберете една от тях. Второ, зарежда ядрото на Linux, ако изберете операционна система, базирана на съответното ядро, като използвате менюто за зареждане.

Очевидно, когато използвате операционна система, базирана на ядрото на Linux, просто не можете да правите без буутлоудър. В същото време буутлоудърът е може би най-мистериозният компонент на дистрибуцията на Linux. Като част от това ръководство ще ви запознаем с някои от функциите на този буутлоудър и ще ви научим как да решавате проблеми, свързани с неправилното му функциониране.

Най-важният компонент на буутлоудъра GRUB 2 е набор от текстови файлове, както и няколко шел скрипта. Първият компонент на този набор, с който си струва да се запознаете, се намира в директорията /etc/default/grub. Това е текстов файл, който можете да използвате, за да зададете конфигурационни променливи и други опции в менюто GRUB 2 (вижте "Опции на менюто за персонализирано стартиране").

Друга важна директория, свързана с GRUB 2, е директорията /etc/grub.d. Тази директория съдържа всички скриптове, които формират описанието на всеки от елементите на менюто. Тези имена на скриптове трябва да бъдат с префикс от две цифри. Тези префикси са предназначени да установят реда, в който ще се изпълняват скриптовете, както и реда, в който съответните елементи се появяват в менюто GRUB 2. Първо се чете файлът 00_header, последван от синтактичния анализ на /etc/default /grub конфигурационен файл. След това елементите от менюто за ядрата на Linux на текущата система се генерират с помощта на скрипта 10_linux. Този скрипт създава един нормален елемент от менюто за стартиране за ядрото на Linux и един елемент от менюто за възстановяване на системата за същото Linux ядро ​​от /boot дяла.

След това се изпълняват скриптове за търсене на други операционни системи, като 30_os-prober и 40_custom. Скриптът os-prober създава елементи от менюто за други ядра и други операционни системи, които се намират на други дялове на твърдия диск. Той е в състояние да разпознава инсталираните системи Linux, Windows, BSD и Mac OS X. Ако използвате конфигурация на дял на вашия твърд диск, която е твърде екзотична, за да може скрипт на os-prober да разпознае като инсталирана дистрибуция, можете да добавите описание на тази дистрибуция към скрипта 40_custom (вижте "Потребителски елементи от менюто за стартиране").

GRUB 2 не изисква ръчно редактиране на конфигурационни файлове за промяна на опциите за зареждане на системата: вместо това ви позволява да генерирате /boot/grub/grub.cfg конфигурационен файл с помощта на помощната програма grub2-mkconfig. Тази помощна програма ви позволява да анализирате скриптове от директорията /etc/grub.d, както и конфигурационния файл /etc/default/grub, за да генерирате автоматично описание на параметрите за зареждане на системата.

Възстановяване на зареждащия инструмент в графичен режим

По-голямата част от проблемите, свързани с буутлоудъра GRUB 2, могат просто да бъдат решени чрез натискане на единичния бутон на приложението Boot Repair. Това елегантно, просто приложение има интуитивен потребителски интерфейс и ви позволява да сканирате и разпознавате различни типове дискове и схеми на дискови дялове, а също така може да разбере местоположението и правилно да идентифицира операционните системи, инсталирани в тези дялове. Помощната програма може да работи както на обикновени компютри с главни записи за зареждане (Master Boot Record, MBR), така и на нови компютри с UEFI и GUID таблици на дялове (GUID Partition Table, GPT).

Най-лесният начин да използвате помощната програма Boot Repair е да я инсталирате като част от сесия на живо в Ubuntu. Стартирайте дистрибуцията на Ubuntu на живо на машината с повреден буутлоудър и инсталирайте приложението Boot Repair, като първо добавите подходящ PPA с командата:

Sudo add-apt-repository ppa:yannubuntu/Boot Repair

След това актуализирайте списъка с хранилища с командата:

Sudo apt-получи актуализация

Накрая можете да инсталирате приложението с командата:

Sudo apt-get install -y Boot Repair

След като инсталационният процес приключи, ще можете да стартирате приложението. Той ще сканира вашия твърд диск, преди да покаже потребителски интерфейс, който се състои от няколко бутона. За да извършите действията, предложени от приложението, можете просто да щракнете върху бутона "Препоръчан ремонт", който ще отстрани повечето проблеми, свързани с буутлоудъра. След възстановяване на системата за зареждане, помощната програма ще покаже връзка, която трябва да запомните. Щракването върху тази връзка ще ви даде подробна информация за вашите дискове, включително техните дялове, както и съдържанието на важни конфигурационни файлове на GRUB 2, като тези в директорията /etc/default/grub и /boot/grub/grub.cfg . Ако приложението не успее да възстанови вашия буутлоудър, можете да публикувате тази връзка във форума на вашата дистрибуция, за да могат посетителите да се запознаят със схемата на дяловете на вашия твърд диск и да дадат полезни съвети.

Възстановяване на буутлоудъра

Проблеми, свързани с буутлоудъра GRUB 2, могат да доведат системата в различни състояния. Текстът, показан на екрана вместо в менюто за стартиране, показва текущото състояние на системата. Ако системата не успее да се стартира с подкана grub>, може да се заключи, че модулите GRUB 2 са заредени, но конфигурационният файл grub.cfg не може да бъде зареден. Тази подкана се показва в напълно функционална обвивка за зареждане, с която можете да извършвате доста действия, насочени към зареждане на системата. Ако видите подканата grub rescue>, лесно е да заключите, че зареждащият инструмент не може да намери своите модули, както и файлове, описващи опциите за зареждане на системата. Въпреки това, в случай, че само думата "GRUB" се показва на екрана на вашия компютър, можете да направите разочароващо заключение, че зареждащият инструмент дори не може да намери основната информация, която обикновено се съхранява в главния запис за зареждане.

Можете да коригирате тези проблеми с GRUB 2, като използвате или Live CD на която и да е дистрибуция, или обвивката GRUB 2. Ако имате късмет и вашият буутлоудър покаже поздрава grub>, можете да използвате пълната мощност на вградената обвивка на GRUB 2, за да коригирате всякакви грешки.

Следните команди ще работят както за подкана grub>, така и за подкана grub rescue>. Командата set pager=1 ви позволява да използвате механизма за превъртане на текст, за да предотвратите автоматичното му превъртане. Можете също да използвате командата ls, която ви позволява да изброите всички видими дялове на твърдия диск GRUB 2 по подобен начин:

Grub> ls (hd0) (hd0,msdos5) (hd0,msdos6) (hd1,msdos1)

Както можете да видите, тази команда ви позволява да покажете информация за оформлението на таблицата на дяловете на твърдия диск, заедно с информация за самите дялове.

Като алтернатива можете да използвате командата ls на всеки дял на твърдия диск, за да намерите дяла с вашата основна файлова система:

Grub> ls (hd0,5)/ lost+found/ var/ etc/ media/ bin/ initrd.gz boot/ dev/ home/ selinux/ srv/ tmp/ vmlinuz

Можете да отхвърлите идентификатора на типа на дял msdos, когато пишете името на дяла. Освен това, ако пропуснете наклонената черта в края на името на дяла и изпълните команда като ls (hd0,5) например, ще получите информация за дяла, включително информация за типа на файловата система, нейния общ размер и времето на последната му промяна. Ако имате няколко основни дяла на вашия твърд диск, можете да прочетете съдържанието на файла /etc/issue с ​​командата cat, за да идентифицирате дистрибуцията по същия начин: cat (hd0,5)/etc/issue .

Ако приемем, че сте намерили правилната основна файлова система на дяла (hd0,5), трябва да се уверите, че тази файлова система съдържа директорията /boot/grub и изображение на ядрото на Linux, наречено vmlinuz-3.13.0-24- родово, което желаете за изтегляне. Сега, за да стартирате системата, просто трябва да въведете следните команди:

grub> set root=(hd0,5) grub> linux /boot/vmlinuz-3.13.0-24-generic root=/dev/sda5 grub> initrd /boot/initrd.img-3.13.0-24-generic

Първата команда съобщава на зареждащия GRUB 2 информация за дяла на твърдия диск, на който се намират разпределителните файлове за зареждане. Втората команда му предава информация за местоположението на файла с изображение на ядрото в посочения дял на твърдия диск, както и информация за местоположението на основната файлова система. Последният ред ви позволява да посочите местоположението на първоначалния файл с изображение на диска, чието съдържание се съхранява в паметта и се използва по време на процеса на зареждане на ядрото. Можете да използвате функцията за автоматично довършване, която ще ви спести много време и усилия при въвеждане на имената на файловете на ядрото и първоначалното изображение на диска.

Въвеждането на тези редове трябва да завърши с команда за зареждане след следващия поздрав grub>, което кара GRUB 2 да зареди посочената операционна система.

Стъпките ви трябва да са малко по-различни, ако срещнете поздрава grub rescue>. Тъй като зареждането на системата не успя да открие и зареди нито един от необходимите модули, ще трябва да ги заредите ръчно:

grub rescue> set root=(hd0,5) grub rescue> insmod (hd0,5)/boot/grub/normal.mod grub rescue> normal grub> insmod linux

Очевидно, както преди, след успешно използване на командата ls за намиране на основния дял на Linux, ще трябва да маркирате този дял с командата set. След това трябва да заредите нормалния модул, след което той ще се върне в стандартен режим с поздравителен grub> . Следната команда ви позволява да заредите модула на Linux, в случай че не е зареден автоматично. След като заредите този модул, можете да продължите да кажете на системния зареждач местоположението на файловете с изображения на ядрото и първоначалното изображение на диска и да започнете зареждане на дистрибуцията с помощта на командата за зареждане.

След успешно изтегляне на дистрибуцията, не забравяйте за необходимостта от повторно генериране на конфигурационния файл GRUB 2 с помощта на командата:

Grub-mkconfig -o /boot/grub/grub.cfg

Вие също ще трябва да инсталирате копие на зареждащата програма в MBR с командата:

GRUB 2 и UEFI

Машините с UEFI фърмуер (т.е. почти всички машини, продадени през последните няколко години) добавиха ново ниво на сложност към процеса на диагностициране на проблеми с буутлоудъра GRUB 2. с UEFI фърмуера не се различава значително от процедурата за възстановяване на същия bootloader на машина без UEFI фърмуер, новите версии на фърмуера въвеждат различни промени, които причиняват различни резултати от процеса на възстановяване на буутлоудъра.

При базирани на UEFI системи няма да се налага да инсталирате нищо в MBR. Вместо това ще трябва да инсталирате стартиращ зареждащ модул на EFI на системния дял на EFI (ESP) и да изберете този буутлоудър като стандартен, като използвате инструмент като efibootmgr за Linux или bcdedit за Windows.

В момента буутлоудърът GRUB 2 трябва да се инсталира правилно по време на инсталационния процес на която и да е от популярните дистрибуции на Linux, което позволява на последната да съществува успешно с Windows 8. Въпреки това, в случай, че получите неработещ буутлоудър като резултат, вие може да възстанови работоспособността на системата с помощта на живо изображение на Linux дистрибуция. Когато зареждате изображение за разпространение на живо, трябва да се уверите, че зареждате в режим UEFI. Менюто за зареждане на компютъра трябва да съдържа два елемента за всеки от сменяемите носители - за зареждане в нормален режим и в режим UEFI. Използвайте последния режим за достъп до EFI променливи чрез файлове в директорията /sys/firmware/efi/.

От средата на живо монтирайте основната файлова система на неуспешната дистрибуция, както е описано в това ръководство. Ще трябва също да монтирате системния дял на EFI (ESP). Ако приемем, че даденият дял съответства на файла на устройството /dev/sda1 , тогава можете да монтирате този дял със следната команда:

sudo монтиране /dev/sda1 /mnt/boot/efi

След това модулът на ядрото efivars трябва да се зареди с помощта на командата modprobe efivars, преди да се създаде среда chroot с основната файлова система на неуспешната дистрибуция, както е описано в това ръководство.

Сега, ако използвате дистрибуция на Fedora, можете да преинсталирате буутлоудъра със следната команда:

Ммм преинсталирайте подложката grub2-efi

След това трябва да изпълните командата, за да генерирате нов конфигурационен файл за зареждане:

Grub2-mkconfig -o /boot/grub2/grub.cfg

Потребителите на дистрибуция на Ubuntu могат да извършат същата операция с командата:

apt-get install --reinstall grub-efi-amd64

След като възстановите буутлоудъра, трябва да излезете от средата на chroot, да демонтирате всички монтирани дялове на твърдия диск и да рестартирате компютъра, като отидете в менюто GRUB 2.

За да деактивирате скрипт от директорията /etc/grub.d, просто трябва да премахнете бита за изпълнение, като използвате команда, подобна на командата chmod -x /etc/grub.d/20_memtest86+, която ви позволява да премахнете „Memory Тест" ред от менюто за зареждане

Приятел, къде ми е GRUB?

Положителна характеристика на буутлоудъра GRUB 2 е възможността да го преинсталирате, когато е необходимо. По този начин, в случай че загубите буутлоудъра GRUB 2, например, след като Windows го замени със свой собствен буутлоудър, можете да възстановите GRUB 2, като извършите няколко операции в жива среда. Ако приемем, че сте инсталирали дистрибуцията на дяла на твърдия диск, представен от файла на устройството /dev/sda5, можете да инсталирате отново буутлоудъра GRUB 2, като първо създадете директория за монтиране на основната файлова система на дистрибуцията с командата:

sudo mkdir -p /mnt/distro

След това трябва да монтирате файловата система от този дял, като използвате командата:

Монтиране /dev/sda5 /mnt/distro

След това можете да преинсталирате буутлоудъра GRUB 2 с командата:

Grub2-install --root-directory=/mnt/distro /dev/sda

Тази команда ще презапише информацията в областта на главния запис за стартиране на устройството /dev/sda, която съдържа файловата система на инсталираната дистрибуция на Linux, както и файлове за зареждане на GRUB 2 като grubenv и device.map.

Има и друг проблем, който често възниква при работа с компютри с инсталирани множество дистрибуции. Когато инсталирате нова дистрибуция на Linux, нейният буутлоудър трябва да извлече информация за вече инсталирани дистрибуции. В случай, че не извлече такава информация, можете просто да изтеглите най-новата инсталирана дистрибуция и да изпълните командата:

Grub2-mkconfig

Преди да изпълните тази команда, трябва да се уверите, че дяловете с коренните файлови системи на инсталираните дистрибуции, които не са представени в менюто за зареждане, са монтирани. Ако дистрибуцията, която искате да добавите към менюто за зареждане, работи с файловите системи /root и /home, разположени на отделни дялове на твърдия диск, трябва да се монтира само файловата система /root, преди да се изпълни командата grub2-mkconfig.

Въпреки че буутлоудърът GRUB 2 може да открие повечето дистрибуции, опитът да добавите запис за дистрибуцията на Fedora към менюто за стартиране, когато стартирате дистрибуция на Ubuntu, изисква една допълнителна стъпка. Ако сте използвали настройките по подразбиране при инсталиране на дистрибуция на Fedora, инсталаторът на Fedora ще създаде LVM дяловете. В този случай, преди да извикате скрипта os-prober, предоставен с GRUB 2 bootloader, за да добавите дистрибуцията на Fedora към менюто за зареждане, първо трябва да инсталирате драйвера lvm2, като използвате системата за управление на софтуерния пакет на дистрибуцията, като използвате подобна команда:

sudo apt-get install lvm2

Бърза поправка

Ако изпълнението на командата grub2-install не доведе до никакви положителни промени и не можете да стартирате дистрибуцията на Linux, ще трябва напълно да преинсталирате и конфигурирате зареждащата програма. За да изпълните тази задача, можете да използвате полезната помощна програма chroot, която ви позволява временно да промените главната директория на живата среда в главната директория на инсталираната Linux система, която искате да възстановите. Можете да използвате Live CD на всяка дистрибуция на Linux, която има помощната програма chroot за тази цел. Въпреки това, трябва да се уверите, че използвате Live CD за същата архитектура на процесора като дистрибуцията, инсталирана на твърдия диск. По този начин, ако искате да използвате помощната програма chroot за възстановяване на 64-битова инсталирана система, ще ви трябва Live CD за 64-битови системи.

След като стартирате средата на живо, първото нещо, което трябва да проверите, са дяловете на твърдия диск на машината. Използвайте командата fdisk -l, за да изброите всички дялове на твърдия диск и да разберете номера на дяла, на който е инсталиран буутлоудърът GRUB 2 и който искате да възстановите.

Да предположим, че трябва да възстановите зареждащия инструмент на дистрибуция, инсталирана на дял на твърдия диск, представен от файла на устройството /dev/sda5 . Отворете емулатор на терминал и монтирайте този дял:

sudo монтиране /dev/sda5 /mnt

Сега ще трябва да монтирате директориите, които трябва да са достъпни за GRUB 2 bootloader, за да откриете правилно други операционни системи, инсталирани на компютъра:

$ sudo монтиране --bind /dev /mnt/dev $ sudo монтиране --bind /dev/pts /mnt/dev/pts $ sudo монтиране --bind /proc /mnt/proc $ sudo монтиране --bind /sys /mnt /sys

Сега можете да напуснете средата на живо и да преминете към средата на дистрибуцията, инсталирана на дяла, представен от файла на устройството /dev/sda5, като използвате помощната програма chroot:

$ sudo chroot /mnt /bin/bash

Всичко е готово за инсталиране, проверка и актуализиране на буутлоудъра GRUB 2. Както и преди, за да го инсталирате отново, използвайте командата:

sudo grub2-install /dev/sda

Тъй като командата grub2-install не засяга конфигурационния файл grub.cfg, ще трябва да го създадете ръчно със следната команда:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Тази последователност от команди би трябвало да помогне за отстраняване на проблеми с буутлоудъра. Вашата машина вече ще има ново копие на GRUB 2 bootloader със списък на всички операционни системи и дистрибуции, инсталирани на него. Преди да рестартирате компютъра, трябва да напуснете chroot средата и да демонтирате всички използвани файлови системи в следния ред:

$ exit $ sudo umount /mnt/sys $ sudo umount /mnt/proc $ sudo umount /mnt/dev/pts $ sudo umount /mnt/dev $ sudo umount /mnt

След това можете спокойно да рестартирате машината, която отново трябва да бъде под контрола на GRUB 2 bootloader, който е под ваш пълен контрол!

Персонализирани опции на менюто за зареждане

Буутлоудърът GRUB 2 използва голям брой конфигурационни променливи. Този раздел описва някои от тези променливи, които вероятно ще искате да промените, докато преглеждате съдържанието на конфигурационния файл /etc/default/grub. Променливата GRUB_DEFAULT ви позволява да посочите елемента от менюто за зареждане, който ще бъде избран по подразбиране. неговите стойности могат да бъдат числа, като числото 0, съответстващо на първия елемент от менюто, както и низът "saved", който автоматично избира елемента от менюто, който е бил използван при последното зареждане на компютъра. Променливата GRUB_TIMEOUT ви позволява да зададете продължителността на времето за изчакване преди стартиране, като използвате елемента от менюто по подразбиране, а променливата GRUB_CMDLINE_LINUX ви позволява да зададете списък с опции, които ще бъдат предадени на всяко от ядрата на Linux, когато използвате съответните елементи от менюто за зареждане .

Ако променливата GRUB_DISABLE_RECOVERY е настроена на true , елементите от менюто за зареждане за възстановяване на системата няма да бъдат генерирани. Тези елементи ви позволяват да зареждате дистрибуции в режим на един потребител, в който можете да използвате всички налични инструменти за интерфейс на командния ред, за да възстановите вашата система. Друга полезна променлива е променливата GRUB_GFXMODE, която ви позволява да зададете разделителната способност на екрана, която ще бъде зададена, когато се покаже менюто за зареждане. Тази променлива може да бъде зададена на всяко описание на разделителната способност, поддържана от вашата графична карта.

Персонализирани елементи от менюто за зареждане

Ако искате да добавите елемент към менюто на зареждащото устройство, трябва да добавите съответната строфа към скрипта с име 40_custom. Можете да използвате този елемент от менюто за зареждане, например, за да стартирате дистрибуция на Linux, инсталирана на сменяемо USB устройство. Ако приемем, че дялът за разпространение на вашето преносимо USB устройство е /dev/sdb1 и файлът с изображение на ядрото vmlinuz и файлът initrd са в поддиректория на основната директория (/), ще трябва да добавите следната строфа към файла 40_custom:

Меню "Linux на USB" (задайте root=(hd1,1) linux /vmlinuz root=/dev/sdb1 ro тихо в splashitrd /initrd.img )

За по-добра съвместимост можете да използвате UUID на дяла на твърдия диск вместо идентификаторите на устройството и дяла, както следва:

Задайте root=UUID=54f22dd7-eabe

Използвайте командата sudo blkid, за да получите всички UUID на твърди дискове и дялове, свързани към системата. По същия начин можете да добавяте записи към менюто за зареждане, съответстващи на всеки идентифициран скрипт на os-prober, но дистрибуции, инсталирани на твърдия диск, разбира се, ако знаете на кой диск е инсталирана всяка от дистрибуциите и по какъв път нейните файлове с изображение на ядрото са разположени и изображение на първоначалната файлова система.

За избор и стартиране на операционната система по време на зареждане на компютъра се използва специализирана програма - bootloader. Най-популярният буутлоудър е Grub. Когато инсталирате множество операционни системи, като Linux през Windows, последната инсталирана ОС ще бъде първата в менюто за стартиране.

Това няма да създаде проблеми за потребителите, които използват Linux като основна система, за тях дори е предпочитаната опция. Но ако все още сте начинаещ и искате да използвате Linux като ваша втора система, а Windows все още е основната ви система, докато не се почувствате удобно, вероятно ще искате Windows да бъде първата ви система. В тази статия ще разгледаме как да накараме Windows да стартира първо в Grub. Нека разгледаме два начина: с помощта на програмата Grub Customizer и ръчно, чрез конфигурационните файлове на Grub bootloader.

Grub Customizer

Grub Customizer е програма, която ви позволява да персонализирате различни настройки на Grub bootloader. Включително позицията и реда на точките за зареждане. Можете да инсталирате програмата от официалните хранилища. Например, в Ubuntu трябва да използвате ppa:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-получи актуализация
$ sudo apt-get install grub-customizer

За да стартирате програмата, отворете терминал (Ctrl+Alt+T) и въведете grub-customizer:

Програмата изисква root привилегии, на някои системи може да се наложи да използвате следната команда:

gksu grub-персонаж

Програмата може да се стартира и от главното меню. Главният прозорец изглежда така:

Няколко секунди след стартирането програмата ще сканира инсталираните операционни системи, след което в същия прозорец ще можем да прехвърлим стартирането на Windows на първо място. За да направите това, щракнете с десния бутон върху желания елемент, за да отворите контекстното меню:

Изберете елемент от менюто Премести се нагоре. Това действие ще трябва да се повтори няколко пъти, докато Windows е първи в списъка. Сега ще стартира Windows по подразбиране grub.

Ако по-късно искате да пуснете Windows обратно, има обратно действие - Движи се надолу.

За да запазите настройките си, просто щракнете върху бутона Запиши. Готов. Можете да рестартирате компютъра си и да видите какво се случва.

Но искам да се докосна до още няколко настройки, които може да са полезни. Вместо да зареждате Windows първо в Grub, можете да промените стартовия елемент по подразбиране. Отидете на раздела основни настройки:

Тук има списък за избор на елемента по подразбиране Ангажирайте се:

Освен това можете да заредите последната заредена ОС по подразбиране, има отметка за това:

Промяна на реда за зареждане на Grub чрез терминал

Както обещах, сега нека да разгледаме как да накараме WIndows да се стартира първо в Grub с помощта на конфигурационни файлове. Конфигурацията на Grub се намира във файла /boot/grub/grub.cfg.

gksu gedit /boot/grub/grub.cfg

Обикновено лентите с менюта изглеждат така:

menuentry item_name --опции (
...

Например елементът на Windows:

menuentry "Windows 8 (зареждане) (на /dev/sda1)" --class windows --class os $menuentry_id_option "osprob
er-chain-FC324E26324DE66C" (
....

Сега, за да промените реда на елементите от менюто, просто изрежете всичко до задната затваряща скоба, заедно с този ред, и го поставете преди всички други елементи. След това можете да запазите файла и сте готови. Презаредете и вижте. Windows се стартира по подразбиране. Единственият недостатък на този метод е, че при актуализиране на конфигурацията на Grub всички настройки ще бъдат загубени.

По същия начин, както конфигурирахме елемента, който се зарежда по подразбиране в Grub Customizer, това може да се направи и в терминала.

Отворете /etc/default/grub.

gksu gedit /etc/default/grub

Тук ни интересува линията:

Заменете 0 с желания елемент за изтегляне, можете също да посочите името на елемента вместо число, например:

GRUB_DEFAULT="Windows 8 (зареждане) (на /dev/sda1)"

Можете да видите наличните точки за изтегляне, без да отваряте конфигурационния файл с командата:

sudo grep menuentry /boot/grub/grub.cfg

Можете също да конфигурирате зареждането на последната заредена система, като за това добавете реда

GRUB_SAVEDEFAULT=вярно

И в GRUB_DEFAULT посочете запазено:

GRUB_DEFAULT=запазено

Очевидното предимство на този метод е, че настройките няма да бъдат загубени по време на актуализацията на конфигурацията на Grub, тъй като по време на актуализацията информацията се взема от този файл. Сега нека актуализираме конфигурацията и да запазим настройките с командата:

Тази опция не работи на всички системи, така че можете да използвате друга команда:

grub2-mkconfig -o /boot/grub/grub.cfg

Това е всичко. Сега знаете как да накарате Windows да стартира първо в Grub. Но информацията, представена в тази статия, може да се използва за по-широка цел. Той ще бъде полезен не само за Windows, но и за всякакви други няколко системи, чийто ред на зареждане трябва да се контролира.

Подобни публикации:


Този урок ще ви преведе през инсталацията Ubuntu 16.10и Ubuntu 16.04в мултизареждане с операционната система Microsoft на машини, които са предварително инсталирани Windows 10 .

За нова инсталация на Ubuntu 16.04 / 16.10 прочетете нашето Ръководство за инсталиране на Ubuntu 16.04 Desktop и

Това ръководство предполага, че машината е предварително инсталирана ОС Windows 10или по-стара версия на Microsoft Windows, като напр Windows 8.1или 8 .

Ако вашето оборудване използва UEFIтогава трябва да се промениш EFIнастройки и деактивирайте функцията безопасно зареждане.

Ако компютърът ви няма инсталирана друга операционна система и планирате да използвате само варианта на Windows заедно с Ubuntu 16.04 / 16.10, първо трябва да инсталирате Microsoft Windows и след това да продължите с инсталирането на .

В този конкретен случай, според стъпките за инсталиране на Windows, когато форматирате твърдия диск, трябва да отделите поне 20 GB свободно пространство на диска, за да го използвате по-късно като дял за инсталиране на Ubuntu.

Изисквания

Изтеглете ISO изображение Ubuntu 16.04и Ubuntu 16.10според архитектурата на системата, като използвате следната връзка:

Стъпка 1: Подготовка на Windows за машина с двойно зареждане

1. Първото нещо, за което трябва да се погрижите, е да създадете свободно място на твърдия диск на компютъра, в случай че системата е инсталирана на един дял.

Влезте във вашата Windows машина с помощта на администраторски акаунт и щракнете с десния бутон върху старт меню-> Командна линия(Администратор), за да влезете в командния ред на Windows.

2. Отворете помощната програма Управление на дискове. От тук щракнете с десния бутон върху дяла C: и изберете Намаляващ обемза преоразмеряване на дяла.

C:\Windows\system32\>diskmgmt.msc

3. За да намалите пространството в C: въведете стойност за намаляване в MB (използвайки поне 20000MBв зависимост от размера на дяла ° С:) и натиснете клавиша Свиванеза да започнете да преоразмерявате дяла, както е показано по-долу.

След като пространството бъде променено, ще видите новото неразпределено пространство на вашия твърд диск. Оставете го по подразбиране и рестартирайте компютъра си, за да инсталирате Ubuntu 16.04.

Стъпка 2: Инсталиране на Ubuntu 16.04 с Windows

4. Сега е време да инсталирате Ubuntu 16.04. Следвайте връзката в началото на статията и изтеглете изображението ISOUbuntu Desktop 16.04.

Запишете изображението на DVD или създайте стартиращо USB флаш устройство, като използвате помощна програма като напр Универсален USB инсталатор(съвместим с BIOS) или Руфъс(съвместим с UEFI).

Поставете USB флаш устройството или DVD в устройството, рестартирайте машината и посочете BIOS/UEFIза да стартирате от DVD/USB чрез натискане на специален функционален клавиш (обикновено F12 , F10или F2в зависимост от спецификациите на доставчика).

След това мултимедийното зареждане ще покаже нов екран за зареждане на монитора ви. Изберете от менюто Инсталирайте Ubuntuи натиснете клавиша Въведете, продължавам.

5. След като носителят за зареждане приключи с зареждането в RAM, ще бъдете напълно работещи с функционална Ubuntu система.

Кликнете върху втората икона отгоре, инсталирайте Ubuntu 16.04 LTS, ще стартира помощната програма за инсталиране. Изберете езика, на който искате да инсталирате, и щракнете върху бутона продължи.

7. Сега е време да изберете вида на инсталацията. Можеш инсталирайте ubuntuзаедно с Windows Boot Manager, опция, която автоматично ще се грижи за всички стъпки на раздела.

Използвайте тази опция, ако не се нуждаете от персонализирана схема на дялове. В случай, че искате персонализирано оформление на секцията, проверете нещо другоопция и кликнете върху продължибутон, за да продължите.

Опция Изтрийте дискаи инсталирането на Ubuntu трябва да се избягва при многозареждане, защото е потенциално опасно и ще изтрие вашето устройство.

8. В тази стъпка ще създадем нашето персонализирано оформление на раздел за Ubuntu 16.04. Това ръководство препоръчва създаването на два дяла, един за root и един за дома и без суап дял (използвайте суап дял само ако имате ограничени RAM ресурси или използвате бърз SSD).

За да създадете първия дял, основния дял, изберете свободното пространство (свободно пространство от Windows, създадено по-рано) и щракнете върху иконата + по-долу. В секцията с настройки използвайте следната конфигурация и щракнете върху бутона Добреза прилагане на промените:

  1. Размер = поне 20000 MB
  2. Нов тип дял = Основен
  3. Място за нова секция = Начало
  4. EXT4
  5. Точка на монтаж = /

Създайте домашен дял, като използвате същите стъпки, както по-горе. Използвайте цялото налично свободно пространство, за да оразмерите домашния си дял. Настройките на секцията трябва да изглеждат така:

  1. Размер = цялото останало свободно пространство
  2. Нов тип дял = Основен
  3. Място за нова секция = Начало
  4. Използвайте като = дневник на файловата система EXT4
  5. Точка на монтаж = /У дома

9. Когато приключите, щракнете върху бутона Инсталирай сегаза да приложите промените към диска и да започнете процеса на инсталиране.

Трябва да се появи изскачащ прозорец, който да ви информира за мястото размяна. Игнорирайте предупреждението, като щракнете върху бутона продължи.

Следващият нов изскачащ прозорец ще ви попита дали сте съгласни да запишете промените на диска. Щракнете върху продължиза да запишете промените на диска и процесът на инсталиране ще започне.

10. На следващия екран задайте град във вашата инсталация, до него на картата. Следващо щракване продължи.

11. След това изберете оформление клавиатурии натиснете бутона продължи.

12. Въведете потребителското име и паролата за административния акаунт SUDO, въведете описателно име за вашия компютър и щракнете продължиза да завършите инсталацията.

Това са всички настройки, необходими за персонализиране на инсталацията Ubuntu 16.04. Оттук нататък процесът на инсталиране ще се изпълнява автоматично, докато стигне до края.

13. След като инсталационният процес приключи, щракнете върху бутона Рестартирай сегаза да завършите инсталацията.

Машината ще се рестартира в менюто Груб, където в рамките на десет секунди ще ви бъде представен избор коя ОС искате да използвате в момента: Ubuntu 16.04или Microsoft Windows .

Windows дялове за достъп от Ubuntu 16.04

Това е всичко! В случай, че трябва да се върнете към ОС Windows, просто рестартирайте компютъра си и изберете от менюто ГрубОС Windows.

Тази статия трябваше да бъде написана преди шест месеца, но все още нищо.

Ще бъде за това как да инсталирате Linux OS на втората ОС на нови лаптопи с предварително инсталирани UEFI и Windows. При условие, че обичайната инсталация не дава желания резултат, а именно след правилната инсталация на Linux "до" Windows, все още се зарежда само Windows.

Като начало, както вече стана традиция, ще поставим всички точки над Y.

проблем.

Имаме лаптоп (вероятно настолен, но авторът се занимаваше само с лаптоп), който използва UEFI и има предварително инсталиран Windows (най-вероятно 8.1, въпреки че сега вече е 10). Искаме да инсталираме Linux OS на този лаптоп (ще говорим за Linux Mint, но за останалото ситуацията трябва да е подобна)втора операционна система (двойно зареждане: възможност за използване както на Windows, така и на Linux по избор на потребителя). Инсталиране на Linux по обичайния начин * (за което също ще пиша някой ден, но има много подобни инструкции в интернет), рестартирайте и намерете нашия проблем сам:

упоритият Windows винаги е зареден, без Grub, нито намек за някакъв вид двойно зареждане.

*Всъщност има поне две важни функции за инсталиране на Linux на компютри с UEFI. 1) Преди да инсталирате точно в този UEFI, трябва да деактивирате опцията за сигурно зареждане - Security Boot Control (или нещо подобно, в зависимост от версията на UEFI). В противен случай медиите с дистрибуцията на Linux почти сигурно няма да могат да се стартират. 2) Буутлоудърът (Grub) трябва да бъде инсталиран на EFI\ESP дял, обикновено наричан sda2, а не само sda, както беше в ерата на BIOS. Тази опция се коригира по време на процеса на инсталиране на Linux, обикновено някъде около стъпката на разделяне на диска.

Бързи поправки за късметлиите.

Първо опитайте да въведете UEFI (бутон F2 или DEL ПРЕДИ стартиране на Windows). Там намерете раздел със списък с изтегляния. Той трябва да съдържа елементите: поне твърд диск и Windows Loader. Последният обикновено има най-висок приоритет за изтегляне. Прегледайте останалите елементи в дадения списък, ако има нещо подобно Зареждане на Ubuntu(или нещо друго, в зависимост от дистрибуцията на Linux, която инсталирате), след това се усмихваме и махваме, задаваме го на най-висок приоритет и рестартираме. След рестартирането трябва да се появи дългоочаквания интерфейс на Grub с избор на ОС за зареждане.

Ако няма други "товарачи", значи нямате късмет като мен: вашият лаптоп е продал душата си на Microsoft и не иска да вижда други зареждачи. Или, много по-малко вероятно, буутлоудърът на Grub е инсталиран неправилно (прочетете бележките към предишния раздел и направете всичко според Фън Шуй).

Математическа част и необходимите знания.

За това какво представляват UEFI и BIOS, защо са необходими. Разликата между MBR и GPT, както и тяхното значение, са описани подробно. Няма да повтаряме. Тази информация трябва да е достатъчна, за да разберете тази статия.

Освен това читателят ще се нуждае от основни познания за инсталиране на Linux OS. Чели сме го някъде.

Ще ви трябват и основни умения в тази ОС, по-специално управление на файловата система с помощта на Midnight Commander (MC) ( преглед на основните функции и команди) и самите основи на работата в Linux конзолата ( за Linux-подобни на Ubuntu, добро ръководство за начинаещи).

Ще трябва да инсталирате MC (в същия Mint Linux не е по подразбиране), да го стартирате като root (администратор), да направите промени в текстовия файл и да изпълните още няколко прости команди в конзолата.

Ако всичко това е по силите ви и без горните инструкции, радвам се за вас, можем да продължим напред. Тези инструкции са дадени за всеки случай, за да се избегнат проблемите, обхванати в тях.

Решение.

Моля, имайте предвид, че целият алгоритъм е изграден за Linux Mint OS. На други Linux (не е базирано на Ubuntu или Debian)имената и командите на директории може леко да се различават.

  1. Инсталирайте Linux до Windows, като използвате подходящата опция в една от първите инсталационни стъпки, или (ако тази опция не е налична)правилно разделяне на твърдия диск (заслужава отделна статия, ubuntu wiki вече е писал и за това).
  2. НЕ РЕСТАРТирайте компютъра си след инсталиране. Ако сте рестартирали - всичко е наред, просто трябва да стартирате отново от live-cd\usb\dvd (В края на краищата, Linux не стартира за вас?).
  3. За всеки случай изпълнете командата в конзолата sudo update-grub(чрез въвеждане на празна парола, когато бъдете подканени).
  4. Отворете конзола\терминал или друго средство (например с помощта на програмния мениджър в Ubuntu\Linux Mint)инсталирайте mc. В конзолата (за системи с apt)прави се така: sudo apt-get install mc(след което ще трябва да въведете парола, напомням ви, че няма парола в режим на живо, просто натиснете Enter и се съгласете с инсталацията).
  5. Стартирайте mc като root: sudo mc (и отново празна парола, ако бъде поискана).
  6. Намерете следната директория във файловата система: /boot/efi/EFI.
  7. Преименуване на директория (комбинация ctrl+F6 в mc) Microsoft към нещо друго, като например Microsoft2.
  8. Създайте нова директория с име Microsoft (клавиш F7).
  9. Отиваме в новосъздадената директория на Microsoft и частично (вижте по-долу) създаваме йерархия на папки вътре в нея, подобна на старата Microsoft (този, който беше преименуван). В моя случай имаше следната структура на папките: /зареждане/, след това куп папки и файл bootmgfw.efiдо тях. Трябва да пресъздадете структурата на папките точно до този файл. Тези. не е необходимо всичко, което лежи до него, а всичко, което идва пред него (т.е. родителските папки в съседство с тях също не са необходими)пресъздадете в новата ни папка на Microsoft. В моя случай беше необходимо да се създаде само папката за зареждане, крайният път към новата директория излезе така: /boot/efi/EFI/Microsoft/boot .
  10. Намираме в директорията от стъпка 6 папка с името на нашата Linux дистрибуция, в нашия случай е така ubuntu. копие (оставяме оригиналните файлове и папката ubuntu за всеки случай, те няма да пречат)всички файлове от дадената папка до крайната директория, създадена в предишната стъпка (v /boot/efi/EFI/Microsoft/boot) .
  11. В получената файлова система (в директорията, създадена на 9-та стъпка и файловете, преместени в нея на 10-та стъпка)намерете файл grubx.efiили grubx64.efi (ще има само един от тях: в зависимост от битността на инсталирания Linux). Преименувайте го на bootmgfw.efi .
  12. Намиране на файл /boot/grub/grub.cfg. Отворете го за редактиране (клавиш F4). Вътре в него намираме (клавишът F7 извиква формуляра за текстово търсене)думата "Microsoft" в контекста на низа, започващ с "chainloader" и заменете тази дума (трябва да има само едно събитие и то е в реда с "chainloader", така че не можете да сбъркате)към името на директорията, която преименувахме на Microsoft в 7-та стъпка (т.е. на Microsoft2 в нашия пример). Запазете промените във файла (клавиш F2 - запиши).

Това е всичко. Изглежда много сложно, но ако следвате всичко точно стъпка по стъпка (Които са възможно най-подробни!), тогава всичко ще се получи без проблеми. И след рестартиране и след това зареждане от твърдия диск (не от медия на живо)ще видим желания екран с менюто за избор на ОС. Ура, другари!

Какво направихме току-що?

Обяснявам. Както можете да видите, производителят на вашия (и моя, имам Acer, ако това)лаптоп продаде душата си на малък софтуер, както казах по-рано. А именно лаптопа на ниво UEFI не иска да зарежда нищо друго освен файла /boot/efi/EFI/Microsoft/boot bootmgfw.efi, който съдържа буутлоудъра на Windows. Такава е дискриминацията!

Подменяйки файла с този на Grabow, ние измамихме и лаптопа, и Microsoft. Принудени да заредим любимия ни Grub, вместо злия и упорит Windows.

Какво да правя по-нататък? + Предпазни мерки за актуализации.

Живей и бъди щастлив. Но точно докато grub иска да се актуализира. Или не искате да грешите и да актуализирате Windows

Първо относно актуализацията на Grub.

Факт е, че след актуализацията Grub изпълнява командата update-grub, която не намира зареждащия програма на Windows в йерархията на папките, която създадохме. (по неизвестни за мен причини). И по този начин, след актуализиране на grub и след това рестартиране на компютъра, няма да има вреден Windows в списъка за избор на ОС (и с право!). Това е решено объркващо, но алгоритъмът е познат

  1. Преименувайте папката на Microsoft (в която сега са файловете от габъра и Linux) на нещо временно, например на MicrosoftLinux.
  2. Преименувайте добрата стара папка Microsoft2 (която съдържа буутлоудъра на Windows) на просто Microsoft, като по този начин я връщате в първоначалното й състояние.
  3. Изпълнете командата sudo update-grub.
  4. Върнете имената на папките, като им придадете вида на решението. Тези. Преименуваме MicrosoftLinux обратно на Microsoft, Microsoft обратно в Microsoft2.
  5. Повтаряме стъпка номер 12 от решението и отново се радваме на появата на Windows в списъка с ОС, когато компютърът се стартира.

Да, това е само за сега. Този бизнес щеше да бъде автоматизиран, но досега бях много мързелив. В крайна сметка grub не се актуализира толкова често. Да, и ръчното описание на решението никога няма да бъде излишно, тогава ще бъде полезно за автоматизация.

Сега за това, което трябва да знаете ако ще актуализирате Windows .

Повечето актуализации на Windows изискват рестартиране. Имам Windows 8.1 след подобно рестартиране, както се очакваше, не успя да се стартира, защото не намери своя зареждащ инструмент в /boot/EFI/Microsoft (На същото място, където сега живеем Linux). Ето защо, преди да инсталирате актуализации на Windows, не забравяйте да върнете буутлоудъра му на мястото му. Тези. в папката на Microsoft в нашия пример. Да, след това целият проблем ще се върне, защото само Windows ще се зареди отново, но все пак ще бъде по-лесно да се изпълни алгоритъма от решението втори път?;)

Задача: Имам компютър с две системи: Windows 7 и Ubuntu 14.04
Трябва да актуализирате версията на Windows до 10 и Ubuntu до 16.04
Като начало трябваше да инсталирам лицензиран Windows вместо това, което беше и да го актуализирам до последната версия - десетки.
Изображението на седемте е изтеглено от уебсайта на Microsoft, качено на USB флаш устройство с помощта на безплатна и безплатна програма Руфъс, Windows беше успешно инсталиран от това флаш устройство и след това актуализиран до 10.
Сега задачата е да възстановим GRUB, тъй като Windows, разбира се, изтри буутлоудъра, като инсталира свой собствен, който не иска да знае за никакъв Linux :) Задачата се усложнява от факта, че съвременните дънни платки не съдържат BIOS, а UEFI - по-усъвършенствана локална операционна система. И точно както преди, не можете глупаво да инсталирате GRUB на челото.

След като погуглих малко този въпрос, намерих решението под формата на програмата Boot-Repair.
Сканира дискове за операционни системи и инсталира GRUB, с формиране на желаното меню и всички необходими настройки.
Има два начина за работа с тази програма:
Първият начин е да стартирате от Ubuntu USB флаш устройство или LiveCD, да инсталирате и стартирате тази програма:
Отворете терминала (Ctrl+Alt+T), копирайте и изпълнете следните команди:
sudo add-apt-repository ppa:yannubuntu/boot-repair
След това актуализирайте източниците:
sudo apt-получи актуализация
Следната команда ще инсталира Boot-Repair:
sudo apt-get install -y boot-repair
След това програмата може да се стартира по обичайния начин за Ubuntu, чрез системното меню.
Втори начин - изтегляне образ на диска с тази програма, качете го на USB флаш устройство или компактдиск, стартирайте от него и възстановете буутлоудъра. Избрах втория вариант като по-практичен. Никога не знаеш къде другаде може да ти потрябва. Изтегли и го качи на флашка със същото Руфъс-ом.
Не знам как е с LiveCD, но ако стартирате от флаш устройство на дънни платки с UEFI, трябва да стартирате в режим UEFI, в противен случай програмата ще откаже да възстанови GRUB. И точно тук ви очаква възможен капан. Вместо обичайния избор на език и опции за зареждане, на екрана виждаме менюто GRUB на черен фон с ред на единствената опция за стартиране.
Ако стартирате от USB флаш устройство с Ubuntu, имаме меню с две опции:
- Стартиране на Ubuntu без инсталация
- Инсталиране на Ubuntu.
Във всички тези случаи, когато избирах някакъв елемент, имах черен екран със замръзване. Тоест системата не можа да вземе видео режима и изпадна в ступор.
Този проблем се решава по следния начин: Трябва да изберете желания елемент от менюто в GRUB, натиснете клавиша "e", за да влезем в редактора на реда за стартиране, след това в края на реда, който е най-дългият, преди "-- " трябва да добавите параметъра nomodeset. След това натиснете F10. Системата ще стартира в опростен графичен режим с английски като език по подразбиране.
Програмата предлага препоръчителни работни параметри. В повечето случаи това е достатъчно. Напредналите потребители могат да избират приоритета на зареждане на операционната система и времето за изчакване на избор в разширените опции.
в процеса трябва да направите всичко, което програмата изисква. Процесът е прост и визуален. Когато възстановяването приключи, ще видите съобщение, че буутлоудърът е възстановен и можете да рестартирате компютъра си.