Ubuntu grub default windows

Set the GRUB Default OS: Dual-boot Windows 7 and Ubuntu 14.04

I’m running a dual-boot system, having installed Ubuntu 14.04 after the Windows 7 installation. GRUB, as you already know, sets Ubuntu as a default/first Operating System.

The question is: how can I set GRUB to load Windows 7 as a default/first OS?

3 Answers 3

The graphical way as mentioned before:

The Application is not in the Repositories of your Software Center by default. That’s why you need to add a Personal Package Archive (PPA) and update the sources.

Hit Super/Win to open Dash, type soft and choose Software & Updates. Go to Other Software and click add. There you can enter the new resource ppa:danielrichter2007/grub-customizer . After confirm and close you would be asked to reload. Now you can search for in grub-customizer in your Software Center and install it.

Without clicking, you can install it in your terminal ( CTRL + ALT + T )

Or just change boot order in grub config on your own. All of the following commands need sudoers permissions. You can hit ALT + F2 and type gksu (maybe not installed by default) in front of every command or open a terminal with CTRL + ALT + T an use sudo to run commands with needed privileges

First of all backup the old config with

then open the open grub file with your favourite editor e.g. gedit

or directly open it within your terminal with vi or vim (if you know how to use)

and edit the GRUB_DEFAULT Value to the item you want to select by default (counted from zero), save the file an run

After that a new Configuration is built and you can reboot to test.

Настройка запуска меню загрузчика GRUB при установке Linux с Windows на один компьютер с таблицей разделов GPT

Привет, Хабр! Сегодня мы рассмотрим ситуацию, когда при двойной установке Linux & Windows загрузчик GRUB не стартует, давая возможность выбрать ОС, а автоматически загружается Windows. Немного теории:

GRUB (GRand Unified Bootloader) — программа-загрузчик операционных систем.
GRUB может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR), MS-DOS, OS/2 и другие системы.

Значит с теорией мы немного разобрались (думаю этого будет достаточно), теперь же рассмотрим, какие бывают подводные камни, при установке Dual Boot Windows и Linux на одном компьютере.

Эксперимент производился на рабочей станции со следующими характеристиками:

Base Board Information

  • Manufacturer: Acer
  • Product Name: Aspire XC600

Memory Device

  • Size: 4096 MB
  • Type: DDR3
  • Speed: 1333 MHz
  • Manufacturer: Kingston
  • Rank: 2

HDD

  • product: ST500DM002-1BD14
  • vendor: Seagate
  • physical id: 0.0.0
  • bus info: scsi@0:0.0.0
  • logical name: /dev/sda
  • size: 465GiB (500GB)
  • capabilities: gpt-1.00 partitioned partitioned:gpt

Доказано, что проблем с установкой Debian 8.6 Jessie совместно с Windows 10 не обнаружено. Debian корректно прописывается в автозагрузке, GRUB запускается без ошибок и две ОС также работают нормально.

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

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

Читайте также:  Windows professional enterprise разница

Важно! До начала выполнения инструкции нужно подготовить LiveCD с дистрибутивом Linux Mint — все операции мы будем выполнять на нем (я выбрал этот дистрибутив из-за того, что на него спокойно можно установить Midnight Commander, что сложно сделать на LiveCD с Ubuntu, так мы получаем больше пространства для маневров). Также стоит заметить, что команда из под консоли update-grub вам не поможет, так как она рассчитана на случай, когда GRUB запускается, но не видит другие ОС кроме Линукса. Также рекомендую создавать резервные копии файлов/каталогов, над которыми вы осуществляете хоть малейшие изменения.

    Через терминал, с правами root смонтировать раздел с EFI в папку /mnt. В моем случае, это была команда mount /dev/sda2 /mnt.

Введите команду sudo -s и подтвердите пароль (он пустой по умолчанию) для последующих операций (многие советуют не делать этого, а вводить sudo и команду для выполнения — я поддерживаю это мнение, но инструкция рассчитана на опытных пользователей системы Linux, которые понимаю, что делают все на свой страх и риск).

Запустить Midnight Commander командой mc.

Найти в файловой системе следующий каталог: EFI в папке /mnt.

Переименовать каталог Microsoft во что-нибудь другое, например в Microsoft2.

Создаем новый каталог с именем Microsoft.

Заходим в только что созданный каталог Microsoft и частично создаем внутри его иерархию папок аналогичную старому Microsoft (тому, что переименовали). В моем случае он имел такую структуру папок: /boot/, затем куча папок и файл bootmgfw.efi рядом с ними. Нужно воссоздать структуру папок ровно до этого файла. Т.е. всё, что лежит рядом с ним — не нужно, а всё, что идет до него (т.е. родительские папки, соседние с ними тоже не нужны) воссоздаем в нашей новой папке Microsoft. В моем случае понадобилось создать только папку /boot, итоговый путь до нового каталога вышел таким: /EFI/Microsoft/boot. Можно просто скопировать все папки и файлы — проверено, это работает и можно не создавать все вручную.

Находим в каталоге из шага 6 папку с именем нашего дистрибутива Линукса, в нашем случае это Ubuntu. Копируем (оригиналы файлов и папку ubuntu на всякий случай оставляем, не помешают) все файлы из данной в папки в итоговый каталог, созданный на предыдущем шаге: /EFI/Microsoft/boot.

В получившейся файловой системе находим файл grubx.efi или grubx64.efi (будет только один из них: в зависимости от разрядности установленного Линукса). Переименовываем его в bootmgfw.efi.

  • Находим файл /boot/grub/grub.cfg в файловой системе установленного Линукса. Открываем его для редактирования. Внутри него находим слово «Microsoft» в контексте строки, начинающейся с «chainloader» и заменяем это слово (должно быть только одно вхождение и именно в строке с «chainloader», так что не ошибетесь) на название каталога, в который мы переименовали Microsoft (т.е. на Microsoft2 в нашем примере). Сохраняем изменения в файле.
  • Также, в этом файле вы можете поменять названия в списке, который выводит GRUB. Например, вместо openSUSE Leap 42.2 27.01 в части кода:

    Написать openSUSE The best choice!:):

    Хоть мелочь, а приятно! Остальное в коде советую не трогать.

    Если трудно разобраться с управлением Midnight Commander (в этом нет ничего страшного, у меня тоже в первый раз были проблемы с этой программой), все операции можно выполнить в файловом менеджере Nautilus (или в другом, не суть важно), но изначально запустив его под правами пользователя root.

    После этого идем на перезагрузку и радуемся результату. Но, как оказывается, такая проблема есть и у дистрибутива OpenSUSE Leap 42.2. Как показала практика, если на компьютере установлен дистрибутив OpenSUSE с Windows 10, то приведенная выше инструкция не поможет. Точнее, она поможет, но только ее нужно дополнить. После выполнения основной части выполняем следующие шаги:

    1. После выполнения всех операций заходим в папку /EFI/opensuse/x86_64-efi/ (название итоговой папки x86_64-efi может быть другим в зависимости от архитектуры ПК)
    2. Копируем файл grub.efi (если у вас включена опция Secure Boot, там будет еще файл shim.efi, тогда советую скопировать их вместе)
    3. Заходим в папку /EFI/Boot и удаляем все файлы, которые там есть (при обновлении загрузчика они снова появятся, но в этом нет ничего страшного)
    4. Вставляем файл (или файлы), которые мы скопировали и спокойно идем на перезагрузку.
      Вот и вся инструкция. Думаю, кому-то пригодится…
    Читайте также:  Send sms to windows

    P.S. Если же у вас все хорошо, GRUB с OpenSUSE запускается, но не видит Windows, радуйтесь — проблема решается всего одной командной: grub2-mkconfig -o /boot/grub2/grub.cfg, а если у вас стоит Ubuntu, нужно выполнить просто update-grub.

    Для тех же, кого заинтересовала данная тема, рекомендую прочитать статью: «Начальный загрузчик GRUB 2 — полное руководство».

    Как сделать загрузку Windows первой в Grub

    Для выбора и запуска операционной системы во время загрузки компьютера используется специализированная программа — загрузчик. Самый популярный загрузчик — Grub. При установке нескольких операционных систем, например, Linux поверх Windows, в меню загрузчика первой будет последняя установленная ОС.

    Это не вызовет проблем у пользователей, которые пользуются Linux как основной системой, для них это даже более предпочтительный вариант. Но если вы еще новичок, и хотите использовать Linux второй системой, а Windows пока еще основной, до тех пор, пока не освоитесь, то наверное захотите чтобы первой была Windows. В этой статье мы рассмотрим как сделать загрузку Windows первой в Grub. Рассмотрим два способа: с помощью программы Grub Customizer и вручную, через файлы конфигурации загрузчика Grub.

    Grub Customizer

    Grub Customizer — это программа, позволяющая настраивать различные параметры загрузчика Grub. В том числе и положение и очередность пунктов загрузки. Установить программу можно из официальных репозиториев. Например, в Ubuntu нужно использовать ppa:

    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt-get update
    sudo apt-get install grub-customizer

    Для запуска программы откройте терминал (Ctrl + Alt + T) и наберите grub-customizer:

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

    Также программу можно запустить из главного меню. Главное окно выглядит вот так:

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

    В меню выберите пункт Переместить вверх. Это действие нужно будет повторить несколько раз, пока Windows не будет первой в списке. Теперь будет выполняться загрузка windows по умолчанию grub.

    Если потом вы захотите опустить Windows обратно вниз, есть обратное действие — Переместить вниз.

    Для сохранения настроек просто нажмите кнопку Сохранить. Готово. Можете перезагружать компьютер и смотреть что получилось.

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

    Здесь для выбора пункта по умолчанию используемого по умолчанию есть список Задействовать:

    Кроме того, можно загружать по умолчанию последнюю загруженную ОС, для этого есть галочка:

    Не забудьте снова нажать кнопку сохранить.

    Изменение порядка загрузки Grub через терминал

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

    sudo gedit /boot/grub/grub.cfg

    Читайте также:  And windows system32 config system

    Как правило, строки меню выглядят вот так:

    menuentry имя_пункта —опции <
    .
    >

    Например пункт Windows:

    menuentry ‘Windows 8 (loader) (on /dev/sda1)’ —class windows —class os $menuentry_id_option ‘osprob
    er-chain-FC324E26324DE66C’ <
    .
    >

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

    Аналогично тому как мы настраивали пункт, загружаемый по умолчанию в Grub Customizer, это можно сделать и в терминале. Откройте файл /etc/default/grub.

    gksu gedit /etc/default/grub

    Здесь нас интересует строчка:

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

    GRUB_DEFAULT=»Windows 8 (loader) (on /dev/sda1)»

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

    sudo grep menuentry /boot/grub/grub.cfg

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

    А в GRUB_DEFAULT укажите saved:

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

    Не во всех системах работает такой вариант, поэтому можно использовать другую команду:

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

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

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

    Об авторе

    Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

    11 комментариев

    Значит так заходим в терминал и вводим:
    /boot/grub/
    Дальше sudo nicoedit grub.cfg (где nicoedit название вашего текстового редактора) (в некоторых случаях menu.lst)
    Вводим пароль
    Открывается окно текстового редактора.
    Выбор ОС по умолчанию

    В нем сначала просматриваем список загрузки в нижней части файла. Пример:

    title Ubuntu, kernel 2.6.20-16-generic
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=f005531f-451c-440a-8206-eee73f6ae32c ro quiet splash
    initrd /boot/initrd.img-2.6.20-16-generic
    quiet
    savedefault

    title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=f005531f-451c-440a-8206-eee73f6ae32c ro single
    initrd /boot/initrd.img-2.6.20-16-generic

    title Ubuntu, memtest86+
    root (hd1,0)
    kernel /boot/memtest86+.bin
    quiet

    ### END DEBIAN AUTOMAGIC KERNELS LIST

    # This is a divider, added to separate the menu items below from the Debian # ones.
    title Other operating systems:
    root

    # This entry automatically added by the Debian installer for a non-linux OS
    # on /dev/hda1
    title Windows XP
    root (hd0,0)
    savedefault
    makeactive
    chainloader +1

    По числу названий, задаваемых ключевым словом title, определяем, начиная с 0, пункты меню. Операционная система Linux в этом списке имеет порядковый номер 0, а Windows — 4.

    Теперь в верхней части файла ищем запись:

    ## default num
    # Set the default entry to the entry number NUM. Numbering starts from 0, and
    # the entry number 0 is the default if the command is not used.
    #
    # You can specify ‘saved’ instead of a number. In this case, the default entry
    # is the entry saved with the command ‘savedefault’.
    # WARNING: If you are using dmraid do not change this entry to ‘saved’ or your
    # array will desync and will not let you boot your system.
    default 0

    Если по умолчанию (т.е. без вмешательства пользователя) должна загружаться ОС Linux, оставляем запись default 0 без изменения. Если же это должна быть ОС Windows, изменяем запись: default 4.

    Сохраняем файл, выходим из редактора и терминала.

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