У меня на домашнем компьютере стоит две операционные системы, Windows 7 и Linux (Arch). Причем вторая появилась относительно недавно. Да и особых знаний о новой (для меня) ОС не было. Тем не менее систему я поставил и даже относительно настроил под себя. Энтузиазм и программерское любопытство меня пересиливало, поэтому, в качестве ознакомления, стал экспериментировать с различного рода пакетами. К сожалению, не всегда вчитываясь в детали.
Решил я переставить Grub, а точнее обновиться до Grub2. (Слышал я такое мнение, что в духе Linux принято держать последнюю версию пакета… Про изменения Grub2 хорошо написано тут.)
Ну и как результат «спешной» установки — перестала грузиться система. Единственное за что можно было зацепиться — это приглашение командной строки:
grub>
По нажатию на Tab вываливается список возможных команд. Их существенно меньше чем в командной строке Linux, но их достаточно для загрузки системы. Почитав про grub тут я решил загрузить Windows, все-таки тут я пока себя чувствую увереннее. Для этого нужно было указать где находиться загрузчик ОС и передать ему управление:
grub> root (hd0,2) [Устанавливаем корневой раздел и монтируем. Тут главное помнить, на каком разделе стоит операционная система]
Запись (hd0,2) означает устройство диска номер 0 (мастер), раздел номер 2.
что соответствует устройству /dev/sda2 (в моем случае). У вас это может быть или /dev/hd2, или еще что-нибудь, в зависимости от дистрибутива. Нумерация устройств идет по-порядку и начинается с (hd0,1) или /dev/sda1.
Далее вводим:
grub> chainloader +1 [пробел перед "+" важен. сhainloader - передает управление загрузкой по цепочке другому загрузчику. В моем случае это был NTLDR]
grub> boot
NTLDR — это загрузчик Windows.
Система стала грузиться, а раз это дало результат — можно копаться дальше (все-таки не Windows теперь предмет изучений).
Перезагружаемся и вводим снова.
grub> root (hd0,6)
grub> linux /boot/vmlinuz26 root=/dev/sda6 [Загружает указанное linux-ядро (/boot/vmlinuz26) с параметрами(root=/dev/sda6)]
Тут стоит различать команду root (hd0,6) и параметр root=/dev/sda6. Первое монтирует раздел к среде выполнения. А второе указывает где находиться root загружаемой ОС. В моем случае ядро и корень оказались на одном разделе, хотя это может быть не так.
grub> initrd /boot/kernel26.img [Загружает указанный initrd-образ]
grub> boot
Мне это помогло, надеюсь вам это не пригодиться, а если и пригодиться, то поможет.
Кстати, если неправильно указать root, процесс загрузки завершиться ошибкой и появиться приглашение вида:
[ramfs /]#
Можно набрать:
[ramfs /]# ls /dev
и посмотреть список устройств(если вы вдруг его забыли как я).
Моя проблема установки gurb2 была в том, что при установке затер файл меню grub (обычно он находиться /boot/grub/menu.lst), а новый файл не создал. Для создания файла конфигурации надо было выполнить grub-mkconfig.
Если у вас сбились настройки grub, то отличия в командах будут минимальными:
- для загрузки Windows вместо root (h d0,2) надо набирать rootnoverify (hd0,1). Нумерация устройств начинается с (hd0,0), а не (hd0,1). А командой rootnoverify вы устанавите корневое устройство, но не смонтируете его.
- для загрузки Linux поменяется другая команда: вместо linux вам понадобится команда kernel (полный аналог, даже параметры теже).
UPD: дописал про отличия загрузки с grub от grub2. Спасибо bliznezz
DISCLAIMER: Author claims no warranty or responsibility for any damage arising out of following this tutorial. This is being presented as-is for educational purpose. Reader indemnifies author unconditionally before proceeding further.
Now, why would you want to boot Windows via grub. Well, let me start with a situation that I faced recently. I tried to install FreeBSD (dual boot alongside Windows 7) and was not able to do it properly. As a result my Windows boot broke. Let’s say for some similar reasons your Windows 7/10 boot is broken. Your PC/Laptop could have a BIOS+MBR boot or an UEFI+GPT boot. I would guess you were trying to dual boot windows with Linux and for some reason the grub installation did not go through properly. Usually this does not happen very often now a days as Linux installers have become very mature. Also I am assuming that you have not deleted the windows partition while installing Linux or any other OS (FreeBSD ?). If the situation sounds familiar, please read on.
First of all I am assuming that you don’t have access to an Windows 7 rescue CD or Windows 10 rescue DVD/USB. If you have those, then you might want to use them and you will find a lot of How-Tos in the internet with the instructions on how to use windows rescue CD/DVD/USB to recover a broken boot. However if you do not have these and you want to recover/ fix as much as possible, then please read on. Before we proceed, what we need for below steps is any Live-CD or Live-USB of any Linux Distro (Ubuntu/ Fedora/ Debian.. ). This may come very handy as you will see below.
Scenario 1: BIOS boot with MBR disk
Let’s say you have an old PC/Laptop with BIOS boot and the disk is MBR. This is how the steps goes:
- Get to the grub prompt
- List down the disks on the system
- Identify the disk having Windows
- Boot to Windows from grub prompt
- Once inside Windows fix the MBR using a third-party tool (EasyBCD)
Below I will show you how to do these steps. Please plug in your Linux Live-CD/ USB and turn on your PC/Laptop. In order for your PC/Laptop to be able to boot from CD/USB please first change the boot order in BIOS (I am assuming you are familiar with BIOS and able to do this change. If not, please search for the steps in internet. You will find many). Once the PC/Laptop boots up, you will see a boot menu. Here press “C” to get to the grub prompt. Then follow below steps. [NOTE: The output of below commands may differ in your PC/Laptop, based on the partitions you have. Also DO NOT type the Comments, those are for explanation only.]
grub> ls // To list the available partitions
(hd0) (hd0,msdos1) (hd1) (hd1,msdos3) (hd1,msdos2) (hd1,msdos1) // "msdos#"for MBR disk, "gpt#" for GPT disk
grub> insmod ntfs // To load NTFS module
grub> set root=(hd1,msdos1) // Assuming 1st partition is Windows boot
grub> chainloader +1
grub> boot
Typically there is a boot partition created for Windows installation. This is a small 100MB~200MB partition. This is denoted by (hd1,msdos1). You might be wondering why ‘hd1‘, why not ‘hd0‘. This is because if you have booted from a live USB, the USB drive is detected as ‘hd0‘. If you boot from Live-CD, it should show as ‘cd0’. But I have not tried with a Live-CD. [CAUTION: You may need to do a bit of trial and error to find the exact boot partition of windows. Once you have found it, you should be able to chainload.]
Now once you are booted inside Windows, you can use a third-party tool EasyBCD to restore the MBR and fix the broken boot for Windows. The above steps are somewhat similar for Windows 10 in UEFI+GPT boot, but slightly different as shown in Scenario 2 below.
Scenario 2: UEFI boot with GPT disk
If you have a modern laptop/PC, chances are that it has UEFI boot and the disk is formatted as GPT. In that case the steps are slightly different. Please see below. [NOTE: The output of below commands may differ in your PC/Laptop, based on the partitions you have. Also DO NOT type the Comments below, those are for explanation only.]
grub> ls // To list the partitions
(hd0) (hd0,gpt1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
grub> insmod part_gpt // This is to load module to read GPT partitions
grub> insmod fat // Load FAT module to read EFI partition which is usually FAT32
grub> set root=(hd1,gpt1) // Assuming 1st partition is EFI partition
grub> chainloader /EFI/Microsoft/Boot/bootmgfw.efi
grub> boot
This should be able to get you into your Windows 10 installation. Once from there you can create an Windows 10 recovery USB disk, boot from there and fix the broken boot.
I believe most users get it difficult on how to get back on Windows for one time, so they can take the next steps to fix the broken boot. However there is an alternate way to boot to Windows. Assuming you were installing Linux and the grub installation failed for some reason, you can try to boot into the Linux installation on your HDD using the same grub prompt, as I will show you below. [NOTE: The output of below commands may differ in your PC/Laptop, based on the partitions you have. Also DO NOT type the Comments below, those are for explanation only.]
grub> ls
(hd0) (hd0,gpt1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
grub> ls (hd1,gpt3)/
// Assuming this is your Linux root partition and you did not have a separate boot, this will list typical linux directories such as boot/ usr/ tmp/ var/ home/ .. yes the slash will show after the directory name
grub> set prefix=(hd1,gpt3)/boot/grub
grub> set root=(hd1,gpt3)
grub> insmod linux
grub> insmod normal
grub> normal
grub> boot
Now Linux should boot normally. Once booted to your Linux installation, try to reinstall grub through below command. Grub will be able to detect the Windows installation and create a menu entry for it. [CAUTION: Please note the drive and the partition where you want to re-install grub. Use fdisk -l to list the drive to review once before issuing below command]
$> sudo grub-install /dev/sda
Hope you enjoyed this article. This article does not by any means aim to be the end-all be-all guide to fix broken boot. As I came across similar scenarios in my own personal laptop/ PCs, I tried these “hacks” and were able to successfully fix broken boot. Hope you find it useful.
Краткая инструкция по загрузке Windows и Linux из командной строки GRUB на случай каких-либо неполадок. Сразу оговорюсь, что сам grub2 должен запускаться, если же вы не можете попасть в консоль grub2, то вам скорее всего потребуется переустановка grub.
Запуск Linux с помошью командной строки GRUB
Нам понадобится написать всего 3 строчки: «set root«, «linux» и «initrd» и в конце дать команду «boot».
set root=(hd0,5)
linux /boot/vmlinuz-2.6.32-generic root=/dev/sda5
initrd /boot/initrd.img-2.6.32-generic
boot
Немного поясню — в строке set root указываем на корневой раздел linux. В моем случае это был «hd0,5», он же «/dev/sda5», то есть пятый раздел первого диска. Список доступных разделов диска можно получить, выполнив команду ls.
Далее, командой linux, указываем загружаемое ядро. Полное название ядра знать не обязательно, просто пишем «linux /boot/vmlinuz» и нажимаем tab. Консоль сама допишет правильный результат. У меня был предложен выбор между старым и новым ядром. Только в конце строки не забудьте дописать параметр root=/dev/sda5 или что там у вас.
Для старта системы этого уже должно хватить. Осталось выполнить команду boot. В некоторых случаях перед выполнением «boot» попробуйте дополнительно выполнить команду initrd, как описано выше в примере.
Запуск Windows из командной строки GRUB
Процесс запуска Windows из консоли GRUB ещё проще. Как и в случае с Linux в начале указываем корневой раздел, где находится Windows. В моем случае окошки установлены в /dev/sda1. После чего, отдаем команду chainloader +1, которая заставляет grub2 передать дальшейшее управление загрузкой Windows-загрузчику. Даем команду boot на запуск системы и наблюдаем загрузку винды. Пример:
set root=(hd0,1)
chainloader +1
boot
Подписывайтесь на канал
Яндекс.Дзен
и узнавайте первыми о новых материалах, опубликованных на сайте.
Содержание
- Аварийный запуск системы из командной строки GRUB
- Комментариев: 8
- Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB
- Введение
- Обзор программы Grub Customizer
- Установка Grub Customizer в Ubuntu
- Шаг 1 – Запускаем менеджер приложений
- Шаг 2 – Запускаем установку Grub Customizer
- Шаг 3 – Запускаем программу Grub Customizer
- Изменение порядка загрузки операционных систем
- Переименование пунктов загрузочного меню
- Сохранение настроек, загрузка и проверка порядка ОС
- Видео-инструкция
- Настройка загрузчика Grub
- Настройка Grub с помощью Grub Customizer
- Настройка Grub через конфигурационные файлы
- Настройка Grub через /etc/default/grub
- Настройка Grub через /boot/grub/grub.cfg
- Выводы
- Grub 2 + VHD: установка и загрузка ОС Windows 7 Ultimate
- Введение
- 1. Подготовка почвы
- 2. Создаем VHD-образ с системой
- 3. Настройка загрузчика bootmgr
- 4. Установка Windows 7 Ultimate на VHD-образ
- 5. Настройка загрузчика Grub2
- Заключение
- Как сделать загрузку Windows первой в Grub
- Grub Customizer
- Изменение порядка загрузки Grub через терминал
- Оцените статью:
- Об авторе
- 11 комментариев
Аварийный запуск системы из командной строки GRUB
Краткая инструкция по загрузке Windows и Linux из командной строки GRUB на случай каких-либо неполадок. Сразу оговорюсь, что сам grub2 должен запускаться, если же вы не можете попасть в консоль grub2, то вам скорее всего потребуется переустановка grub.
Запуск Linux с помошью командной строки GRUB
Нам понадобится написать всего 3 строчки: «set root«, «linux» и «initrd» и в конце дать команду «boot».
set root=(hd0,5)
linux /boot/vmlinuz-2.6.32-generic root=/dev/sda5
initrd /boot/initrd.img-2.6.32-generic
boot
Далее, командой linux, указываем загружаемое ядро. Полное название ядра знать не обязательно, просто пишем «linux /boot/vmlinuz» и нажимаем tab. Консоль сама допишет правильный результат. У меня был предложен выбор между старым и новым ядром. Только в конце строки не забудьте дописать параметр root=/dev/sda5 или что там у вас.
Для старта системы этого уже должно хватить. Осталось выполнить команду boot. В некоторых случаях перед выполнением «boot» попробуйте дополнительно выполнить команду initrd, как описано выше в примере.
Запуск Windows из командной строки GRUB
Процесс запуска Windows из консоли GRUB ещё проще. Как и в случае с Linux в начале указываем корневой раздел, где находится Windows. В моем случае окошки установлены в /dev/sda1. После чего, отдаем команду chainloader +1, которая заставляет grub2 передать дальшейшее управление загрузкой Windows-загрузчику. Даем команду boot на запуск системы и наблюдаем загрузку винды. Пример:
set root=(hd0,1)
chainloader +1
boot
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Комментариев: 8
Единственный работающий мануал на весь рунет.
Если не знаете на каком разделе установлен Линукс (вдруг), можно каждый раздел проверить командой типа ls(hd0,1)/ (со слешем в конце).
Привет, а как сделать так, чтобы каждый раз это не прописывать?
Для этого нужно прописать соотвествующие изменения в загрузчик GRUB. Обычно нужные строки добавляются автоматически при установке системы.
Что делать, если видит только разделы msdos, но я знаю что там есть Linux
Что делать, если видит только разделы msdos, но я знаю что там есть Linux
У меня так пишет, хотя там Linux и ext4.
Что делать если на всех разделах не находит виндовс? пишет unknown filesystem
Источник
Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB
Всем привет! Сегодня я расскажу о простом способе изменения порядка загрузки операционных систем (Linux, Windows) в загрузчике GRUB, который не требует правки различных конфигурационных файлов, все будет выполняться в удобном графическом интерфейсе.
Данная процедура будет Вам полезна, если у Вас на компьютере установлено несколько операционных систем Linux и Windows, например, Linux Ubuntu и Windows 10. О том, как установить себе на компьютер Linux Ubuntu второй системой рядом с Windows 10 с учётом особенностей UEFI, я подробно рассказывал в отдельной статье – Установка Linux Ubuntu рядом с Windows 10 на компьютере с UEFI.
Но в такой конфигурации по умолчанию будет загружаться Linux Ubuntu, однако многим хочется изменить данный порядок, например, чтобы по умолчанию загружалась Windows 10 или любая другая система, иными словами, отсортировать порядок так, как им хочется. Как я уже об этом говорил ранее, это можно сделать, и сейчас я подробно расскажу о том, как это делается, т.е. как изменить порядок загрузки операционных систем в загрузчике GRUB.
Введение
Итак, на текущий момент у Вас при включении компьютера появляется меню загрузчика GRUB, в котором первым пунктом идет операционная система Linux Ubuntu (или другой дистрибутив Linux, в моем случае именно Ubuntu). Выглядит это меню следующим образом.
Если ничего не выбрать, то через несколько секунд, по умолчанию, будет загружаться Ubuntu.
У нас стоит задача изменить порядок загрузки операционных систем таким образом, чтобы первым пунктом стояла Windows 10 и, соответственно, загружалась также первой. Дополнительно, для удобства и ясности, мы хотим присвоить пункту Windows Boot Manager более удачное имя, например – Windows 10.
Все этом можно реализовать с помощью одной программы – Grub Customizer, которую можно использовать в Linux Ubuntu.
Таким образом, сейчас я покажу, как установить Grub Customizer в Linux Ubuntu, и изменить порядок загрузки операционных систем в загрузчике Grub, используя эту программу.
На заметку! Начинающим пользователям Linux рекомендую почитать мою книгу « Linux для обычных пользователей » – в ней я максимально подробно рассказываю про Linux и о том, как пользоваться этой операционной системой без командной строки
Обзор программы Grub Customizer
Grub Customizer – это программа с графическим интерфейсом для редактирования настроек загрузчика GRUB.
Основные возможности Grub Customizer:
Установка Grub Customizer в Ubuntu
Установить Grub Customizer в Ubuntu не составит труда, в Ubuntu 19.04 это можно сделать с помощью менеджера приложений (в предыдущих версиях Ubuntu возможно потребуется устанавливать PPA репозиторий).
Шаг 1 – Запускаем менеджер приложений
Сначала запускаем менеджер приложений, и для того чтобы найти нужный пакет в поиск, вводим grub сustomizer.
Шаг 2 – Запускаем установку Grub Customizer
Затем щелкаем по найденному пункту. После того как откроется окно с описанием программы, нажимаем «Установить».
Далее потребуется ввести пароль, так как процесс установки программ в Ubuntu требует дополнительных привилегий.
Шаг 3 – Запускаем программу Grub Customizer
Когда появится кнопка «Запустить», установка будет завершена. Мы можем нажать на данную кнопку, чтобы сразу запустить Grub Customizer. Также программу можно запустить и из меню приложений.
Для запуска программы снова потребуется ввести пароль, так как изменение порядка загрузки операционных систем в GRUB также требует дополнительных прав.
После запуска программы у Вас отобразится интерфейс Grub Customizer.
Изменение порядка загрузки операционных систем
Для того чтобы изменить порядок загрузки ОС, выберите нужный пункт, и нажмите кнопку перемещения вверх или вниз на панели инструментов, в зависимости от выбранного пункта.
Я для примера выберу Windows Boot Manager, и перемещу его в самый верх.
Переименование пунктов загрузочного меню
Теперь давайте переименуем пункт Windows Boot Manager в Windows 10. Для этого достаточно щёлкнуть двойным кликом по пункту и ввести новое имя.
Сохранение настроек, загрузка и проверка порядка ОС
После ввода всех настроек необходимо нажать кнопку «Сохранить», для того чтобы все введенные параметры сохранились.
В случае необходимости Вы можете перейти на дополнительные вкладки: «Основные настройки» и «Настройки оформления». Например, для того чтобы изменить шрифт меню загрузчика или цвет шрифта.
После ввода и сохранения всех настроек выключаем компьютер, и включаем его заново и смотрим, изменилось ли меню загрузчика.
В моем случае все настройки были применены и теперь по умолчанию у меня загружается Windows 10.
Видео-инструкция
У меня все, надеюсь, материал был Вам полезен, пока!
Источник
Настройка загрузчика Grub
Загрузчик системы выполняет очень важную функцию. Он позволяет выбрать какую операционную систему стоит загружать, также инициализирует параметры ядра Linux и подготавливает его к загрузке. В большинстве дистрибутивов Linux используется загрузчик Grub. Он поддерживает все необходимые функции, в том числе и UEFI, а также очень настраиваемый.
В одной из предыдущих статей мы рассматривали установку загрузчика Grub в Linux. В этой же будет будет продолжена тема и более детально рассмотрена настройка загрузчика Grub. Мы рассмотрим как графическую настройку с помощью Grub Customizer, так и более сложный, но более гибкий вариант с помощью ручного редактирования конфигурационных файлов.
Настройка Grub с помощью Grub Customizer
Это самый легкий путь конфигурации загрузчика. Графическая программа настройки Grub Customizer позволяет настроить все основные параметры загрузчика, например, фоновое изображение, шрифт, порядок пунктов загрузки, параметры ядра и многое другое. Все это делается в пару кликов.
Программа доступна в официальных репозиториях большинства дистрибутивов, и вы можете ее оттуда легко установить. Для установки в Ubuntu выполните:
sudo apt install grub-customizer
В Fedora, Red Hat и CentOS команда будет немного отличаться:
sudo yum install grub-customizer
После завершения установки вы можете запустить программу из главного меню или в терминале:
Перед тем, как программа запустится, вам нужно будет ввести пароль потому что для ее работы нужны права администратора:
Главное меню загрузится через несколько десятков секунд. Программе нужно время, чтобы собрать список операционных систем, установленных на компьютере:
В контекстном меню для каждого пункта вы можете переместить его вверх или вниз, переименовать или отредактировать его конфигурацию. С конфигурацией мы будем разбираться в другой части статьи, а первые два пункта могут быть очень полезны:
На вкладке Основные настройки вы можете выбрать пункт, который нужно загружать по умолчанию, время на протяжении которого будет показываться меню, а также параметры ядра для каждого пункта по умолчанию.
Последняя вкладка позволяет настроить внешний вид, тут вы можете выбрать одну из доступных тем, установить разрешение, или же задать пользовательские параметры цвета, шрифтов и фоновый рисунок:
Кроме того, нажав кнопку дополнительные параметры, вы можете настроить значения переменных /etc/default/grub, которые мы рассмотрим подробнее ниже.
Когда настройка Grub Customizer будет завершена просто нажмите кнопку Сохранить, чтобы применить все изменения.
Видео, где показана настройка GNU Grub в Linux с помощью Grub Customizer:
Но это все слишком просто и позволяет сделать только базовые вещи, если же нужна более тонкая настройка загрузчика Grub, придется разбираться с ручной настройкой конфигурационных файлов. Это мы и будем рассматривать ниже.
Настройка Grub через конфигурационные файлы
Настройка Grub через /etc/default/grub
Как я уже сказал, настройка загрузчика через файл /etc/default/grub, на основе которого будет автоматически создан /boot/grub/grub.cfg более желательна. Давайте рассмотрим параметры, которые вы можете здесь настроить.
Например, можно использовать такую конфигурацию:
GRUB_DISTRIBUTOR=»»
GRUB_DEFAULT=»saved»
GRUB_HIDDEN_TIMEOUT=»0″
GRUB_HIDDEN_TIMEOUT_QUIET=»true»
GRUB_TIMEOUT=»8″
GRUB_CMDLINE_LINUX_DEFAULT=»resume=/dev/sda7 splash=silent quiet»
Но как вы могли понять, этим способом вы не можете настроить порядок пунктов загрузки, а также некоторые другие параметры, поэтому давайте рассмотрим настройку непосредственно конфигурационного файла Grub.
Настройка Grub через /boot/grub/grub.cfg
Файл /etc/boot/grub/grub.cfg управляет непосредственно работой загрузчика, здесь указаны все его параметры и настройки, а также сформировано меню. Поэтому, изменяя этот файл, мы можем настроить Grub как угодно. Сначала попытаемся разобраться с синтаксисом файла. Он очень напоминает синтаксис bash и состоит из нескольких команд, которые что-то делают, загружают и настраивают.
Команды могут быть объединены в функции или блоки с помощью инструкций if else, синтаксис которых аналогичен bash. Рассмотрим основные из этих команд:
Это все команды, которые вам понадобятся. Но две последние нужно рассмотреть подробнее, так как они будут использоваться чаще всего.
Команда search используется для поиска дисков и имеет такой синтаксис:
Например, команда может выглядеть вот так:
Вторая команда, которая нам очень понадобится, это menuentry. Она используется для создания пунктов меню, с помощью которых будут загружаться операционные системы и дистрибутивы linux. Синтаксис этой команды такой:
menuentry имя_пункта <
команды установки переменных окружения
загрузка модулей
linux файл_ядра параметры_ядра
initrd файл_initrd
>
Обычно, для нормальной загрузки операционной системы сначала необходимо установить корневой раздел, для этого, возможно, нужно загрузить некоторые модули, дальше нужно запустить ядро с нужными параметрами и добавить образ initrd если это требуется. Самый простой пример пункта меню:
menuentry «Ubuntu» <
set root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>
Теперь давайте попробуем собрать всю информацию воедино и создадим самый просто конфигурационный файл для Grub вручную:
# Время показа меню 5 секунд
# Установим разрешение экрана и укажем что это же разрешение нужно сохранять для ядра:
set gfxmode=»1280×800″
set gfxpayload=keep
# Загрузим необходимые модули для работы видео режима, нужно для использования фоновой картинки
insmod vbe
insmod gfxterm
terminal_output gfxterm
# Установка шрифта с поддержкой Unicode:
font «/boot/grub2/fonts/unicode.pf2»
loadfont unicode
# Загрузим модуль работы с jpeg и зададим фоновый рисунок:
insmod jpeg
background_image «/boot/fon.jpg»
# Установим переменные окружения для настройки цвета меню:
set menu_color_normal=red/black
set menu_color_highlight=yellow/black
set color_normal=yellow/black
# Пункт меню для нашей операционной системы:
menuentry «Ubuntu» <
root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>
menuentry «OpenSUSE» <
insmod gzio
insmod part_msdos
insmod ext2
set root=’hd0,msdos5′
linux /boot/vmlinuz-4.1.31-30-default root=UUID=c52ca066-e48f-4df2-bc7e-4d885a354090 resume=/dev/sda7 splash=silent quiet showopts
initrd /boot/initrd-4.1.31-30-default
>
Выводы
Настройка grub может показаться довольно сложной вещью, но если разобраться, то все вполне выполнимо. В этой статье мы рассмотрели несколько способов настройки загрузчика, для различных ситуаций, и я думаю, теперь у вас не возникнет проблем с этой программой. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Grub 2 + VHD: установка и загрузка ОС Windows 7 Ultimate
Введение
Ни для кого уже не секрет, что начиная с версии Windows 7 Ultimate, операционные системы от Майкрософт умеют загружаться будучи установленными на образ жесткого диска формата VHD. Однако, данная возможность «из коробки» доступна только пользователям этой самой Windows 7 Ultimate.
У меня же, убежденного пользователя Arch Linux, потребность в применении этой технологии возникла из-за необходимости иметь винду под рукой в дуалбуте и именно в реальном окружении. 90% процентов задач, для которых нужен Windows, разумеется решаются путем виртуализации, и мощности современного железа, и возможности виртуальных машин, позволяют даже в игры играть в виртуальной среде. Однако, возникла необходимость в использовании пакета «Универсальный механизм», который под вайном работает криво (допускаю и что руки у меня кривые), а в виртуальной среде, понятное дело, безбожно теряет прыть. В общем понадобилась Windows, но таскать разделы на винте и менять его разметку страшно не хотелось ради установки одной программы под винду.
Решение нашлось в реализации загрузки из VHD-образа с использованием загрузчика Grub2, ставшего стандартом де-факто во многих популярных дистрибутивах Linux. Об этом собственно и пойдет речь.
Какие преимущества перед стандартной установкой Windows в дуалбут с линуксом дает такая методика:
Итак, перейдем к описанию метода.
1. Подготовка почвы
Для хранения образов нам таки потребуется NTFS-раздел, который может быть как первичным, так и логическим, и не обязательно активным. Его можно создать с помощью gparted, там же и отформатировав в NTFS. У меня на НDD была зарезервирована неразмеченная область для разного рода экспериментов с осями, её я и отдал под данный раздел
Далее делаем этот раздел доступным для виртуальных машин VirtualBox
то есть создаем виртуальный диск в виде файла-ссылки на раздел реального HDD. Этот диск подключаем к виртуальной машине с Windows 7 Ultimate — она пригодится нам для решения поставленной задачи
2. Создаем VHD-образ с системой
Теперь надо создать VHD-образ HDD. Его придется создавать средствами, предоставляемыми Windows 7 Ultimate, ибо диски, создаваемые тем же VirtualBox вызывают последующий вывал загружаемой винды в BSOD.
после чего указываем путь к нему и задаем его параметры
Лучше всё же выбрать фиксированный размер образа — это будет работать быстрее.
Щелкаем ОК и пока идет процесс, выполним
3. Настройка загрузчика bootmgr
Сам загрузчик bootmgr и каталог с его конфигом boot банально копируем с установочного DVD Windows 7 в корень раздела NTFS, туда же, где размещается папка с VHD-дисками.
Удаляем файл \boot\bcd, ибо этот контейнер хранит конфигурацию с загрузочного DVD, и создаем новый контейнер. Для этого используем крохотную утилитку bootice. Запускаем её, выбираем вкладку “BCD edit”.
Далее жмем “Create new BCD”, выбираем путь по которому будет расположен файл конфигурации и создаем его с именем BCD. Далее выбираем этот файл и жмем “Easy mode” – запуск редактора в упрощенном режиме.
Файл конфигурации откроется в режиме редактирования, нажимаем кнопку “Add” и выбираем вариант “New VHD boot entry”. Редактор сосздаст шаблон загрузочной записи и нам остается лишь вписать путь к нашему образу.
Путь к VHD-файлу от корня раздела с образами прописываем в поле “File”. После этого жмем “Save current system” и выходим из программы.
Дожидаемся пока закончится процесс создания VHD-образа и покидаем виртуальную семерку.
4. Установка Windows 7 Ultimate на VHD-образ
Выполнена средствами VirtualBox. Для этого:
Однако, надо сказать вот о чем. Мы помним, что наша система инсталирована в ВМ, а поэтому некоторые устройства определены на этапе установки и система подсунула для них соотвествующие драйвера. При запуске на Вашем реальном компьютере с вероятностью в 99% получится BSOD. Это связано с тем, что VirtualBox эмулирует контролер IDE следующим образом
и этот драйвер, работая в загружаемой системе конфликтует с реально установленным на мат. плате контроллером, при попытке системы прочесть файл образа с диска. Решается просто – выбираем “Обновить драйвер”, говорим, что не надо искать а мы сами укажем нужный драйвер и выберем “Стандартный двухканальный контролер IDE”
После этого выключаем нашу виртуальную машину и делаем её «реальной»
5. Настройка загрузчика Grub2
В конфиг Grub2 необходимо добавить загрузочную запись такого вида
где (hd0,msdos4) — NTFS-раздел, где размещены VHD-образы.
После этого можно перезагружаться и пробовать…
Заключение
После загрузки устанавливаем драйвера на наше реальное железо и радуемся жизни:
Изображенное на скринах – это полноценная ОС, работающая на реальном железе. Но она – всего лишь файл на Вашем жестком диске. Этот файл может быть скопирован, удален, перемещен, архивирован и прочее. К тому же, такой метод решает извечную проблему конфликта Windows vs Linux на одном HDD. Теперь они мирно уживаются друг с другом и не портят друг другу жизнь.
Источник
Как сделать загрузку Windows первой в Grub
Это не вызовет проблем у пользователей, которые пользуются Linux как основной системой, для них это даже более предпочтительный вариант. Но если вы еще новичок, и хотите использовать Linux второй системой, а Windows пока еще основной, до тех пор, пока не освоитесь, то наверное захотите чтобы первой была Windows. В этой статье мы рассмотрим как сделать загрузку Windows первой в Grub. Рассмотрим два способа: с помощью программы Grub Customizer и вручную, через файлы конфигурации загрузчика Grub.
Grub Customizer
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 первой в Grub, можно изменить пункт запускаемый по умолчанию. Перейдите на вкладку Основные настройки:
Здесь для выбора пункта по умолчанию используемого по умолчанию есть список Задействовать:
Кроме того, можно загружать по умолчанию последнюю загруженную ОС, для этого есть галочка:
Не забудьте снова нажать кнопку сохранить.
Изменение порядка загрузки Grub через терминал
Как я и обещал, теперь рассмотрим как сделать загрузку WIndows первой в Grub с помощью конфигурационных файлов. Конфигурация Grub находится в файле /boot/grub/grub.cfg.
sudo gedit /boot/grub/grub.cfg
Как правило, строки меню выглядят вот так:
Например пункт Windows:
Теперь чтобы изменить порядок пунктов меню достаточно вырезать все до обратной закрывающей скобочки, вместе с этой строкой, и вставить перед всеми другими пунктами. Затем можно сохранить файл и готово. Перезагружайте и смотрите. Загрузка 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 не собьются, так как во время обновления информация берется из этого файла. Теперь давайте обновим конфигурацию и сохраним настройки командой:
Не во всех системах работает такой вариант, поэтому можно использовать другую команду:
Вот и все. Теперь вы знаете как сделать загрузку 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
Теперь в верхней части файла ищем запись:
## 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.
Сохраняем файл, выходим из редактора и терминала.
Источник
In this article, Let’s learn how to boot windows from grub rescue screen. Linux is the best platform available on the planet, it offers great customization. A highly customizable platform like Linux offers enormous benefits but has only one downside that it can potentially break your system and you can eventually land up in Linux grub rescue screen. If you are looking to boot Linux from grub rescue you can refer to this article.
Steps for how to boot windows from grub rescue.
Step 1 — Listing Partitions from Grub Rescue:
First, we need to find out our EFI partition or the partition where your boot files are stored. In order to find that we need to see the available partition, so simply execute the ls
command.
ls
Step 2 — Listing EFI Partition from Grub Rescue
In the first step, we have got our directory listing. Now, we need to find the appropriate partitions where our boot files reside. Typically it resides in a partition that is very small in size (typically less than 1GB) and having an EFI/ partition in it. So, In order to find that you can simply execute the ls (hdx,gpty)/
one by one.
Note: You need to replace x with the hard disk number, and y with the partition number.
ls (hdx,gpty)/
For me, the same is found in (hd0,gpt1)
Step 3 — Select the EFI Partition
Since we have found the partition, now we need to select the partition. So simply execute the below command.
set root=(hdx,gpty)
Step 4 — Chainloading the Windows EFI File.
Now, we have selected the partition in which our boot files are present, now we need to execute the command chainloader
for loading a boot file, so we can boot from that.
chainloader /efi/Microsoft/Boot/bootmgfwi.efi
Step 5 — Boot Windows from Grub rescue:
Finally, you are all set to boot windows from grub rescue. Just we need to execute the below command.
boot
Conclusion — Boot windows:
ls
ls (hdx,gpty)/
set root=(hdx,gpty)
chainloader /efi/Microsoft/Boot/bootmgfw.efi
boot
That’s it for this article, If you have any queries or suggestion please write down in comment section below.
Check out our Latest Best Linux Picks