Как поставить загрузчик grub вместо загрузчика windows

I've got an HP Pavilion Touchsmart notebook that came with Windows 8. I've upgraded to 8.1, and now I want to dual-boot an Ubuntu distribution with Windows 10. When dual-booting with Windows 8.1, the

This is the longest post I’ve ever made on a StackExchange site, but this process requires a lot of explanation and attention to detail. It’s also somewhat specific to the hardware in question, which requires more explanation.

After a lot of headache, two accidental hard drive reformattings, and lots of frustration with HP’s buggy firmware implementation, I finally got Xubuntu and Windows 10 running nicely side-by-side. I’ve done this with Windows 10, but it should also work with Windows 8.1. Both of these newer operating systems use the new(ish) UEFI firmware system, instead of the traditional BIOS system, which is where most confusions with dual-booting seem to arise. I read lots of things from lots of places with instructions for dual-booting with a BIOS system, that talk about UEFI as if it’s just a different kind of BIOS, or an optional layer between BIOS and an OS. UEFI and BIOS are not the same thing; a UEFI is not a BIOS, and a BIOS is not a UEFI. They’re completely different. There are some things that need to be done differently when dual-booting with a UEFI system.

Firstly, do not use EasyBCD. I’ve seen a lot of outdated dual-booting tutorials that recommend EasyBCD, but it is designed to work with traditional BIOS firmware used by Windows 7 and Windows Vista, and it does not work well with newer UEFI firmware (Windows 8, 8.1, or 10). If you have already fiddled with EasyBCD, don’t worry- the worst it probably did is make a mess in your EFI boot entries by writing things to the MBR. We’ll clean that up in step 4. Speaking of MBR, avoid that like the plague. The Master Boot Record is what’s used in traditional BIOS firmware as a list of bootloaders stored in the boot partition (or, if written by Windows, in whichever partition is first) of your hard drive. It’s meant to list the operating systems on the hard drive, and tell the firmware which one gets booted first. This does not work well with HP’s UEFI firmware. It seems that if there’s any MBR modification done, HP’s UEFI firmware gets confused and runs back to the Windows Boot Manager, which will completely bypass GRUB.

What you’ll need:

  • A live USB or installation CD with your preferred Ubuntu distribution.
  • Installation media for your Windows OS. If you’re upgrading from Windows 8.1, you can do it without downloading the full 3+ GB .iso for Windows 10- there is a web installer that downloads it as it installs- but, for this method, you need the .iso extracted to a CD or USB drive. It’s also a good idea to have it on hand for the future, so you might as well create it now. Since this question is about dual-booting with a UEFI system, you’ll need the 64-bit OS.
    • Make sure you have your Product Key, or you won’t be able to upgrade/install.
  • Optional, but highly recommended: A drive large enough to back up your current Windows files.
  • Enough space on your hard drive for both operating systems, a boot partition (only 200 MB), and a linux-swap partition (usually the same size as your physical RAM).

Step 1: Make a backup

Back up all of your Windows files and folders that you don’t want to lose. As long as you have enough free hard drive space for your new Ubuntu partition, this process should not interfere with Windows files. Should is a risky word, though.

Windows 8.1 has a «make a recovery disk» tool, but I found it useless and non-functional when it came to restoring the backup I made with it. The most straightforward way to preserve the files you don’t want to lose is to just open Windows Explorer, and copy them to a backup disk. It takes forever, but it’s worth it.

Step 2: Disable Fast Startup, and shut down your computer

You’ll need to be logged in as an administrator to do this.

It’s very important to disable Fast Startup before installing GRUB, because whether the Ubuntu installer can detect Windows’ presence depends on how Windows represents itself in the boot partition. With Fast Startup properly disabled, it should be detected. Detection will be covered in step 4.

Windows 8, 8.1, and 10 use this fancy new thing called Fast Startup, which tells your firmware to load a special bootloader that restores the system to its pre-shutdown state very quickly. Pretty cool, huh? Well, because it changes the EFI system’s next-boot option, this feature will have to be disabled while you’re installing GRUB. This can be done by doing the following:

  1. Open Control Panel (Windows+X->Control Panel from the desktop in Windows 8+) (apparently Microsoft hates power users, so searching the Start Menu for «Control Panel» is now the fastest way to open it)
  2. Navigate to Power Options
  3. Click «Choose what the power button does»
  4. Click «Change settings that are currently unavailable»
  5. Make sure the box that says «Turn on fast startup (Recommended)» at the bottom is not checked.

More detailed instructions can be found here. You can re-enable Fast Startup after installing GRUB, and it seems not to cause any problems with Ubuntu/GRUB booting. Just make sure it’s disabled during the installation.

After you’ve disabled Fast Startup, shut down your computer. Since Fast Startup is disabled, Windows will do a complete shutdown, and not change the next-boot option in the firmware’s EFI manager. (Layman’s terms: Windows won’t tell your HP system to boot its Fast Startup file when it’s next turned on, so it will use the EFI boot manager’s list, as it should. GRUB will place itself first on this list.)

Step 3: Set up the partitions with gparted

Before installing Ubuntu, you’ll want to use your live CD/USB to make a separate partition for it. That way, it *won’t overwrite Windows.

*Make sure you’ve got a backup. No guarantees- this depends on what Windows has decided to do in your boot partition, and it may also depend on which Ubuntu version/distribution you’re using- I haven’t used them all.

To make the partitions, you need to boot to your live CD/USB, and open gparted. There are plenty of tutorials on using gparted, and it’s pretty easy to figure out, so I’ll leave the specifics up to you and the Internet.

  • You will need 4 partitions:

    1. A boot partition. If you already have Windows installed, you shouldn’t need to do anything- it should already be one of the first partitions in your drive. Sometimes Windows also makes another small partition at the beginning of the disk called Recovery. Just leave this alone.

      • If you’re doing a new installation, and you want to start everything from scratch (this will wipe out all of your data), go ahead and delete all of the partitions on your drive, and then make this partition. It should be the first partition; its format should be FAT32; and it should be at least 200 MB in size. If gparted has an option to label it, just call it boot. If there’s not label option, don’t worry about it. You must, however, set the «boot» and «esp» flags on this partition ; without them, the Ubuntu installer will just ignore it and use a legacy mode install, and Windows (10) will refuse to install altogether with the error «we couldn’t create a new partition or locate an existing one». Or not. It seems to depend on how Windows feels that day…
    2. A Windows partition. Again, if you already have Windows installed, this partition should obviously be here, after the boot and Recovery partitions. This is where you want it, but you need to resize it to make room for your Ubuntu partition, and the linux-swap partition. Use gparted’s resize/move option to do this. Ubuntu needs at least 5 GB, and the linux-swap partition should be at least half the size of your physical RAM, so Resize the windows partition to make enough room for that. gparted will warn you about potential data loss- shrinking your partition should not destroy or corrupt any data, as long as you don’t shrink it down into the space being used.

      • If installing both operating systems from scratch (again, this will wipe out all of your data), Microsoft says you’ll need at least 20 GB for the 64-bit OS, so this partition needs to be at least 20 GB. You’ll probably want more than that, though: I just used half of the space after the boot partition for Windows, and half of it for Ubuntu and linux-swap. If you’re going from scratch, this partition needs to be formatted as FAT32. When you install Windows, it will format it to NTFS. Do not do this with gparted; Windows’ implementation of NTFS is different than gparted’s implementation, and Windows may not be able to recognize the partition. In the Windows 10 installer, you should have the option to select which partition to place Windows 10 on. If it’s formatted as FAT32, Windows should be able to see it and install itself there. If you can label this partition, label it Windows. That will make it easier for you during the Windows install. Speaking of the Windows installer- don’t begin that yet. If you’re doing new installations of both Ubuntu and Windows at the same time, instead of upgrading from 8 or 8.1 to 10, it’s much easier to install Ubuntu first.
    3. A Linux partition. Like the Windows partition, this can vary in size, but Ubuntu’s website recommends at least 5 GB. Again, you’ll probably want a lot more than that. If you’re upgrading instead of doing a fresh install of both operating systems, you should be able to create this partition in the new «unallocated» space shown in gparted. Make it as big as you like but remember to leave space for a linux-swap partition if you plan on using one. It should be formatted as ext4. ext2 or ext3 should work too, if you prefer those for some reason.
      • If installing from scratch, make your Ubuntu partition just as described above. Make sure it’s formatted as ext4, ext3, or ext2. This will allow Ubuntu to use it, but keep the Windows 10 installer from recognizing it, which should cause it to default to the FAT32 partition you made in step 3, which it can read.
    4. Optional, but recommended: a linux-swap partition. At least half the size of your physical RAM is a good start, but I recommend reading the details. I’ve got 8 GB of RAM, and a 1TB hard drive, so I just made this partition the same size as my physical RAM.

Step 4: Install Ubuntu first

Whether you’re upgrading to Windows 10 from an existing Windows OS, or installing both Windows 10 and an Ubuntu distribution to a new or newly-repartitioned hard drive, it’s a lot easier to install Ubuntu first. Ubuntu uses GRUB 2 as its bootloader, which does things the way an EFI bootloader should. Windows 10 uses Windows Boot Manager, which does things… well, the way Windows does them… If you install Windows first, you likely won’t be able to boot to Ubuntu without holding down a special key during the boot process to stop the Windows Boot Manager from loading, because Windows Boot Manager doesn’t respect GRUB when it’s added to its list of bootloaders. So instead, install Ubuntu and GRUB first, then add an entry to GRUB for the Windows Boot Manager.

Step 4.1: Cleaning out old EFI entries (optional)

Please be careful here. Deleting the wrong thing can cause huge problems.

Before installing Ubuntu, we want to make sure that the ghosts of past OS installations aren’t going to come back to haunt us in the future. In a UEFI system, operating systems use EFI (extensible firmware interface) files to tell the firmware: «Hey, I exist. This is where you can find me.» When a new OS is installed, it adds an entry to the EFI Boot Manager’s list, which gives it a unique entry number, and tells the EFI Boot Manager where it’s EFI file(s) is/are (Windows registers several different EFI files- one for regular boot, one for a recovery boot, one for Fast Startup- possibly more depending on your firmware and your OS version). The EFI Boot Manager also keeps track of the boot-order: a list of entry numbers that specify what gets booted first. If you’ve been using EasyBCD; bcdedit; Windows’ Boot Repair or Recovery tools; boot-repair in a Linux OS; or even if you’ve updated Windows or reinstalled it, there’s a good chance that your EFI entry list now has some duplicates. At least, that was the case with mine. Having duplicates here can bog down your booting process, as the firmware sifts through the out-of-date or wrong-file entries until it finds a bootloader that works. It can also cause a boot-loop, where bootloader A points the firmware to bootloader B, which points it back to A, and then things start to take a very, very long time…

Anyway, to view your EFI entry list and see what needs to be cleaned, use the efibootmgr package with your live CD/USB. You’ll need to install it using sudo apt-get install efibootmgr in a terminal, then run it using sudo efibootmgr. By default, you’ll get a list of entries that looks something like this:

Picture of EFI Boot Manager entry list from the output of efibootmgr

When I first used this tool after fiddling with EasyBCD and bcdedit trying to get things to boot in the right order, I had over a hundred entries here, most of them duplicates.

If your boot manager list isn’t too cluttered, or if you’re not comfortable deciding what can be deleted and what shouldn’t be deleted, just skip to step 4.2.

To clean out any entries you don’t need, use efibootmgr -b <hex_number> -B, where hex_number is replaced by the number listed with the boot entry. So, to remove the USB Drive (UEFI) entry (numbered Boot2001) in the picture above, I’d use sudo efibootmgr -b 2001 -B. You’ll notice that I left some duplicates (all of the 3000+ numbered entries). You can use efibootmgr with different options to view some other attributes of the entries, such as the file paths they point to. Those entries look like duplicates, but they all point to different files used by my HP laptop to update its BIOS. Please be careful what you remove. It can be very difficult or impossible to replace things here. You can also use efibootmgr to change the BootOrder, which it displays. See the man page for more information on this useful tool.

Step 4.2: Installing Ubuntu

After you’ve cleaned up the EFI Boot Manager entries, if you chose to do so, it’s finally time to install Ubuntu. With your live CD/USB loaded, select the install option from the bootloader menu, or launch it from the desktop after logging in. Choose your options on the first page of the installer. The second part will look something like this: (I’m using Xubuntu 14.04, so your installer may vary, but the options should be pretty similar.)

Screenshot of Xubuntu 14.04 install options

If your installer doesn’t detect your Windows installation (like mine), you’ll need to select the «Something else» option. From there, you’ll get a screen that looks similar to the gparted menu you used to set up your partitions. Simply select the partitions you made, and assign them to the correct mount point by selecting a partition and clicking «Change».

  • If you’re installing both OSes from scratch, do the same thing. Do not use the automatic installation option. You need to make sure Ubuntu gets installed in the ext2/ext3/ext4 partition, not the FAT32 Windows partition.

Step 5: Update or install Windows second

You should have an installation disk for Windows 10. Before you start installing, make sure you have your product key nearby, or you won’t be able to install/upgrade. When you boot to the installation CD/USB, the installer is pretty simple. A bit too simple for my comfort- the only button was «Install Windows 10» or something like that, and Windows 8, 8.1, and 10, are infamous for their behind-the-scenes installs, where it simply says «We’re getting things ready», and provides no details about what it’s actually doing to your system. If you’ve followed these instructions so far, it should be OK to begin installation regularly.

  • If you’re upgrading from Windows 8 or Windows 8.1, you shouldn’t have to do anything special with the installation process. Get through the (very long) installation, and proceed to step 6.

  • If you’re doing a fresh install, the installer will ask you where you want to install Windows 10. Make sure you select the FAT32 partition you made in step 2, and not another partition, or that partition will be wiped and formatted. Because Ubuntu is already installed, Windows 10 should be respectful of the boot partition and not reformat it. Having the rubbish entries cleaned out of the EFI Boot Manager’s list will also free up space in the tiny 200 MB boot partition, lessening the chances that Windows will get confused and angry and clear the whole thing for itself.

Step 6: Update and (optionally) customize GRUB

After installing or upgrading to Windows 10, you’ll need to reboot to Ubuntu to update GRUB so it includes Windows Boot Manager on its list. Before you do this, disable Fast Startup again. This is done very similarly to how you did it in step 2. The control panel and settings UI are a bit different, but most of the options are still there.

After you’ve disabled Fast Startup again, reboot your computer.

If Windows boots by default, you will need to hold down the special key for your laptop to get to the system’s firmware menu. On my HP Touchsmart, that key is Esc. Other common keys are F12, Delete, F10… Your computer’s manual should be able to help you out here. From the firmware menu, boot into GRUB. There should be an option to «select a boot device» or something similar, and Ubuntu or GRUB should be listed there. If it’s not listed, look for an option to boot from an EFI file, and browse to /EFI/ubuntu/grubx64.efi or (if you have Secure Boot enabled), EFI/ubuntu/shimx64.efi instead. The actual paths of these files may vary depending on your options, and how your boot partition is set up, but the file names should be the same. Selecting one of these .efi files should boot to GRUB, where you can then boot to your Ubuntu distribution. Once you’ve logged in, open a terminal and type sudo update-grub. This will run the os-prober script that GRUB uses to compile grub.cfg, which tells grub’s EFI file which entries to include, what colors to use, etc. The os-prober script should identify Windows Boot Manager, and automatically add it to the list.

Optionally, you can install Grub Customizer to change the order of menu entries and change the behavior and the color and background of the GRUB menu. You can install this from a terminal using sudo apt-get install grub-customizer, and then run sudo grub-customizer.

When using GRUB on a UEFI system shared with a Windows OS, DO NOT install to MBR. Some tutorials list it as a crucial step to use Grub Customizer’s «Install to MBR» option under the File menu. You should not do this on most UEFI systems. The MBR (Master Boot Record) is designed for BIOS firmwares, and is still used by the Windows Boot Loader to some extent. Adding GRUB to the MBR, when it’s already in the EFI entry list, can cause lots of hairballs.
If you need to make sure that GRUB is the first entry in the boot-order list (i.e. if Windows is always booting, even though you did everything right), use efibootmgr (see step 4.1) to view/edit the EFI Manager’s boot order.

Notes

I haven’t mentioned Secure Boot at all, because it should normally not affect Ubuntu’s installation. Many dual-booting tutorials talk about disabling it, but that’s usually not necessary with a current 64-bit installer. However, each PC is different, and Secure Boot is fairly new (2012), so different firmwares may implement things differently. For example, the version of my HP firmware includes a «legacy boot» option, which disables Secure Boot and treats installed OSes as though it were BIOS firmware: some people recommend enabling this for installing for dual-boot. Installing Ubuntu in legacy boot mode on my system prevented GRUB from adding itself to the EFI entry list, so all it could do was add itself to the MBR, which Windows Boot Manager had full control of. Windows Boot Manager took a lot of tweaking to even display the list of entries, and after all that, it would only boot the Windows entries, making GRUB unusable without manually selecting its EFI file every time I powered on.

See here for more information on Ubuntu and Secure Boot and Legacy Boot, and information about the difference between UEFI and BIOS installations in general.

Автор Сообщение
 

СообщениеДобавлено: 07.02.2021 22:06 

[профиль]

Member

Статус: Не в сети
Регистрация: 20.07.2011
Откуда: Екатеринбург

С чего-бы начать…я уже заменил WBM на Grub 2 FM,т.е. поменял сам загрузчик…на всех разделах,кроме одного…который на 16мб и без файловой системы,ну и естественно файлы самого граба закинул и на FAT32 и NTFS разделы,но какого-то хрена по-прежнему загружается Windows Boot Manager…я уж с горя начал ковырять его,чтоб понять — что он может,а что нет и оказалось,что он может чуть больше,чем ничего — ISO-шки не умеет грузить,EFI,кроме винды и какого-нибудь рекавери тоже ничего не смог загрузить — ни граб2,ни граб4дос…даже VHD-шку от VirtualBox-а почему-то завести не смог — везде пишет,что файл не найден,хотя само собой путь правильно прописан…шаманил я над Windows Boot Manager через BootIce,так-что тут проблем не должно быть,я даже добавил винду со второго ссд в загрузку…в общем вопрос в том,точнее два вопроса — реально-ли вообще что-то,кроме ничего загрузить через Windows Boot Manager или даже не стоит париться ? (типо исо-шки,например) и как (не смотря на ответ на первый вопрос) полностью заменить Windows Boot Manager на Grub 2 FileManager или хотя-бы на Grub4dos (бутайс почему-то предлагает PBR заменить только на Grub4dos,что очень странно,хотя с помощью AIO Boot Extractor я могу на оба раздела Grub 2 запихнуть),проблема только в том,что всё равно загружается Windows Boot Manager,а если проворачиваешь установку бутлоадера таким способом на любом другом жестаке,то всё работает,вопрос — почему так и как это исправить ? ну и подчеркну ещё,что всё это надо сделать на UEFI,конечно-же,а то в инэте,если и есть упоминание этого,то или не решённое или на Bios-е делалось(


_________________
Xeon E5-1650v3@4.4GGZ+GTX 970 4gb+32gb DDR4 2400 (CL13,CR1) (Samsung)
valid.x86.fr/5f4rjt
youtube.com/channel/UCaq4-vPuxxAOVqmhjhqtrcw — тесты зеонов

Реклама

Партнер
 
Darksome

Member

Статус: Не в сети
Регистрация: 26.04.2004
Откуда: Leningrad.USSR
Фото: 59

ха… только сейчас заметил — и тут этот вопрос — на скольких форумах еще расписались?

Grub4dos не умеет в UEFI(а форков то понаделали…), а Grub2 нужна версия именно под UEFI…
все эти махинации с бут секторами бесполезны — в UEFI они не используются — там проще: по дефолту, если не указано другого, из загрузочного раздела грузиться файл EFIBOOTBOOTx64.EFI (или BOOTia32.EFI для x32 систем) вот этот файл и должен быть заменен на Grub2 EFI-загрузчик, а остальные файлы загрузчика по пути прописанном в самом BOOTx64.EFI (обычно EFIGRUB или BOOTGRUB) и выбирать загрузку надо, вызвав меню загрузки в UEFI, с самого диска с приставкой UEFI:, а не Windows Boot Manager…
Windows Boot Manager уже прописан по дефолту в настройках самого UEFI и указывает уже на свой загрузчик и удалять его надо через EFI Shell…


_________________
Всё работает как часы… дважды в сутки — точное время…

 
Lehus

Member

Статус: Не в сети
Регистрация: 20.07.2011
Откуда: Екатеринбург

Ух,пропал на долго,пытался сам разобраться,раз никто не в курсе,что и как и…в итоге получилось,сейчас опишу как…
По обоим статьям по ссылке пробежался глазами,но люди почему-то,что там,что в других статьях — ищут себе проблемы и любят всё дико усложнять,аж настолько,что становится вообще нихрена не понятно и если что-то пошло не так — хрен его знает,как это поправить…ибо промежуточных шагов почти нигде нету,все статьи — это дикий поток сознания,который даже пролистать — уже сложно,а вычленить нужное — ещё сложнее…
Собственно вернёмся к делу — мне подкинули мысль — поставить ReFind,я долго открещивался от него,ибо,как не любил его (казался слишком примитивный,иконки гигантские и даже на экран не влазят…),хотя почему не любил — я и сейчас его недолюбливаю…собственно — в итоге сдался и решил его попробовать…снова…открыл первую попавшуюся статью:
bootdev.ru/2017/02/Ustanovka-rEFInd.html
статья,если честно — полное говно,я даже не стал на вторую страницу листать,т.к. вся первая страница — это всего лишь одна строка:
bcdedit /set {bootmgr} path «EFIrefindrefind_x64.efi»
а мне собственно ничего больше и не надо было,это уже меня навело на много разных мыслей,типо — дык вот как левые бутлоадеры ставятся…ну и я даже не проверял,работает-ли данная строка,мне это было абсолютно не важно,я полез в свой любимый BootIce и по-началу пытался прописать этот загрузчик в Windows Boot Manager,но он,как всё остальное — оттуда не грузится…
а потом ещё наткнулся на эти статьи:
poweruser.guru/questions/1247300/как-заставить-bios-uefi-запускать-grub-а-не-windows
askubuntu.ru/questions/411780/kak-zastavit-grub-byt-zagruzchikom-po-umolchaniju-vmesto-windows-boot-manager-na-noutbuke-uefi
они почти одинаковые и самый сок там — в ответах…и они там тоже почти все одинаковые,ну да не суть,собственно,там ещё пару мыслей мне подкинули (хотя там тоже 99% бесполезной информации,но тем,не менее)…собственно предлогали заменить bootmgfw.efi сделав его бэкап и это,пожалуй должно прокатить,но это тоже как-то слишком хардкорно,подумал я…но кое-что и там выцепил для себя — то,что надо юзать только фат32 раздел (как-бы вообще ни разу не очевидный момент),а потом подумал — а почему-бы всё это вместе ни скомпилировать и юзать всё тот-же бутайс — AIO Boot extractor ведь всю грязную работу уже сделал и распаковал все файлы на оба раздела и просто залез в пункт «Редактировать загрузочные записи» в разделе UEFI и прописал туда:
EFIREFINDREFIND_X64.EFI
создав новую загрузочную запись и выбрав первый ссд и выбрав раздел FAT32,ну и переименовав загрузочную запись,чтоб было понятнее…перезагружаюсь и о чудо — всё прекрасно работает! ура,победа!
Таким-же образом добавил и рефинды с других жестаков(ссд)…ну,где были фат32 разделы,конечно,потом так-же добавил и вторую винду через Windows Boot Manager (хз зачем,просто,чтоб была),потом меня попёрло,дабавил ещё и клювера и граб4дос и граб2,ну и всякие мемори диагностик и резюм апликейшн,просто потому-что могу))
И всё по-сути работает,правда я расчитывал на обычный граб2фм,а тут получился полноценный граб2,ломал голову,где вообще его конфиги и почему именно он грузится (тот-то грузился вообще из образа),но в итоге и их нашёл и конфиги рефинда…правда теперь уже и не знаю,что оставлять основным бутманагером,ибо максимум,что у меня получилось добавить в рефинд — кучу efi-шек (включая обе винды,конечно-же),но часть из них почему-то оказалась не рабочей (хотя скорее сам рефинд не захотел их загружать просто) и на этом всё — так и не понял,кроме них он что-то умеет грузить ? образы там или типо того…,а с граб2 всё ещё намного пичальнее…я там пункт меню добавлял только с полчаса из-за дебильного синтаксиса,но пока-что тоже получилось добавить только пробел между строк и таймаут,ну выбранный пункт по-умолчанию,который запуститься после таймаута…и всё,даже заставить работать некоторые пункты,которые там были по-умолчанию пока не могу,типо Grub4dos,clover,refind и тоже пока не догнал — образы-то он умеет грузить прямо из меню ? или только из специального пункта ? а,ну да,ещё под-меню тоже понял,как создавать…а с кловером вообще всё максимально плохо — какой [censored] там вообще конфиг писал — убить-бы его,вообще ничего непонятно…с первыми двумя я более-менее справляюсь даже без мануалов,вообще не гуглил никакие конфиги,точнее пытался на граб2фм найти хоть что-то,но там только про граб статьи,да и то все для линя,да и почему-то все,которые я нашёл — бесполезные,они там,ни efi-шки не пытаются грузить,ни образы…кажется они сами не знают,что это такое и что с этим делать…собственно и по-этому ещё один вопрос созрел — где почитать про нормальный граб2фм и как в него прописать эти самые efi и образы,желательно с минимум строк,т.е. без всякой хрени,типо поиска файла и условий после которого этот пункт меню можно будет увидеть (вообще не понял — кто эту тупость придумал и зачем…)


_________________
Xeon E5-1650v3@4.4GGZ+GTX 970 4gb+32gb DDR4 2400 (CL13,CR1) (Samsung)
valid.x86.fr/5f4rjt
youtube.com/channel/UCaq4-vPuxxAOVqmhjhqtrcw — тесты зеонов

 
Lehus

Member

Статус: Не в сети
Регистрация: 20.07.2011
Откуда: Екатеринбург

Что-то вообще пока ничего не получается с грабом — ни манулов нормальных не нашёл,ни самому ничего не получается больше с ним сделать…пробовал,как уже говорил восстановить хотя-бы пункты из дефотного меню,но пока ничего не получается…уже второй день бьюсь и нисколько не продвинулся…ну собственно я не об этом,хотел ещё одну вещь спросить — в каком файле храниться конфиг-то граба ? в дефолтном он живёт в файле grub.cfg,у себя я нашёл пункты меню только в файле main.cfg…собственно его и редактировал,но оказалось,что ни один пункт не поменялся даже…сразу подумал,что нужно редактировать тот-же файл,но уже на ефи-разделе,но ни в первом файле,ни во втором даже не было таких пунктов меню,которые мне показывает граб,если грузится с реального железа…а вот если тестить в квему или ютмэйк,то там всё отлично меняется…как такое вообще возможно ? где ещё может меню лежать ?


_________________
Xeon E5-1650v3@4.4GGZ+GTX 970 4gb+32gb DDR4 2400 (CL13,CR1) (Samsung)
valid.x86.fr/5f4rjt
youtube.com/channel/UCaq4-vPuxxAOVqmhjhqtrcw — тесты зеонов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Лаборатория

Новости

Ссылки по теме

  • Arch boot process
  • Boot debugging
  • grub-gfx (Русский)
  • Kernel parameters

GNU GRUB это Многосистемный загрузчик. Он является ответвлением от GRUB,(GRand Unified Bootloader), который был разработан Эриком Стефаном Болейном (Erich Stefan Boleyn).

Вкратце, загрузчик — это первая программа, которая загружается при старте компьютера. Она отвечает за загрузку и передачу управления ядру Linux. Ядро, в свою очередь, запускает остальную часть операционной системы.

В данный момент, GRUB де-факто является стандартным загрузчиком LINUX, и в скором времени будет заменён на GRUB2. Когда это случится, «GRUB» сменит свое текущее название на «GRUB Legacy».

Contents

  • 1 Установка
  • 2 Настройка
    • 2.1 Определение корневой директории для GRUB
    • 2.2 Двойная загрузка с Windows
    • 2.3 Двойная загрузка с GNU/Linux
    • 2.4 chainloader and configfile
  • 3 Установка загрузчика
    • 3.1 Установка в MBR
    • 3.2 Установка в раздел
    • 3.3 Альтернативный метод (grub-install)
  • 4 Советы и трюки
    • 4.1 Загрузка в графическом режиме
    • 4.2 Видеорежим
      • 4.2.1 vbetest
      • 4.2.2 hwinfo
      • 4.2.3 Видеорежимы, детектируемые GRUB
    • 4.3 Метки разделов
    • 4.4 Парольная защита
    • 4.5 Перезагрузка в ОС по выбору
    • 4.6 Взаимодействие LILO и GRUB
    • 4.7 Загрузочная дискета GRUB
  • 5 Решение проблем
    • 5.1 GRUB Error 17
    • 5.2 Случайная установка GRUB в раздел Windows
    • 5.3 Редактирование параметров GRUB из меню загрузки
    • 5.4 Ошибка device.map
    • 5.5 Выбор ОС при перезагрузке KDE не работает
  • 6 Внешние ресурсы

Установка

Пакет GRUB устанавливается по умолчанию в процессе установки Arch Linux. Если Вы первоначально не отметили для установки данный пакет, его можно установить с помощью:

После установки пакета дополнительно необходимо установить загрузчик GRUB в загрузочный сектор или на раздел диска, чтобы он смог выполнять загрузку операционной системы(систем). Этот процесс описан в главе Установка загрузчика.

Настройка

Файл настроек расположен в /boot/grub/menu.lst. Отредактируйте этот файл в соответствии с Вашими требованиями.

  • timeout # — время ожидания (в секундах) перед загрузкой операционной системы по умолчанию (default).
  • default # — номер записи, соответствующий операционной системе, загружаемой по умолчанию по истечении времени timeout.

Пример файла настроек (директория /boot расположена на отдельном разделе):

# Конфигурационный файл для GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# ПРЕОБРАЗОВАНИЕ ИМЕН УСТРОЙСТВ
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/sda        (hd0)
#  /dev/sdb2       (hd1,1)
#  /dev/sda3       (hd0,2)
#

#  ВИДЕОРЕЖИМ - РАЗРЕШЕНИЕ ФРЕЙМБУФЕРА (FRAMEBUFFER RESOLUTION)
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+
#  для более детальной информации о настройках видеорежима:
#  http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution
#
# Совет: Если Вам необходимо разрешение 1024x768, добавьте "vga=773" к строке kernel.
#

# Общие настройки:
timeout   5
default   0
color light-blue/black light-cyan/blue

# Неявная нумерация загрузочных секций начинается с 0

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz-linux root=/dev/sda3 ro
initrd /initramfs-linux.img

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

Определение корневой директории для GRUB

GRUB должен обладать информацией о том, где в системе находятся его файлы. Это важно, поскольку таких мест может быть несколько (в случае с несколькими операционными системами). Файлы GRUB всегда располагаются в директории /boot, которая может находиться на отдельном разделе.

Примечание: GRUB присваивает имена устройствам хранения данных иначе, чем это делает ядро.

  • Жесткие диски именуются как (hdX); также именуются и любые USB устройства хранения данных.
  • Нумерация устройств и разделов начинается с нуля. Например, первый обнаруженный BIOS-ом жесткий диск будет иметь имя (hd0). Второе устройство будет иметь имя (hd1). Тот же принцип верен и для разделов. Например, второй раздел на первом жестком диске будет именоваться (hd0,1).

Если Вы не уверены где в Вашем случае находится /boot, используйте команду find во встроенной командной оболочке GRUB. Для того чтобы открыть командную оболочку, наберите:

Ниже приведен пример для систем без отдельного раздела под /boot, т.е. когда /boot является обычной директорией внутри корневой директории /:

grub> find /boot/grub/stage1

Следующий пример для систем с отдельным разделом /boot:

GRUB найдет нужный файл и выведет местоположение файла stage1, нарпимер:

Полученное значение должно быть указано в строке root в Вашем файле настроек. Для выхода из командной оболочки наберите quit.

Двойная загрузка с Windows

Добавьте следующие строки в конец Вашего /boot/grub/menu.lst (подразумевается, что Windows установлена на первый раздел первого диска):

title Windows
rootnoverify (hd0,0)
makeactive #если Вы используете Windows 7, закомментируйте эту строку
chainloader +1

Примечание: Windows, начиная с версии 2000, НЕ требует для нормальной загрузки, чтобы система располагалась на первом разделе диска (вопреки распространенному заблуждению). Если по какой-либо причине изменился номер раздела с уже установленной Windows (например, если Вы добавили раздел перед существующим разделом с Windows), Вам необходимо внести соответствующие изменения в файл boot.ini (см. эту статью для более детальной информации).

Если Windows расположена на другом жестком диске, необходимо использовать команду map. Тогда Windows будет считать, что она установлена на первый жесткий диск. Предположим, что Windows установлена на первый раздел второго диска:

title Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive #если Вы используете Windows 7, закомментируйте эту строку
chainloader +1

Двойная загрузка с GNU/Linux

Вы можете указать настройки, подобные тем, которые определяет сам Arch Linux во время установки, например:

title Other Linux
root (hd0,2)
kernel /path/to/kernel root=/dev/sda3 ro
initrd /path/to/initrd

Однако могут потребоваться дополнительные параметры, или может не использоваться начальный RAM диск. Проверьте содержимое файла /boot/grub/menu.lst в других установленных дистрибутивах, чтобы выяснить корректные значения параметров загрузки, но лучшим решением будет использование команд chainloader and configfile

chainloader and configfile

Для облегчения процесса дальнейшего сопровождения системы, рекомендуется использовать команды chainloader и configfile для загрузки дистрибутивов, имеющих механизмы «автоматической» настройки параметров GRUB (например, Debian, Ubuntu, OpenSUSE). Таким образом, дистрибутивы будут самостоятельно управлять параметрами своей загрузки, в т.ч. и menu.lst.

  • Команда загрузки chainloader выполнит вызов другого загрузчика, вместо того, чтобы загружать образ ядра. Эта функция удобна в случае, если в загрузочной записи раздела есть установленный загрузчик (например, GRUB). Таким образом, мы можем установить «главный» GRUB в главную загрузочную запись (MBR), и, дополнительно для каждого дистрибутива, установить GRUB в загрузочные записи разделов(PBR), на которых они установлены.

  • Команда configfile сообщает GRUB, что он должен загрузить определенный конфигурационный файл. Эта возможность используется для подгрузки файла menu.lst, который принадлежит другому дистрибутиву. При этом не требуется обязательное наличие отдельно установленного GRUB для этого дистрибутива. Однако главным недостатком такого подхода является возможная несовместимость установленного GRUB с «чужим»menu.lst, поскольку некоторые дистрибутивы вносят существенные модификации в свои версии GRUB.

Например, GRUB устанавливается в MBR, а другой загрузчик (это может быть GRUB или LILO) уже установлен в загрузочный сектор (hd0,2).

---------------------------------------------
|   |           |           |   %           |
| M |           |           | B %           |
| B |  (hd0,0)  |  (hd0,1)  | L %  (hd0,2)  |
| R |           |           |   %           |
|   |           |           |   %           |
---------------------------------------------
  |                           ^
  |       chainloading        |
  -----------------------------

В данном случае достаточно прописать в menu.lst:

title Other Linux
root (hd0,2)
chainloader +1

Если загрузчиком в (hd0,2) является GRUB, можно использовать команду configfile:

title Other Linux
root (hd0,2)
configfile /boot/grub/menu.lst

Команда chainloader также может быть использована для запуска загрузчика расположенного в MBR на другом диске.

title Other drive
rootnoverify (hd1)
chainloader +1

Установка загрузчика

GRUB может быть установлен с отдельного носителя (например, с LiveCD), или путем установки из-под запущенного Arch Linux. Переустановка загрузчика GRUB требуется довольно редко, в ней нет необходимости, когда:

  • Изменился конфигурационный файл.
  • Обновлен пакет GRUB.

Установка/переустановка загрузчика необходима когда:

  • Загрузчик ещё не установлен.
  • Другая операционная система при установке затерла существующий загрузчик.
  • Загрузчик не стартует по неизвестным причинам.

Несколько замечаний, прежде чем мы продолжим:

  • Убедитесь, что Ваш файл настройки /boot/grub/menu.lst не содержит ошибок. Обратитесь к Определение корневой директории для GRUB для того, чтобы убедиться, что имена устройств заданы корректно.
  • Для того чтобы большинство версий BIOS корректно распознало наличие загрузчика, GRUB должен быть установлен в MBR (первый сектор жесткого диска), или в первом разделе первого устройства хранения данных. Для того чтобы позволить различным дистрибутивам управлять настройкой своих опций загрузки, можно использовать несколько экземпляров GRUB, см. chainloader and configfile .
  • Для некоторых случаев потребуется установка загрузчика GRUB из-под chroot окружения, например для установки загрузчика на RAID-тома, или в случае, когда загрузчик вышел из строя, и Вы не можете загрузить Вашу операционную систему. Для этого вам необходимо выполнить Change root из-под LiveCD, или другой инсталляции Linux.
  • Файлы *stage* должны находиться в /boot/grub, что может не соответствовать действительности, если загрузчик не был установлен в процессе установки системы. Данное затруднение может быть разрешено путем копирования необходимых файлов: cp -a /usr/lib/grub/i386-pc/* /boot/grub.

Сначала откройте командную оболочку GRUB:

Используйте команду root с параметром, полученным в результате команды find (см.Определение корневой директории для GRUB ), чтобы указать GRUB, какой из разделов содержит stage1 (и, соответственно, там же находится и /boot):

Tip: Командная оболочка GRUB поддерживает автодополнение по клавише Tab. Если Вы наберете ‘root (hd’ и нажмете Tab дважды, Вы увидите список доступных устройств, аналогично можно получить список доступных разделов. Автодополнение также работает и в загрузочном меню GRUB. Например, если Вы допустили ошибку в конфигурационном файле, вы можете позже в загрузочном меню отредактировать запись, используя автодополнение по клавише Tab, чтобы получить подсказку, какое имя устройства/раздела нужно указать вместо ошибочного. См. Редактирование параметров GRUB из меню загрузки.

Установка в MBR

Следующий пример устанавливает загрузчик GRUB в MBR первого жесткого диска:

Установка в раздел

Следущий пример устанавливает загрзчик GRUB в первый раздел первого жесткого диска:

После выполнения команды setup, введите команду quit, для того, чтобы выйти из командной оболочки. Если Вы используете chroot, выйдите из chroot окружения и отмонтируйте разделы (см. exit your chroot and unmount partitions). Теперь выполните перезагрузку системы.

Альтернативный метод (grub-install)

Tip: Этот метод менее надежный, более предпочтительной является установка загрузчика из командной оболочки GRUB.

Используйте команду grub-install с именем целевого устройства для установки загрузчика. Например, для установки загрузчика в MBR первого диска:

grub-install сообщит, удачно ли прошел процесс установки. Если вонзникли проблемы, воспользуйтесь методом установки из командной оболочки GRUB.

Советы и трюки

Замечания по дополнительным параметрам.

Загрузка в графическом режиме

Для разного рода «украшений» можно использовать grub-gfx. GRUB2 также предлагает расширенные графические возможности, такие как фоновые изображения и растровые шрифты.

Видеорежим

Вы можете использовать один из видеорежимов, описанных в примере menu.lst, однако, если Вы решили задействовать широкоэкранный LCD монитор с использованием его родного разрешения, то нижеперечисленные советы помогут Вам достичь желаемого.

В статье Wikipedia, представлен расширенный список разрешений фреймбуфера (тех, которые не входят в стандарт VBE). Но при использовании разрешения 1440×900 (vga=867) возникают проблемы. Это связано с тем, что производители видеокарт не ограничены стандартом VBE 3, и они могут выбирать номера кодов для видеорежимов, как им заблагорассудится. Именно поэтому эти коды различаются для разных видеокарт (иногда даже и у одного и того же производителя).

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

vbetest

  1. Установите пакет lrmi, который содержит утилиту vbetest (пользователи системы x86_64 должны использовать #hwinfo вместо vbetest)
  2. Запустите vbetest от имени суперпользователя
  3. Запомните значение в [ ], соответствующее выбранному Вами видеорежиму
  4. Нажмите q для выхода из vbetest
    1. Вы можете проверить выбранный вами видеорежим, достаточно запустить от имени суперпользователя команду vbetest -m <ваш_код>. Вы должны увидеть таблицу такого плана
  5. Прибавьте 512 к значению, которое Вы получили на предыдущем шаге, и пропишите его в параметр vga для соответствующей записи menu.lst
  6. Перезагрузите машину и любуйтесь полученным результатом

Например, vbetest выдает на компьютере:

[356] 1440x900 (256 color palette)
[357] 1440x900 (8:8:8)

Значит искомое значение — это 357. Затем, 357 + 512 = 869, значит необходимо указать vga=869. Добавляем полученное значение к строке kernel в файле menu.lst, как показано ниже:

kernel /vmlinuz-linux root=/dev/sda1 ro **vga=869**

Примечание:

  • (8:8:8) Глубина цвета 24-bit (то же и для 32bit)
  • (5:6:5) Глубина цвета 16-bit
  • (5:5:5) Глубина цвета 15-bit

hwinfo

  1. Установите пакет hwinfo из [AUR].
  2. Запустите команду hwinfo --framebuffer с правами пользователя root.
  3. Выберите код, соответствующий желаемому разрешению.
  4. Используйте полученный 6-ти значный код с префиксом 0x для параметра vga= в соотв. записи kernel в menu.lst. Если Вы предпочитаете не использовать префикс 0x, тогда необходимо перевести значения кода из шестнадцатеричной системы в десятичную.

Пример вывода команды hwinfo:

Mode 0x0364: 1440x900 (+1440), 8 bits
Mode 0x0365: 1440x900 (+5760), 24 bits

Соответственно срока в menu.lst должна иметь вид:

kernel /vmlinuz-linux root=/dev/sda1 ro **vga=0x0365**

Примечание: vbetest выдает значения кодов в формате VESA, чтобы преобразовать их в соответствующие коды видеорежимов ядра — необходимо прибавить значение 512. Команда hwinfo, напротив, выдает коды видеорежимов ядра, и не требует дополнительных манипуляций с полученным значением (не считая необязательного перевода в десятичную систему).

Видеорежимы, детектируемые GRUB

Существует достаточно простой метод определения кода видеорежима с использованием соотв. возможностей самого GRUB.

В строке kernel укажите, что ядро должно предложить пользователю самостоятельно выбрать код видеорежима во время загрузки.

kernel /vmlinuz-linux root=/dev/sda1 ro **vga=ask**

Теперь перезапустите систему. GRUB предложит на выбор список доступных основных видеорежимов, также доступна опция сканирования, для детектирования дополнительных видеорежимов.

Вы можете выбрать любое значение (нужно запомнить это значение, оно понадобится на следующем шаге) и продолжить процесс загрузки.

Выбранное Вами значение кода видеорежима является шестнадцатеричным, чтобы использовать его как опцию в строке kernel, переведите данное значение в десятичную систему.

Теперь замените значение параметра vga ask на десятичное значение кода видеорежима. Например, строка kernel для режима [369] 1680x1050x32 будет выглядеть:

kernel /vmlinuz-linux root=/dev/sda1 ro **vga=873**

Метки разделов

Если Вы периодически меняете (или планируете менять) расположение разделов на диске, или меняете местами сами устройства жестких дисков (вообще, любые действия, которые приводят к тому, что у одного и того же устройства может меняться имя в системе), тогда для Вас имеет смысл адресовать загрузочные устройства не по именам вида (hdX,Y) а по меткам. Для установки метки раздела формата ext2, ext3, ext4 используется команда:

e2label </dev/drive|partition> label

Задайте для устройства метку длиной не более 16 символов, и не содержащую пробелов, в противном случае GRUB не сможет корректно распознать подобную метку. Затем пропишите в menu.lst строку вида:

kernel /boot/vmlinuz-linux root=/dev/disk/by-label/Arch_Linux ro

Парольная защита

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

Сначала выберите пароль (постарайтесь его не забыть в дальнейшем), затем зашифруйте его:

# grub-md5-crypt
Password:
Retype password:
$1$ZOGor$GABXUQ/hnzns/d5JYqqjw

Затем добавьте строку с зашифрованным паролем в конфигурационный файл GRUB (строка с паролем должна находиться в начальной части файла, чтобы GRUB корректно её обработал):

# general configuration
timeout   5
default   0
color light-blue/black light-cyan/blue

password --md5 $1$ZOGor$GABXUQ/hnzns/d5JYqqjw

Затем, для каждой операционной системы, которую Вы желаете защитить, добавьте команду lock:

# (0) Arch Linux
title  Arch Linux
lock
root   (hd0,1)
kernel /boot/vmlinuz-linux root=/dev/disk/by-label/Arch_Linux ro
initrd /boot/initramfs-linux.img

Важно: Если в BIOS отсутствует возможность загрузки с других устройств (таких как CD-привод), и паролем защищены все операционные системы, то будет достаточно проблематично возобновить загрузку в случае, если Вы забыли свой пароль.

Перезагрузка в ОС по выбору

Если Вам часто приходится перегружаться в другую ОС (например, Windows), иногда бывает утомительным следить за процессом перезагрузки, чтобы не пропустить момент выбора нужной ОС, и случайно, не загрузиться опять в систему по умолчанию. Для решения данной проблемы существует возможность назначения временной «ОС по умолчанию».

Предположим у нас есть файл menu.lst с подобными настройками:

# general configuration:
timeout 10
default 0
color light-blue/black light-cyan/blue

# (0) Arch
title  Arch Linux
root (hd0,1)
kernel /boot/vmlinuz-linux root=/dev/disk/by-label/ARCH ro
initrd /boot/initramfs-linux.img

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

Текущей ОС по умолчанию является Arch (0). Измените значение default 0 на default saved — теперь при загрузке, номер ОС по умолчанию будет взят из файла default в папке GRUB. Запись в файл default выполняет команда savedefault, поэтому добавьте savedefault 0 в конец объявления параметров Windows. Таким образом, мы добьемся того, что когда загружается Windows — системой по умолчанию снова становится Arch (даже если до этого системой по умолчанию была Windows).

Теперь, всё, что нам нужно — это найти простой способ установки значения ОС по умолчанию. Такую возможность предоставляет команда grub-set-default. Например, чтобы из Arch перегрузиться сразу в Windows, наберите команду:

 sudo grub-set-default 1 && sudo shutdown -r now

Возможно Вы захотите разрешить пользователям выключение системы без необходимости ввода пароля root. Такую же процедуру необходимо выполнить и для команды grub-set-default.

Взаимодействие LILO и GRUB

Если в ваше системе установлен пакет LILO, удалите его.

При выполнении некоторых задач (например при компилировании ядра с командой make all) пакет LILO может значиться в зависимостях, и может быть автоматически установлен в систему, при этом загрузчик GRUB будет затерт.

Примечание: Команда pacman -R lilo удалит пакет из системы, но не удалит загрузчик LILO из MBR. Загрузчик LILO, находящийся в MBR может быть перезаписан только в процессе установки другого загрузчика (например, GRUB).

Загрузочная дискета GRUB

Для начала отформатируйте дискету:

 fdformat /dev/fd0
 mke2fs /dev/fd0

Затем подмонтируйте её:

 mount -t ext2 /dev/fd0 /mnt/fl

Установите GRUB на дискету:

 grub-install --root-directory=/mnt/fl '(fd0)'

Скопируйте Ваш menu.lst на дискету:

 cp /boot/grub/menu.lst /mnt/fl/boot/grub/menu.lst

И, в завершение, отмонтируйте дискету:

Теперь, в случае возникновения проблем с загрузкой, Вы можете загрузить Вашу систему используя загрузочную дискету GRUB.

Дополнительная информация: Super GRUB Disk

Решение проблем

GRUB Error 17

В случае неразберихи с таблицей разделов, всё что Вы можете наблюдать при попытке загрузки системы — это лаконичное сообщение «GRUB error 17». Существует несколько причин, которые могут привести к искажению таблицы разделов. Чаще всего подобные проблемы связаны с изменением порядка разделов, в результате работы пользователя с программой GParted. Например, Вы удалили раздел /dev/sda6, затем изменили размер раздела /dev/sda7, и, наконец, создали заново раздел, который, как ожидалось, снова должен стать /dev/sda6. Однако этот новый раздел получит, например, имя /dev/sda9.

Исправить таблицу разделов достаточно легко. Для этого загрузитесь с Live-CD, войдите в систему как root и запустите команду:

Затем войдите в режим e[x]tra/expert. Далее [f]ix the partition order, и сохраните таблицу [w]rite. Затем выйдите из программы fdisk. Проверить состояние таблицы разделов после исправления можно с помощью команды fdisk -l. Теперь осталось исправить параметры GRUB, см. предыдущую секцию Установка загрузчика.

Обычно, всё что Вам нужно — это указать корректное расположение директории /boot и перезаписать загрузчик, находящийся в MBR. Например:

grub> root (hd0,6)
grub> setup (hd0)
grub> quit

Более детальная информация о «GRUB Error 17» доступна по ссылке

Случайная установка GRUB в раздел Windows

Если Вы случайно установили GRUB на раздел с Windows, GRUB запишет определенные данные в загрузочный сектор раздела, затерев при этом ссылку на загрузчик Windows.

Для восстановления загрузочной записи Вам понадобится загрузочный диск с консолью восстановления (Windows Recovery Console) для вашей версии Windows. Поскольку многие поставщики не предоставляют загрузочные диски для восстановления (а создают скрытые разделы для восстановления системы), Microsoft предоставляет возможность скачать эти инструменты. Если Вы использете XP, перейдите по этой ссылке, чтобы получить возможность использовать дискету в качестве диска восстановления (Recovery CD). Загрузитесь с диска Recovery CD (или войдите в режим Recovery c установочного диска), и запустите команду fixboot, чтобы восстановить загрузочный сектор. После этого вам снова придется устанавливать GRUB, —только теперь установите его в MBR, а не в раздел с Windows—.

Более детальная информация: ссылка.

Редактирование параметров GRUB из меню загрузки

Выбрав один из пунктов в меню загрузки, Вы можете отредактировать его нажав клавишу e. Использйте автодополнение по клавише Tab, чтобы получить подсказку по доступным именам устройств/разделов, используте клавишу Esc для выхода. После того, как Вы отредактировали запись, можете попытаться загрузить её, нажав клавишу b. Внесенные Вами изменения не будут сохранены.

Ошибка device.map

Если во время устаноки, или во время загрузки появляются ошибки с упоминанием файла /boot/grub/device.map, необходимо выполнить команду:

# grub-install --recheck /dev/sda

для того, чтобы GRUB пересоздал таблицу устройств, даже если она уже существует. Это может потребоваться после изменения разделов, или добавления/удаления жесткик дисков.

Выбор ОС при перезагрузке KDE не работает

Если в окне перезагрузки KDE Вы открыли подменю со списком операционных систем, выбрали нужную ОС, перегрузили компьютер, и по прежнему загрузились в ОС по умолчанию, вместо выбранной, тогда проверьте наличие строки

В Вашем /boot/grub/menu.lst.

Внешние ресурсы

  • GNU GRUB

  • GRUB Grotto

  • Linux Kernel Documentation :: kernel-perameters.txt

  • List of kernel parameters with further explanation and grouped by similar options

  • Изучите также примеры конфигурации GRUB

У меня есть ноутбук HP Pavilion Touchsmart, который шел с Windows 8. Я обновил до 8,1, и теперь я хочу к двойной загрузке распределение Ubuntu с Windows 10. Когда двойная загрузка с Windows 8.1, Windows Boot Manager всегда брал приоритет, даже после установки GRUB. Что я должен сделать, чтобы заставить GRUB быть загрузчиком по умолчанию вместо Windows Boot Manager?

задан
21 February 2019 в 01:26

поделиться

6 ответов

Это самый длинный пост, который я когда-либо делал на сайте StackExchange, но этот процесс требует много объяснений и внимания к деталям. Это также несколько специфично для рассматриваемого оборудования, что требует дополнительных пояснений.

После большой головной боли, двух случайных переформатирований жесткого диска и большого разочарования из-за ошибочной реализации прошивки HP я наконец-то установил, что Xubuntu и Windows 10 прекрасно работают бок о бок. Я сделал это с Windows 10, но он также должен работать с Windows 8.1. Обе эти новые операционные системы используют новую (ишу) систему прошивки UEFI вместо традиционной системы BIOS, из-за которой, похоже, возникает больше всего путаницы с двойной загрузкой. Я прочитал множество вещей из множества мест с инструкциями по двойной загрузке с системой BIOS, в которых говорится о UEFI, как если бы это просто другой тип BIOS или дополнительный уровень между BIOS и ОС. UEFI и BIOS — это не одно и то же; UEFI — это не BIOS, а BIOS — это не UEFI. Они совсем другие. Есть некоторые вещи, которые необходимо сделать иначе при двойной загрузке с системой UEFI.

Во-первых, не используйте EasyBCD . Я видел много устаревших руководств по двойной загрузке, которые рекомендуют EasyBCD, но он разработан для работы с традиционной прошивкой BIOS, используемой в Windows 7 и Windows Vista, и не работает с более новой прошивкой UEFI. (Windows 8, 8.1 или 10). Если вы уже играли с EasyBCD, не волнуйтесь — худшее, что он, вероятно, сделал — это испортил ваши загрузочные записи EFI, записав что-то в MBR. Мы устраним это на шаге 4. Говоря о MBR, избегайте этого как чумы. Основная загрузочная запись — это то, что используется в традиционной прошивке BIOS в качестве списка загрузчиков, хранящихся в загрузочном разделе (или, если записана Windows, в том, какой раздел является первым) вашего жесткого диска. Он предназначен для перечисления операционных систем на жестком диске и указания прошивки, которая загружается первой. Это плохо работает с прошивкой HP UEFI. Похоже, что если будет выполнено какое-либо изменение MBR, прошивка HP UEFI запутается и вернется к диспетчеру загрузки Windows, который полностью обойдет GRUB.

Что вам понадобится:

  • Live USB или установочный компакт-диск с вашим предпочтительный дистрибутив Ubuntu.
  • Установочный носитель для вашей ОС Windows. Если вы обновляетесь с Windows 8.1, вы можете сделать это, не загружая полные 3+ ГБ .iso для Windows 10 — есть веб-установщик, который загружает его по мере установки, но для этого метода вам понадобится извлеченный .iso на компакт-диск или USB-накопитель. Также неплохо иметь его под рукой на будущее, так что вы можете создать его сейчас. Поскольку этот вопрос касается двойной загрузки с системой UEFI, вам потребуется 64-разрядная ОС.
    • Убедитесь, что у вас есть ключ продукта, иначе вы не сможете обновить / установить.
  • Необязательно, но настоятельно рекомендуется : диск, достаточно большой для резервного копирования текущих файлов Windows.
  • Достаточно места на жестком диске для обеих операционных систем, загрузочного раздела (всего 200 МБ) и раздел подкачки linux (обычно такого же размера, как ваша физическая оперативная память).

Шаг 1: Сделайте резервную копию

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

Windows 8.1 есть инструмент «создать диск восстановления», но я нашел его бесполезным и нефункциональным, когда дело дошло до восстановления резервной копии, которую я сделал с его помощью. Самый простой способ сохранить файлы, которые вы не хотите терять, — просто открыть проводник Windows и скопировать их на резервный диск. Это займет вечность, но оно того стоит.

Шаг 2: Отключите быстрый запуск и выключите компьютер

Для этого вам нужно войти в систему как администратор.

Очень важно отключить Быстрый запуск перед установкой GRUB, поскольку то, сможет ли установщик Ubuntu обнаружить присутствие Windows, зависит от того, как Windows представляет себя в загрузочном разделе. Если быстрый запуск правильно отключен, он должен быть обнаружен. Обнаружение будет рассмотрено на шаге 4.

Windows 8, 8.1 и 10 используют эту причудливую новую вещь, называемую Fast Startup, которая сообщает вашей прошивке о необходимости загрузить специальный загрузчик, который очень быстро восстанавливает систему до состояния до выключения. Довольно круто, да? Что ж, поскольку он изменяет параметр следующей загрузки системы EFI, эту функцию необходимо отключить во время установки GRUB. Это можно сделать, выполнив следующие действия:

  1. Откройте панель управления (Windows + X-> Панель управления с рабочего стола в Windows 8 +) (очевидно, Microsoft ненавидит опытных пользователей, поэтому выполните поиск в меню «Пуск» для «Панель управления» теперь является самым быстрым способом открыть ее)
  2. Перейдите к параметрам питания
  3. Нажмите «Выбрать, что делает кнопка питания»
  4. Нажмите «Изменить настройки, которые в настоящее время недоступны»
  5. Убедитесь, что поле с надписью «Включить быстрый запуск (рекомендуется)» внизу не отмечено .

Более подробные инструкции можно найти здесь . Вы можете повторно включить быстрый запуск после установки GRUB, и, похоже, это не вызовет никаких проблем с загрузкой Ubuntu / GRUB. Просто убедитесь, что он отключен во время установки.

После отключения быстрого запуска выключите компьютер. Поскольку быстрый запуск отключен, Windows полностью выключится и не изменит параметр следующей загрузки в диспетчере EFI встроенного ПО. (Термины непрофессионала: Windows не скажет вашей системе HP загрузить файл быстрого запуска при следующем включении, поэтому она будет использовать список диспетчера загрузки EFI, как и должно. GRUB разместится первым в этом списке.)

Шаг 3: Настройте разделы с помощью gparted

Перед установкой Ubuntu вы захотите использовать свой live CD / USB, чтобы создать для него отдельный раздел. Таким образом, он * не перезапишет Windows.

* Убедитесь, что у вас есть резервная копия. Никаких гарантий — это зависит от того, что Windows решила сделать с вашим загрузочным разделом, а также может зависеть от того, какую версию / дистрибутив Ubuntu вы используете — я не использовал их все.

Чтобы создать разделы, вы необходимо загрузиться с вашего live CD / USB и открыть gparted. Существует множество руководств по использованию gparted, и в этом довольно легко разобраться, поэтому я оставлю детали на ваше усмотрение и в Интернете.

  • Вам понадобится 4 раздела:

    1. Загрузочный раздел. Если у вас уже установлена ​​Windows, вам не нужно ничего делать — это уже должен быть один из первых разделов на вашем диске. Иногда Windows также создает еще один небольшой раздел в начале диска под названием Recovery . Просто оставьте это в покое.

      • Если вы выполняете новую установку и хотите начать все с нуля ( это уничтожит все ваши данные ), продолжайте и удалите все разделы на вашем диске, а затем сделайте этот раздел. Это должен быть первый раздел ; его формат должен быть FAT32 ; и он должен иметь размер не менее 200 МБ . Если у gparted есть возможность пометить его, просто назовите его boot . Если нет опции ярлыка, не беспокойтесь об этом. Однако вы должны установить флаги «boot» и «esp» на этом разделе; без них установщик Ubuntu просто проигнорирует его и будет использовать устаревший режим установки, а Windows (10) вообще откажется от установки с ошибкой «не удалось создать новый раздел или найти существующий». Или нет. Похоже, это зависит от того, как Windows чувствует себя в тот день …
    2. Раздел Windows. Опять же, если у вас уже установлена ​​Windows, этот раздел, очевидно, должен быть здесь после разделов загрузки и восстановления. Это то место, где вы хотите, но вам нужно изменить его размер, чтобы освободить место для вашего раздела Ubuntu и раздела подкачки linux. Для этого используйте параметр gparted resize / move. Ubuntu требуется не менее 5 ГБ, а раздел подкачки linux должен быть не менее половины размера вашей физической ОЗУ, поэтому измените размер раздела Windows, чтобы освободить для этого достаточно места. gparted предупредит вас о потенциальной потере данных — сжатие вашего раздела не должно уничтожить или повредить какие-либо данные, если вы не сжимаете его до используемого пространства.

      • Если обе операционные системы устанавливаются с нуля ( опять же, это уничтожит все ваши данные ), Microsoft говорит , что вам понадобится не менее 20 ГБ для 64-разрядной ОС,поэтому этот раздел должен иметь размер не менее 20 ГБ . Однако вы, вероятно, захотите большего: я просто использовал половину пространства после загрузочного раздела для Windows, а половину — для Ubuntu и linux-swap. Если вы собираетесь с нуля, этот раздел необходимо отформатировать как FAT32 . Когда вы устанавливаете Windows, он отформатирует его в NTFS. Не делайте этого с gparted; Реализация NTFS в Windows отличается от реализации gparted, и Windows может не распознать раздел. В установщике Windows 10 у вас должна быть возможность выбрать раздел для размещения Windows 10. Если он отформатирован как FAT32, Windows сможет его увидеть и установить там. Если вы можете пометить этот раздел, назовите его Windows . Это упростит вам установку Windows. Говоря об установщике Windows — пока не начинайте. Если вы выполняете новую установку Ubuntu и Windows одновременно, вместо обновления с 8 или 8.1 до 10, намного проще сначала установить Ubuntu .
    3. Раздел Linux. Как и раздел Windows, он может различаться по размеру, но веб-сайт Ubuntu рекомендует не менее 5 ГБ . Опять же, вы, вероятно, захотите гораздо большего. Если вы выполняете обновление вместо новой установки обеих операционных систем, вы сможете создать этот раздел в новом «нераспределенном» пространстве, показанном в gparted. Сделайте его сколь угодно большим, но не забудьте оставить место для раздела подкачки linux , если вы планируете его использовать. Он должен быть отформатирован как ext4. ext2 или ext3 тоже должны работать, если вы по какой-то причине предпочитаете их.
      • При установке с нуля создайте раздел Ubuntu, как описано выше. Убедитесь, что он отформатирован как ext4, ext3 или ext2 . Это позволит Ubuntu использовать его, но не позволит установщику Windows 10 его распознать, что должно привести к тому, что он по умолчанию будет использовать раздел FAT32, который вы создали на шаге 3, который он может читать.
    4. Необязательно, но рекомендуется: a раздел подкачки linux . По крайней мере, половина размера вашей физической RAM — хорошее начало, но я рекомендую прочитать подробности . У меня 8 ГБ ОЗУ и жесткий диск 1 ТБ, поэтому я просто сделал этот раздел того же размера, что и моя физическая оперативная память.

Шаг 4. Сначала установите Ubuntu

Выполняете ли вы обновление до Windows 10 с в существующей ОС Windows или при установке как Windows 10, так и дистрибутива Ubuntu на новый жесткий диск или жесткий диск с новым разделом, намного проще сначала установить Ubuntu. Ubuntu использует GRUB 2 в качестве загрузчика, который работает так же, как и загрузчик EFI. Windows 10 использует диспетчер загрузки Windows, который делает что-то … ну, как это делает Windows … Если вы сначала установите Windows, вы, вероятно, не сможете загрузиться в Ubuntu, не удерживая специальную клавишу во время процесса загрузки. чтобы остановить загрузку диспетчера загрузки Windows, поскольку диспетчер загрузки Windows не учитывает GRUB, когда он добавляется в список загрузчиков. Поэтому вместо этого сначала установите Ubuntu и GRUB, а затем добавьте запись в GRUB для диспетчера загрузки Windows.

Шаг 4.1: Удаление старых записей EFI (необязательно)

Будьте осторожны здесь. Удаление не того может вызвать огромные проблемы.

Перед установкой Ubuntu мы хотим убедиться, что призраки прошлых установок ОС не вернутся, чтобы преследовать нас в будущем. В системе UEFI операционные системы используют файлы EFI (расширяемый интерфейс прошивки), чтобы сообщить прошивке: «Эй, я существую. Здесь вы можете найти меня». Когда устанавливается новая ОС, она добавляет запись в список диспетчера загрузки EFI, который дает ей уникальный номер записи и сообщает диспетчеру загрузки EFI, где находятся файлы EFI (Windows регистрирует несколько разных файлов EFI — один для обычной загрузки, один для загрузки при восстановлении, один для быстрого запуска — возможно, больше в зависимости от вашей прошивки и версии вашей ОС). EFI Boot Manager также отслеживает порядок загрузки: список номеров записей, указывающих, что загружается первым. Если вы использовали EasyBCD; bcdedit; Инструменты восстановления загрузки Windows; восстановление загрузки в ОС Linux; или даже если вы обновили Windows или переустановили ее, есть большая вероятность, что в вашем списке записей EFI теперь есть дубликаты. По крайней мере, так было с моим. Наличие здесь дубликатов может затруднить процесс загрузки, поскольку прошивка просматривает устаревшие или неправильные записи в файлах, пока не найдет работающий загрузчик. Это также может вызвать цикл загрузки, когда загрузчик A указывает прошивку на загрузчик B, который указывает его обратно на A, а затем все начинает занимать очень, очень много времени …

В любом случае, чтобы просмотреть ваш EFI список записей и посмотрите, что нужно очистить, используйте пакет efibootmgr с вашим live CD / USB. Вам нужно будет установить его с помощью sudo apt-get install efibootmgr в терминале, а затем запустить с помощью sudo efibootmgr . По умолчанию,вы получите список записей, который выглядит примерно так:

Picture of EFI Boot Manager entry list from the output of efibootmgr

Когда я впервые использовал этот инструмент после того, как возился с EasyBCD и bcdedit, пытаясь заставить вещи загружаться в правильном порядке, у меня здесь было более сотни записей, большинство из они дублируются.

Если ваш список диспетчера загрузки не слишком загроможден или вам не удобно решать, что можно удалить, а что не следует удалять, просто перейдите к шагу 4.2.

Чтобы очистить все записи, которые вам не нужны, используйте efibootmgr -b -B , где hex_number заменяется номером, указанным в загрузочной записи. Итак, чтобы удалить запись USB-накопитель (UEFI) (пронумерованная Boot 2001 ) на рисунке выше, я бы использовал sudo efibootmgr -b 2001 -B . Вы заметите, что я оставил несколько дубликатов (все более 3000 пронумерованных записей). Вы можете использовать efibootmgr с различными параметрами для просмотра некоторых других атрибутов записей, таких как пути к файлам, на которые они указывают. Эти записи выглядят как дубликаты, но все они указывают на разные файлы, которые мой ноутбук HP использует для обновления BIOS. Будьте осторожны при удалении. Здесь может быть очень сложно или невозможно что-то заменить. Вы также можете использовать efibootmgr, чтобы изменить BootOrder, который он отображает. См. страницу руководства для получения дополнительной информации об этом полезном инструменте.

Шаг 4.2: Установка Ubuntu

После того, как вы очистили записи диспетчера загрузки EFI, если вы решили это сделать, он наконец пора установить Ubuntu. Загрузив live CD / USB, выберите параметр установки в меню загрузчика или запустите его с рабочего стола после входа в систему. Выберите параметры на первой странице установщика. Вторая часть будет выглядеть примерно так: (Я использую Xubuntu 14.04, поэтому ваш установщик может отличаться, но параметры должны быть очень похожими.)

Screenshot of Xubuntu 14.04 install options

Если ваш установщик не обнаруживает вашу установку Windows (как моя), вам нужно будет выбрать вариант «Что-то еще». Оттуда вы получите экран, похожий на меню gparted, которое вы использовали для настройки разделов. Просто выберите созданные вами разделы и назначьте им правильную точку монтирования, выбрав раздел и нажав «Изменить».

  • Если вы устанавливаете обе ОС с нуля, сделайте то же самое. Не используйте вариант автоматической установки. Вам необходимо убедиться, что Ubuntu установлен в разделе ext2 / ext3 / ext4, не в разделе Windows FAT32.

Шаг 5: Обновите или установите второй Windows

У вас должен быть установочный диск для Windows 10. Перед тем, как начать установку, убедитесь, что у вас есть ключ продукта, иначе вы не сможете установить / обновить. Когда вы загружаетесь с установочного CD / USB, программа установки довольно проста. Для меня это слишком просто — единственная кнопка была «Установить Windows 10» или что-то в этом роде, а Windows 8, 8.1 и 10 печально известны своими установками за кулисами, где просто говорится: «Мы подготовка »и не содержит подробностей о том, что на самом деле делает с вашей системой. Если вы до сих пор следовали этим инструкциям, можно нормально начать установку.

  • Если вы выполняете обновление с Windows 8 или Windows 8.1, вам не нужно делать ничего особенного в процессе установки. Пройдите (очень долгую) установку и перейдите к шагу 6. ​​

  • Если вы выполняете новую установку, программа установки спросит вас, куда вы хотите установить Windows 10. Убедитесь, что вы выбрали раздел FAT32, который вы создали в шаг 2, а не другой раздел, или этот раздел будет очищен и отформатирован. Поскольку Ubuntu уже установлен, Windows 10 должна с уважением относиться к загрузочному разделу и не переформатировать его. Удаление ненужных записей из списка EFI Boot Manager также освободит место в крошечном загрузочном разделе размером 200 МБ, уменьшая вероятность того, что Windows запутается, рассердится и очистит все для себя.

Шаг 6: Обновление и (необязательно) настроить GRUB

. После установки или обновления до Windows 10 вам необходимо перезагрузиться в Ubuntu, чтобы обновить GRUB, чтобы он включил диспетчер загрузки Windows в свой список. Перед тем как сделать это, снова отключите быстрый запуск. Это делается очень аналогично тому, как вы это делали на шаге 2. Панель управления и пользовательский интерфейс настроек немного отличаются, но большинство параметров все еще там.

После того, как вы снова отключили быстрый запуск, перезагрузите компьютер.

Если Windows загружается по умолчанию, вам нужно будет удерживать специальную клавишу вашего портативного компьютера, чтобы попасть в меню прошивки системы. На моем HP Touchsmart эта клавиша — Esc. Другие общие клавиши — F12, Delete, F10 … Руководство вашего компьютера должно помочь вам в этом. Из меню прошивки загрузитесь в GRUB. Должна быть опция «выбрать загрузочное устройство» или что-то подобное, и там должны быть указаны Ubuntu или GRUB. Если его нет в списке, найдите вариант загрузки из файла EFI и перейдите к /EFI/ubuntu/grubx64.efi или (если у вас включена безопасная загрузка), используйте EFI / ubuntu / shimx64.efi. Фактические пути к этим файлам могут различаться в зависимости от ваших параметров и настройки загрузочного раздела, но имена файлов должны быть одинаковыми. Выбрав один из этих файлов .efi, вы должны загрузиться в GRUB, откуда вы сможете загрузить свой дистрибутив Ubuntu. После входа в систему откройте терминал и введите sudo update-grub . Это запустит сценарий os-prober, который GRUB использует для компиляции grub.cfg, который сообщает файлу EFI grub, какие записи включать, какие цвета использовать и т. Д. Сценарий os-prober должен идентифицировать диспетчер загрузки Windows и автоматически добавлять его в список.

При желании вы можете установить Grub Customizer, чтобы изменить порядок пунктов меню и изменить поведение, цвет и фон меню GRUB. Вы можете установить это с терминала, используя sudo apt-get install grub-customizer , а затем запустить sudo grub-customizer .

При использовании GRUB в системе UEFI, совместно используемой с ОС Windows, НЕ устанавливайте в MBR. В некоторых руководствах использование опции Grub Customizer «Установить в MBR» в меню «Файл» является важным шагом. Вы не должны не делать это в большинстве систем UEFI. MBR (основная загрузочная запись) предназначена для микропрограмм BIOS и до некоторой степени все еще используется загрузчиком Windows. Добавление GRUB в MBR, когда он уже находится в списке записей EFI, может вызвать множество проблем.
Если вам нужно убедиться, что GRUB является первой записью в списке порядка загрузки (т.е. если Windows всегда загружается, даже если вы все сделали правильно), используйте efibootmgr (см. Шаг 4.1) для просмотра / отредактируйте порядок загрузки EFI Manager.

Примечания

Я вообще не упомянул Secure Boot , потому что обычно он не должен влиять на установку Ubuntu. Во многих руководствах по двойной загрузке говорится об ее отключении, но обычно в этом нет необходимости с текущим 64-разрядным установщиком. Однако все компьютеры разные, а функция безопасной загрузки является довольно новой (2012 г.), поэтому разные прошивки могут реализовывать вещи по-разному. Например, версия моего микропрограммного обеспечения HP включает параметр «устаревшей загрузки», который отключает безопасную загрузку и рассматривает установленные ОС как микропрограммы BIOS: некоторые люди рекомендуют включить эту функцию для установки для двойной загрузки. Установка Ubuntu в устаревшем режиме загрузки в моей системе не позволила GRUB добавить себя в список записей EFI, поэтому все, что он мог сделать, это добавить себя в MBR, над которым диспетчер загрузки Windows полностью контролировал. В диспетчере загрузки Windows потребовалось немало настроек, чтобы даже отобразить список записей, и после всего этого он загружал только записи Windows, что делало GRUB непригодным для использования без ручного выбора его файла EFI при каждом включении.

См. ] здесь для получения дополнительной информации об Ubuntu, безопасной загрузке и устаревшей загрузке, а также информации о различиях между установками UEFI и BIOS в целом.

ответ дан Michael Hoffmann
22 November 2019 в 22:59

поделиться

Я не хочу дублировать сообщение о потенциальном нарушении политики, поэтому я предоставлю ссылку на свой ответ по этой проблеме. Короче говоря, у меня есть ноутбук Samsung с уже установленной Windows 10 , и я пытался установить Linux с несколькими экземплярами; Ubuntu 12.04, 14.04 и 16.04. Я использовал Восстановление загрузки и изменил Приоритет загрузки в моем Setup BIOS , что привело к первой загрузке функционального, но беспорядочного GRUB . Ответ пользователя Michael Hoffmann дает хорошее объяснение для установки на пустой диск и того, как очистить GRUB , но я не хотел удалять свою установку Windows 10.

Подробное объяснение можно найти в моем сообщении ЗДЕСЬ .

ответ дан Community
22 November 2019 в 22:59

поделиться

Немного более простое решение указанной выше проблемы.

  1. Нажмите F10 во время загрузки, чтобы перейти к расширенным настройкам BIOS
  2. в порядке загрузки BIOS настройки включают устаревший порядок загрузки, который будет включать как UEFI, так и устаревший порядок загрузки.
  3. Увеличение задержки загрузки до 5 секунд даст некоторое время при выборе ОС во время загрузки.
  4. Сохраните настройки BIOS и выйдите.
  5. При следующей загрузке вам будет предложено выбрать вариант загрузки. Нажмите F9 , чтобы войти и выбрать соответствующий вариант загрузки (Windows OS Boot Manager или Ubuntu)

ответ дан muru
22 November 2019 в 22:59

поделиться

Я нашел намного более простое решение, которое работало на ноутбуке HP (355 G2) с установленной Windows 10

  1. Нажмите escape во время загрузки
  2. Нажмите F9 для выбора параметров загрузки.
  3. Выберите параметр USB, который является , а не UEFI (у меня он был внизу в списке), и нажмите Enter
  4. . Затем вы получите экран с сообщением об ошибке. Однако вам просто нужно ввести «live», чтобы опробовать ОС, или «live-install» и нажать Enter, чтобы установить ее, и все должно пройти гладко ….

ответ дан Amphibio
22 November 2019 в 22:59

поделиться

Взятие вдохновения (честно, больше как срывание из ответа и затем оптимизация его, потому что это слишком сложно) из определенного ответа здесь (а именно, Ваш суперподробный ответ здесь), вот было бы способом достигнуть этого, также одолжив у моего недавнего Q& сообщение ( я могу установить Windows после установки Ubuntu на UEFI? ).

первый, и самый легкий путь, поскольку кажется, что UEFI располагает по приоритетам первую установленную систему (по крайней мере, в этих системах HP, у меня есть HP OMEN, где я достиг этого), а не традиция приоритизации новейшей установки. Возможно, что это могло даже произойти, так как UEFI поддерживает несколько загрузчиков исходно.

, Который означает, что, чтобы иметь Личинку Ubuntu быть расположенными по приоритетам, необходимо установить Ubuntu сначала. Теперь не волнуйтесь об этом, поскольку Windows 10 приятно установит вместе с Ubuntu впоследствии, просто создаст разделы Windows в установщике Windows, затем установит.

Затем после того, как вещи являются установкой, затем пытаются перезагрузить из Windows, или, конечно, необходимо сделать это прежде, чем загрузить в Ubuntu, выключить быструю опцию запуска путем движения в электропитание, затем попытки «выбирать то, что кнопка питания делает» и сняла флажок, «включают быстрый запуск» флажок.

Теперь другой путь через efibootmgr. У меня нет большого опыта с этим, таким образом, я решил одолжить от замечательного парня, который знает входы и выходы UEFI, старого доброго Rod Smith. Он сделал ответ на вопрос здесь: порядок загрузки Изменения с помощью efibootmgr. Вот то, что он сказал дословно:

Первый, жалоба, что загрузочные файлы далеки от запуска диска, не важна на загружающем EFI компьютере. Существуют пределы под BIOS (которые варьируются в зависимости от того, какого возраста BIOS), но даже под (современным) BIOS, Ваш диск на 750 ГБ не должен создавать проблемы.

1119-секундный, можно измениться BootOrder переменная с efibootmgr -o опция, как в:

sudo efibootmgr-o 0,1,2

Эта команда установит два ubuntu экземпляры сначала, сопровождаемый Windows Boot Manager запись. То, что должен добиваться цели. К сожалению, некоторые EFIs являются багги, и «забывают» BootOrder запись или иначе неправильно себя ведут. Если у Вас есть проблемы, я рекомендую пробовать следующую команду в окне Windows Administrator Command Prompt:

bcdedit / устанавливают {bootmgr} EFIubuntushimx64.efi

пути (При отключении Защищенной загрузки можно заменить shimx64.efi grubx64.efi, хотя любой должен работать с отключенной Защищенной загрузкой.)

, Если это перестало работать, то Ваше встроенное микропрограммное обеспечение является, вероятно, дефектным. Может быть обновление, доступное от HP. В противном случае или если не помогает, и если Вы в период повторяемости для Вашего компьютера, возвратите его для возмещения и получите что-то, что это не повреждается. Если Вы не можете сделать этого, то Вы в территорию действительно ужасных обходных решений, как переименование GRUB так, чтобы это симулировало быть загрузчиком Windows. См. здесь для некоторой информации о той теме, хотя записано специально для перенаходки. Основные принципы относятся к чему-либо, все же.

Так в основном, используйте efibootmgr для изменения порядка загрузки. После того, как Вы сделаете это правильно, у Вас должна быть Ubuntu вместо Windows, загружающегося сначала. :)

я надеюсь все, что помогает!

ответ дан RoundDuckMan
22 November 2019 в 22:59

поделиться

Я могу представить вам простой способ решения этой проблемы, используйте его, если ни одно из законных решений не решило вашу проблему.

Поскольку Windows постоянно меняет порядок загрузки, эта хитрость призвана обмануть Windows распознает Ubuntu grub как загрузочный файл Windows, т.е. bootmgfw.efi

Часть 1: Доступ к папке EFI в Windows

Откройте cmd от имени администратора и смонтируйте папку EFI для доступа к ней. Выполните следующие команды одну за другой. Ниже я назначил монтировке букву g , убедитесь, что вы назначили неназначенную букву на своем ПК.

mountvol g: /s
g:
cd EFI

Вы должны увидеть папку Microsoft и папку Ubuntu в EFI.

Часть 2: Скопируйте grubx64.efi из Ubuntu в Microsoft Boot as bootmgfw.efi

Сначала создайте резервная копия bootmgfw.efi

cd MicrosoftBoot
rename bootmgfw.efi bootmgfw_.efi

Теперь сделайте копию и переименуйте.

copy g:EFIubuntugrubx64.efi g:EFIMicrosoftBoot
rename grubx64.efi bootmgfw.efi

Часть 3: Отключите папку EFI

Выполните следующие команды одну за другой.

c:
mountvol g: /d

Теперь перезагрузите компьютер, и вы должны см. загрузку Ubuntu GRUB, в которой также должна быть опция загрузчик Windows UEFI для загрузки Windows.

ответ дан Envy
22 November 2019 в 22:59

поделиться

Другие вопросы по тегам:

Похожие вопросы:

В этой статье я отвечу на вопросы по загрузчику для linux os — Grub. Вы узнаете, как установить загрузчик по умолчанию, чем редактировать Груб, как вернуть загрузочный раздел, исправить загрузочную запись и мн. др.

Вот полный перечень вопросов, которые я попытаюсь раскрыть в данном материале:

  1. как настроить очередность загрузки в grub
  2. как перезаписать загрузчик на windows
  3. как восстановить загрузочное меню
  4. где скачать и как установить мультизагрузчик операционных систем grub?
  5. добавление пункта загрузки Груб в windows
  6. ubuntu windows очередность загрузки — как в grub сделать windows по умолчанию
  7. как сделать резервную копию (backup) для grub list
  8. в каком разделе диска лежит загрузчик Linux и Windows
  9. как вернуть загрузочный экран убунту
  10. как установить загрузчик windows вместо grub
  11. замена сектора загрузки grub
  12. редактировать grub через терминал в ubuntu
  13. программы для редактирования загрузчиков

Обычно при загрузке компьютера загружается только одна операционная система. Пока она одна, проблем нет. Если же систем несколько, при загрузке выводится загрузочное меню, не всегда оптимально удобное для загрузки. Мелочь, правда? Но на деле все не так, когда перезагрузка компьютера осуществляется по доброму десятку раз на день.

Загрузчик — это программное обеспечение, которое устанавливается на первый сектор загрузочного диска (MBR — master boot record). Для каждой операционной системы он свой, и не иначе. И у каждого из них имеются свои особенности и «отношение» к другим загрузчикам и операционным системам. Например, при установке Windows XP (или Windows Vista) поверх Ubuntu загрузчик последней ОС безо всякого предупреждения затирается, и загрузка Ubuntu становится невозможной. Проблема? Проблема. Ведь, по сути, операционная система продолжает существовать, а загрузить ее — невозможно.

Никто не собирается вас пугать. Мы поставили несколько проблем и попробуем найти возможные пути их решения. Два варианта: бесплатный и платный. В первом случае всю настройку мы будем производить вручную, во втором — установим загрузочную программу Acronis OS Selector или бесплатные редакторы загрузчика.

Одна, две, три… Сколько?

Функциональности одной операционной системы вполне хватает для решения несложных повседневных задач. Нужно больше возможностей — устанавливаем дополнительное программное обеспечение.

При установке двух ОС достигается определенный компромисс между платным и бесплатным программным обеспечением. То, что для платформы Windows предлагается за деньги, Linux отдает в ваше распоряжение, как правило, бесплатно (open source ПО). Правда, многие профессиональные пакеты разработаны только для одной среды, преимущественно для Windows. Примеры с Adobe, Nero Express, OpenOffice, к сожалению, пока единичны, чтобы говорить об обратном. Есть программное обеспечение, аналогов которого нет и пока еще не может быть в той или иной ОС.

У каждой системы есть как свои замечательные достоинства, так и недостатки. Например, по нашему мнению, Windows — более «развлекательная» среда, Linux — рабочая система, задуманная для решения ресурсоемких задач, работы с данными и т. д. Оптимизировать Windows для работы так, как Linux, невозможно. Впрочем, судя по дистрибутивам Ubuntu, Fedora и другим «дружелюбным» ОС семейства, с большей «мультимедийностью» Windows можно согласиться только отчасти.

Три операционных системы — это, в большинстве случаев, излишество. Правда, и тут есть свои нюансы. Иногда возникают сложные ситуации, когда без наличия трех ОС на одном компьютере никак нельзя обойтись. Для этого не обязательно обладать прозвищем «компьютерный гений». И вряд ли это то, чем можно кого-либо удивить… Например, что делать, если по роду службы вы постоянно меняете среду (Ubuntu/Vista/XP) для проведения каких-либо обзоров или тестов? Каждый раз «сносить» одну и на ее место устанавливать другую ОС? Да, есть и такой «проходной» вариант. Для этого нужно на один диск (к примеру — C: ) поставить Windows XP, а на другой (D:) — Vista или Ubuntu. Каждый раз, когда необходимо сменить ОС, вы ставите на D: нужную ОС. Вопрос только во времени.

Проще всего остановиться на двух, а, еще лучше, на одной операционной системе. Но мы пойдем другим путем.

Примечание. Существуют портированные версии операционной системы Mac OS X, которые достаточно успешно устанавливаются на PC платформу. В этом материале мы не рассматриваем OS X по следующим причинам:

  1. это не оригинальная, а незаконно модифицированная версия ОС
  2. аудитория читателей, использующих эти дистрибутивы, крайне мала. Достаточно представить себе количество пользователей продукции Apple.

Очередность действий

Если нужен суперфункциональный компьютер с работоспособным загрузчиком, вам заранее нужно побеспокоиться о правильной последовательности установки каждой из ОС. Ведь если поставить ту же Vist’у последней, то загрузчик Ubuntu, GRUB, будет стерт с MBR. XP просто не устанавливается поверх Vista, посему она не может быть оставлена напоследок. Исходя из сказанного, все действия производятся на компьютере в следующем порядке:

1) Windows XP. Устанавливается на диск с загрузочным сектором. Все загрузчики в последующем будут автоматически устанавливаться на раздел с этой меткой. Как узнать, на каком диске она находится? В этом помогут специализированные программы для работы с дисковой подсистемой — Norton Partition Manager, Acronis Disc Director, Acronis Partition Expert и многие другие.

Диск, отмеченный как «Active», обязательно имеет загрузочный сектор.

2) Windows Vista. Устанавливаем ее на диск, отличный от того, где расположена XP. После инсталляции Vista в загрузочном меню должны присутствовать два пункта: собственно, Vista и «Earlier operating systems» («Предыдущая операционная система»), под которой подразумевается XP. То есть, если XP была установлена до Vista, она успешно будет определена и добавлена в список.

3) Ubuntu (это правило применимо к любой ОС семейства Linux). Поскольку данная операционная система ставится последней, то загрузчик, устанавливаемый ею, станет основным. На последнем этапе установки Ubuntu не меняйте настройки (кнопка «Advanced»), чтобы GRUB, как и положено, установился на диск с загрузочной меткой.

Нужно сказать, GRUB весьма «толерантен» по отношению к своим «конкурентам»: он корректно определяет имеющиеся на компьютере системы и вносит их в собственный список. При наличии XP и Vista GRUB не удаляет загрузчик Windows. И при выборе пункта меню, который идет после надписи «Other operating systems» («Windows Vista/Longhorn loader»), появится второй экран, где можно выбрать одну из ОС Windows.

Впоследствии созданный GRUB’ом список можно подкорректировать, поменяв названия, удалив лишние пункты загрузки или сменив их очередность. Благо, документация к GRUB присутствует в достаточном объеме. Общими словами, это отлично конфигурируемый, документированный, user-friendly (дружелюбный по отношению к пользователю) загрузчик.

Где скачать и как установить Груб

Исходники GRUB можно скачать с сервера ftp://alpha.gnu.org/pub/gnu/grub. 
Далее распакуйте скачанный дистрибутив, используя команду “tar -xvzf filename.tar.gz”. Если взять в расчет название файла grub-
0.5.96.1.tar.gz, перечень операций будет выглядеть следующим образом: 

# tar -xvzf grub-0.5.96.1.tar.gz 

Итак, мы распаковали содержимое в директорию под названием “grub-0.5.96.1”. Выполняем следующие шаги:

[[email protected] ~/grub-0.5.96.1 ]# ./configure 

Можно изменить определенные опции в процессе компиляции: 

[[email protected] ~/grub-0.5.96.1 ]# ./configure --help 

При этом отобразятся все доступные опции. Можно использовать префикс –enable или -
disable
, что обеспечивает поддержку определенных устройств загрузчиком.  

Чтобы начать компилирование, введите

[[email protected] ~/grub-0.5.96.1 ]# make 

Установка происходит после ввода следующей команды: 

[[email protected] ~/grub-0.5.96.1 ]# make install 

Немного о редактировании GRUB’а

В Linux традиционно используется загрузчик LILO (LInux Loader) или GRUB. Если несколько лет назад о LILO еще что-то говорили (и присутствовал он в немалом количестве), то теперь лидерство принадлежит GRUB.

Статья о том, как редактировать Grub

На самом деле, эта «монополия» идет только в плюс, потому что изначально GRUB более функционален. Все его возможности доступны из командной строки или посредством редактирования конфигурационного файла. Кроме того, очень важно, что данный загрузчик можно напрямую редактировать прямо в командном режиме. Чем же это хорошо? Скажем, произошла плачевная ситуация, когда из-за ваших действий загрузчик сломался. Предварительно прочитав соответствующую документацию, вы вручную можете отладить GRUB прямо из меню. Метод «научного тыка» здесь, увы, не пройдет, как и во всем Linux’е.

Сразу же после установки GRUB прописывает в меню несколько дополнительных пунктов, как то: резервная загрузка, тест памяти. Всего около трех- четырех пунктов малой степени важности. Если по умолчанию загружается именно та ОС, которая нужна, и вас не смущает разнообразие в меню, можно все оставить «как есть». По умолчанию первой в загрузке выставлена Ubuntu.

В Mandriva или OpenSUSE данное меню можно отредактировать еще при установке. В нашем случае придется пойти более «хитрым» путем — изменить несколько строк в конфигурационном файле menu.list. Расположен он по адресу /boot/grub.

Открываем терминал (Программы -> Служебные -> Терминал и вводим команду ($ — обозначение начала команды, которое в терминал не вводится):

$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.old

Этим самым мы сохраним резервную копию файла. В Ubuntu это делать просто необходимо, дабы в случае серьезной ошибки была возможность возвратиться к предыдущим настройкам. Здесь, однако, вам следует взять на заметку следующее: восстановить загрузчик без доступа в сеанс ОС — задача непростая. Во избежание подобных ситуаций, с конфигурационным файлом загрузчика обращайтесь особенно внимательно. Если вы не уверены в своих способностях, рисковать не стоит. Пусть Ubuntu поработает как можно дольше…

$ sudo gedit /boot/grub/menu.lst

Когда вы введете данную команду, в текстовом редакторе Gedit отобразится содержание menu.lst. Мы рассмотрим несколько важнейших настроек этого конфигурационного файла. Он подробно откомментирован, поэтому в том, о чем не будет сказано, вы разберетесь самостоятельно. Все комментарии следуют за решеткой #, они никак не влияют на ход загрузки и их можно удалить.

Параметры:

  • timeout 10 — время отображения меню. По истечению 10 секунд загружается операционная система по умолчанию. Вместо «10» назначьте любую цифру
  • hiddenmenu — если раскомментировать эту строку, меню GRUB отображаться не будет, загрузится ОС по умолчанию

А вот далее идут настройки, непосредственно связанные с выводом строк меню в GRUB. Их можно свободно редактировать, удалять. Разумеется, зная предназначение того или иного пункта. Изменять что-либо, кроме первой строки, противопоказано! Это же относится и к Windows. Блок, начинающийся с «title Windows XP», должен остаться в целости и сохранности.

Как поменять очередность загрузки Windows и Linux

Если нужно поменять очередность загрузки с Ubuntu на Windows, просто поменяйте блоки, начинающиеся с «title», местами. После редактирования menu.lst сохраните документ (напоминаем, сделать это можно только в режиме администратора) и перезагрузите систему.

О настройке загрузчиков XP и Vista

Самый «слабый» загрузчик, который может только затереть имеющийся загрузчик Ubuntu. Поскольку установить XP поверх Vista официально мы не можем, то, фактически, не можем поменять загрузчик Vista на XP. Минус этих двух bootloader’ов — отсутствие всякой документации, плюс же — легкий доступ к настройкам.

Если до Ubuntu вы установили Windows Vista, то при выборе в GRUB пункта «Windows…» появляется второе меню. Вы можете временно или на постоянной основе отключить один из пунктов подменю — тогда оно исчезнет. Для этого нужно зайти в свойства «Моего компьютера», открыть вкладку «Дополнительно», раздел «Загрузка и восстановление» кнопка «Параметры» и изменить меню. Здесь удалите ту (и только ту!) строку, в которой расположен лишний пункт меню.

Описанный порядок настройки относится к Windows XP, но для Vista он практически одинаков.

Программы для работы с загрузчиками

К счастью, ко всем рутинным методам, описанным нами сегодня, можно не прибегать. Имеется несколько программ, которые заметно упрощают обращение с загрузчиком, делая его интуитивно понятным. В случае с Acronis OS Selector разработчику программы придется заплатить, поскольку демонстрационная версия не позволяет воспользоваться возможностями полной. EasyBCD и VistaBootPRO — бесплатные программы.

Программа: Acronis OS Selector
Условия распространения: shareware

Программа для низкоуровневого управления загрузкой. Приводим выдержку с официального сайта:

С помощью Acronis OS Selector вы можете:

  • установить несколько различных операционных систем на одном компьютере; 
  • загружать их с любого раздела любого жесткого диска; 
  • производить загрузку любых установленных операционных систем прямо из Windows;  
  • устанавливать несколько операционных систем на одном разделе; 
  • скрыть любую из операционных систем на вашем компьютере от посторонних или установить пароль на их загрузку; 
  • дублировать существующие операционные системы путем копирования и создавать для каждой из них необходимую загрузочную конфигурацию.

Программа поддерживает большой список операционных систем. В него попали всевозможные дистрибутивы Windows и Linux. К сожалению, программа уже не распространяется по-отдельности, как это было ранее, но входит в состав Acronis Disk Director Suite, достаточно объемного (40 Мб) пакета. Программа платная, и в ограниченной версии нельзя применить изменения. Можно скачать отдельно старую версию по прямой ссылке, но это демо-версия, опять же, не предназначена для прямого использования.

После инсталляции OS Selector попросит перезагрузиться. Во время загрузки программа, с вашего разрешения, установится на загрузочный сектор, как обычный загрузчик. Если откажетесь — продолжится загрузка системы и программа просто перестанет о себе напоминать — ни после, ни до загрузки ОС.

В чем еще плюс данной программы, кроме простоты? Удобнее всего, что в загрузочном меню сразу появляется список всех установленных ОС. Загрузчик один — и он устанавливается программой Acronis OS Selector. Названия корректно определены, и при желании их легко можно поменять. Кроме того, не нужно в меню два раза нажимать клавишу Enter. Также в состав входит несколько дополнительных сервисных утилит, что будет чрезвычайно полезным для восстановления какой-либо из ОС.

EasyBCD

Условия распространения: freeware

Интересно, что вместо GRUB загрузчиком по умолчанию можно сделать таковой из Windows Vista. Установив EasyBCD, прежде всего нужно зайти в раздел «Manage Bootloader» и затем выбрать опцию «Reinstall the Vista Bootloader». GRUB будет затерт. Сейчас можно настроить загрузчик Vista для добавления Ubuntu в меню загрузки.

Помимо работы с Linux, EasyBCD, распознает загрузчики BSD и Mac OS X. Работает в среде Windows.

VistaBootPRO

Условия распространения: freeware

О VistaBootPRO мы не так давно писали в обзоре программ. Работает она в среде Windows и предназначена сугубо для редактирования загрузчиков Windows. Причем можно заменить один загрузчик другим, деинсталлировав лишний. В программе легко убрать лишние пункты меню. Нельзя забывать о резервной копии, которую можно и нужно сделать в одном из разделов настроек!

Как восстановить загрузочное меню?

Если после произведенных вами действий произошла ошибка, после которой загрузка меню становится невозможной, не отчаивайтесь. Как и любое программное обеспечение, его можно переустановить. Правда, это не так просто, как описывается на словах. Ведь, по логике, если нельзя загрузить ОС, нельзя восстановить загрузчик? В таких случаях, как всегда, выручает загрузочный диск. Из трех ОС нам нужно восстановить либо Vista, либо Ubuntu, XP отпадает по описанным выше причинам.

Для Ubuntu. Проще всего восстановить загрузчик GRUB для Ubuntu. Благо, Ubuntu и представляет собой live-дистрибутив, который можно использовать для всякого рода восстановления. Загрузив ОС (версия не имеет значения), требуется открыть терминал и ввести там следующие команды:

// запуск менеджера загрузки $ sudo grub

// выдача информации о разделе с загрузчиком $ find /grub/stage1

В результате появится информация о расположении загрузчика

(hdX,Y)

Подставьте полученные значения, поменяв X и Y на выданные цифры:

$ root (hdX,Y) $ setup (hdX)

Для Windows Vista. Подробно о восстановлении загрузчика Vista вы узнаете в онлайн-справке Windows.

Итак, для восстановления понадобится загрузочный диск с Windows Vista (с которого вы устанавливали ОС). Ход действий следующий.

  1. Загрузитесь с установочного диска Windows Vista.
  2. Выберите язык установки и ввода. Рекомендуется выбрать язык ввода США.
  3. Выберите пункт «Восстановление системы».
  4. Выберите операционную систему для восстановления и нажмите «Далее».
  5. Выберите пункт «Командная строка». В строке введите команду

E:bootBootsect.exe /NT60 All

Основная загрузочная запись Windows Vista восстановлена.

Предупреждение. Никакой ответственности за ваши действия автор не несет. Производя действия над загрузчиком, подумайте, справитесь ли вы с возложенной задачей успешно и сможете ли предотвратить возможную поломку. Статья адресована только достаточно опытным пользователям.

На чтение 8 мин Просмотров 5.1к. Опубликовано 28.08.2020

Содержание

  1. Зачем нужно, чтобы GRUB запускался по умолчанию?
  2. Почему не загружается GRUB?
  3. Делаем загрузчик GRUB загрузчиком по умолчанию
  4. Шаг 1 – Запускаем менеджер загрузки
  5. Шаг 2 – Запускаем UEFI Shell
  6. Шаг 3 – Входим в файловую систему загрузочного раздела
  7. Шаг 4 – Переименовываем текущий загрузочный файл
  8. Шаг 5 – Копирование файла загрузчика GRUB
  9. Шаг 6 – Выход из командной строки
  10. Восстановление Grub после Windows 10
  11. Шаг 1.
  12. Шаг 2.
  13. Шаг 3.
  14. Шаг 4.

Всем привет! В этой заметке я покажу, как можно исправить ситуацию, когда после успешной установки дистрибутива Linux Debian 10 рядом с Windows 10 на компьютер с UEFI, загрузчик GRUB не загружается, а вместо него по-прежнему, как и до установки Debian, запускается Windows 10, т.е. в обход GRUB.

Зачем нужно, чтобы GRUB запускался по умолчанию?

Если Вы захотели установить на один компьютер Linux и Windows, например, дистрибутив Debian 10 и Windows 10, то Вам необходимо сначала установить Windows, а потом Debian, так как загрузчик Windows не работает с Linux, а загрузчик Debian, т.е. GRUB, умеет запускать все загрузочные системы, включая Windows.

Таким образом, если установить сначала Debian, а потом Windows, то Windows просто перепишет загрузчик GRUB, и Debian запускаться не будет.

Поэтому, для того чтобы иметь возможность по выбору запускать операционные системы на компьютере, необходимо, чтобы загрузкой управлял GRUB, т.е. запускался по умолчанию.

Почему не загружается GRUB?

Все дело в том, что по умолчанию установщик Debian устанавливает загрузчик в область UEFI согласно всем спецификациям, а Windows нет, именно это и не позволяет Debian загружаться даже после успешной установки.

В данном случае UEFI запускает загрузчик по умолчанию, т.е. Windows, а загрузчик Debian просто не запускается. В результате Вы успешно установили Debian, но по умолчанию загружается все равно Windows 10.

Поэтому, для того чтобы изначально избежать такой ситуации, установку Debian 10 необходимо производить в экспертном режиме, чтобы принудительно установить загрузчик в нужную область (removable media path), так же как это делает Windows.

Заметка! Установка Debian 10 рядом с Windows 10 на компьютер с UEFI (экспертный режим) – в материале подробно рассмотрен процесс установки дистрибутива Debian 10 на один компьютер с UEFI рядом с Windows 10 в экспертном режиме.

Некоторые другие дистрибутивы Linux, например, Ubuntu, по умолчанию устанавливают загрузчик в область removable media path, и таких проблем у них не возникает, но такой подход создает предпосылки конфликта с любыми другими установщиками, что плохо и неправильно. Вот почему в Debian не делают этого по умолчанию.

Заметка! Установка Ubuntu рядом с Windows 10 на компьютер с UEFI – в материале подробно рассмотрен процесс установки дистрибутива Linux Ubuntu на один компьютер рядом с Windows 10.

Однако если Вы все-таки установили Debian 10 в обычном режиме, и у Вас возникла такая ситуация, что вместо загрузчика GRUB загружается Windows 10, Вам необязательно переустанавливать Debian, достаточно зайти в загрузочное меню, запустить UEFI Shell и настроить загрузку UEFI. А как все это сделать, я сейчас и покажу.

Делаем загрузчик GRUB загрузчиком по умолчанию

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

Примечание! Все действия ниже предполагают наличие у Вас определенного опыта администрирования операционных систем и навыков работы с компьютером. При определенных обстоятельствах некорректные действия могут повлечь нарушение работы загрузчика компьютера.

Шаг 1 – Запускаем менеджер загрузки

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

Обычно это можно сделать клавишей F9, но иногда используются и другие клавиши (F12 и т.д.).

Итак, во время включения компьютера нажимаем клавишу F9.

Шаг 2 – Запускаем UEFI Shell

В итоге запустится загрузочное меню. Нам нужно открыть UEFI Shell. Для этого входим в «Boot Manager» (интерфейс у Вас может отличаться).

Затем выбираем пункт «EFI Internal Shell».

После чего запустится командная оболочка для работы с UEFI. В командной строке отобразится приглашение ввода команд «Shell>».

Шаг 3 – Входим в файловую систему загрузочного раздела

Вносить изменения мы будем путем определенных действий с файлами, поэтому нам необходимо открыть файловую систему загрузочного раздела UEFI.

Это делается достаточно просто, вводим команду FS0: (обычно именно такая метка у загрузочного раздела).

Шаг 4 – Переименовываем текущий загрузочный файл

Весь смысл наших действий заключается в том, чтобы заменить текущий загрузочный файл на тот, который нам нужен, т.е. на загрузчик GRUB.

Но для начала нам нужно переименовать текущий загрузочный файл, так как файл загрузчика, который мы будет потом копировать, должен быть с таким же названием (можно, конечно, его и удалить, но лучше этого не делать).

Переименовываем файл следующей командой.

Если у Вас отобразилось сообщение [ок], значит, все прошло успешно.

Таким образом, файл bootx64.efi мы переименовали в bootx64.efi_, этот файл расположен в каталоге EFIBoot.

Шаг 5 – Копирование файла загрузчика GRUB

Теперь нам нужно в каталог EFIBoot скопировать файл загрузчика GRUB, чтобы он запускался по умолчанию.

В этой статье речь идет о Debian, поэтому загрузчик лежит в одноименном каталоге EFIdebian, а файл его называется grubx64.efi.

Для копирования можно использовать следующую команду.

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

Шаг 6 – Выход из командной строки

На этом все, теперь мы можем выйти из командной строки и попробовать запустить компьютер.

Для выхода из «EFI Internal Shell» вводим команду Exit.

Чтобы продолжить загрузку компьютера, выбираем пункт «Continue».

После вышеупомянутых операций с файлами по умолчанию у Вас должен загружаться GRUB, в котором можно будет выбрать операционную систему для загрузки, Debian или Windows.

На заметку! Новичкам рекомендую почитать книгу «Linux для обычных пользователей» – в ней подробно рассказывается про основы операционной системы Linux

  • Debian GNU/Linux– это операционная система Debian;
  • Windows Boot Manager (на /dev/sda2) – это Windows 10.

Если ничего не выбрать в течение нескольких секунд, по умолчанию будет загружаться Debian, однако можно сделать и так, чтобы по умолчанию загружалась Windows 10, и даже переименовать пункты меню для удобства, об этом я уже рассказывал в материале – Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB.

На сегодня это все, надеюсь, материал был Вам полезен, пока!

Если вы используете на своем компьютере две операционные системы, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. Во время обновления Windows 10 просто затрет загрузчик Grub и запишет туда свой.

Вы, как обычно, перезагружаете систему и ожидаете увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Вам может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так. Многие советуют установить Ubuntu на другой диск, но есть более простое и прекрасно работающие решение, чтобы восстановить grub после установки windows 10. Кончено, всегда можно восстановить grub2 стандартным способом, с помощью LiveCD диска, но если вы используете UEFI, есть более легкое решение, мы сделаем все с помощью Windows 10.

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

Хотя за основу в этой статье берется Ubuntu, но это также будет работать и для других дистрибутивов. Просто папка, в которой находятся файлы загрузчика будет немного отличатся.

Шаг 1.

Откройте меню пуск в операционной системе Windows:

Шаг 2.

Найдите командную строку и щелкните по ней правой кнопкой. В открывшимся окне выберите Запуск от имени администратора:

Шаг 3.

Скопируйте и выполните эту команду:

bcdedit /set path EFIubuntugrubx64.efi

Вам не нужно будет вводить пароль, у вас уже есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 grub.

Шаг 4.

Восстановление grub после windows 10 завершено. Перезапустите компьютер и вы увидите на экране знакомый Grub. Надеюсь, эта краткая инструкция помогла вам выполнить восстановление Grub после установки Windows 10.

На ssd стояла windows 10.
Разбил hdd под установку linux mint, но после его установки загружалась только windows 10. Решил это чистой установкой Linux, установщик разбил диск как ему надо. Как итог linux грузится, windows 10 — нет, и кроме того не могу войти в настройки bios: меню загрузки там пустое, bios setup не открывается.
В меню загрузки grub есть только linux.
Есть ли способ добавить windows в меню загрузчика grub, как убедиться, что она сможет запуститься, и это не убьет работающий Linux?

Grub выглядит так:

По команде lsblk результат такой:

Для диска, на котором лежит windows: blkid /dev/sdb1

blkid /dev/sdb1. Странный лейбл раздела с windows 10. Критично ли это?

upd
Добавил руками пункт загрузки в grub как написано в статье.

При выборе — error: invalid EFI file path.

ps. Если бы была возможность зайти в bios, с удовольствием бы снес все и накатил заново винду (или восстановил с загрузочной флешки). С проблемой столкнулся не впервые, но в прошлый раз пришлось прибегнуть к прошивке bios на программаторе. Хотелось бы обойтись без такой хирургии, тк не желательно отдавать ноут на несколько дней.

  • Распечатать

Оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(3 голоса, среднее: 3.7 из 5)

Поделитесь с друзьями!

Понравилась статья? Поделить с друзьями:
  • Как поставить движущиеся обои на рабочий стол windows 10
  • Как поставить две разные картинки на два монитора windows 10
  • Как поставить две windows 10 на один компьютер
  • Как поставить два разных изображения на два монитора windows 10
  • Как поставить два пароля на компьютер windows 10