После установки grub не запускается windows

Как вернуть меню выбора ОС после установки Windows рядом с Linux? Рассказываем о двух способах восстановления загрузчика GRUB — для новичков (с утилитой boot-repair) и для продвинутых пользователей (с помощью chroot).

Поставили Windows рядом с Ubuntu, и теперь можете запустить только ОС от Майкрософт? Рассказываем, как восстановить загрузчик GRUB после установки Windows 10 или 11 — вам хватит 20 минут, даже если вы новичок в администрировании VPS.

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

Представьте: вы установили Ubuntu, настроили систему, а потом решили поставить Windows рядом. Но после перезагрузки вместо привычного меню GRUB (grand unified bootloader) вы увидите только загрузчик Windows. Это происходит потому, что Windows не дружит с альтернативными загрузчиками: при установке она перезаписывает главную загрузочную запись (MBR) или заменяет файлы в разделе EFI. И если GRUB, стандартный загрузчик для Linux, может работать с несколькими ОС, то загрузчики NTLDR (Windows 11) и Bootmgr (Windows 10) не умеют. Когда вы ставите Windows после Ubuntu, они просто «не видят» ОС, установленную первой.

Что нужно знать перед восстановлением GRUB

Прежде всего разберёмся с базовыми понятиями — это поможет избежать ошибок и сэкономит время.

UEFI или BIOS

Современные компьютеры используют два типа firmware (микропрограммы для управления железом):

  • BIOS — это устаревший стандарт, загрузчик записывается в первый сектор диска (mbr);
  • UEFI — современная замена BIOS, работает с разделом EFI (fat32), где хранятся файлы загрузчиков в формате .efi.

Чтобы проверить, какой режим на вашем компьютере, зайдите в bios/uefi (нажмите клавишу del, f2 или f12 при запуске). Если в настройках есть пункты Secure Boot, UEFI Mode — значит, у вас используется UEFI.

Или выполните в Linux:

ls /sys/firmware/efi  

Если директория существует — система загрузилась через UEFI.

Live USB с Linux

Чтобы восстановить GRUB, понадобится загрузочная флешка с любым дистрибутивом (Ubuntu, Fedora, Mint).

Как создать Live USB:

  1. Скачайте iso-образ с официального сайта ОС.
  2. Создайте Live USB с помощью специальных программ:
    • Rufus (на Windows) — выберите «GPT для UEFI» или «MBR для BIOS» в зависимости от прошивки вашего компьютера;
    • BalenaEtcher (на Linux/Mac).
  3. Проверьте целостность образа после записи (в некоторых программах есть опция «verify»).

Как восстановить GRUB из-под Windows: два способа

Восстановление через boot-repair (для новичков)

Если вы не хотите работать в терминале, воспользуйтесь утилитой boot-repair. Она автоматизирует 90 % работы.

Шаг 1. Загрузка с Live USB

  1. Вставьте флешку, перезагрузите компьютер.
  2. Нажмите клавишу выбора загрузочного устройства (обычно f12, ESC или f8).
  3. Выберите флешку в меню.

Если у вас UEFI, загружайтесь в режиме UEFI, а не в Legacy! Иначе раздел EFI не будет обнаружен.

Шаг 2. Установка boot-repair

  1. Откройте терминал в Live-системе.
  2. Добавьте репозиторий и установите утилиту (далее все команды выполняются в режиме суперпользователя):
add-apt-repository universe   # добавляйте репозиторий в Ubuntu до версии 22.04
apt update
apt install -y boot-repair  

Шаг 3. Запуск и настройка

  1. Запустите boot-repair:
boot-repair  
  1. Выберите «recommended repair».
  2. Следуйте инструкциям на экране: утилита сама определит установленные ОС, восстановит GRUB и обновит конфигурацию.

Если возникли ошибки:

  • проверьте подключение к Интернету (boot-repair иногда скачивает дополнительные пакеты);
  • убедитесь, что live-система загружена в правильном режиме (uefi/bios).

Ручное восстановление через chroot (для продвинутых пользователей)

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

Шаг 1. Определение разделов

  1. Загрузитесь с Live USB.
  2. Откройте терминал и узнайте список дисков:
fdisk -l  

или

lsblk -f 

Команда lsblk -f показывает типы файловых систем и точки монтирования.

  1. Пример вывода lsblk:
NAME  FSTYPE LABEL   UUID  MOUNTPOINT
sda    
├─sda1 ntfs Windows ABCD-1234 
├─sda2 ext4 Ubuntu 5678-90AB 
└─ sda3 vfat  ESP CDEF-1234 

Обратите внимание на:

  • корневой раздел Linux (ext4, btrfs и т. д.) — нам нужен именно он;
  • раздел EFI (vfat) — если система на UEFI;
  • раздел подкачки (swap) — не нужен для восстановления.

Шаг 2. Монтирование разделов

  1. Создайте точку монтирования:
mkdir /mnt/Linux  
  1. Примонтируйте корневой каталог с Ubuntu:
mount /dev/sda2 /mnt/Linux  

Для UEFI примонтируйте каталог EFI:

mount /dev/sda3 /mnt/Linux/boot/efi  

Если у вас отдельный раздел /boot, монтируйте его:

mount /dev/sdaX /mnt/Linux/boot  

Шаг 3. Вход в chroot

Chroot (change root) — это команда, которая изменит видимый корневой каталог, чтобы вы вошли в систему из live-окружения.

  1. Привяжите системные директории:
mount --bind /dev /mnt/Linux/dev
mount --bind /proc /mnt/Linux/proc
mount --bind /sys /mnt/Linux/sys  
  1. Войдите в среду chroot:
chroot /mnt/Linux  

Шаг 4. Установка GRUB

  1. Если прошивка BIOS (MBR):
grub-install /dev/sda  # здесь sda — диск, а не раздел
update-grub  
  1. Если прошивка UEFI (GPT), убедитесь, что пакет grub-efi установлен:
apt install grub-efi-amd64

Перед grub-install нужно обновить загрузочный список в efibootmgr, иначе в некоторых UEFI-системах GRUB не будет загружаться:

efibootmgr -c -d /dev/sda -p 1 -L "GRUB" -l "\EFI\GRUB\grubx64.efi"

Здесь -d /dev/sda — диск, -p 1 — номер EFI-раздела (уточните их с помощью lsblk).

Установите GRUB в раздел EFI:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
  1. Обновите конфигурацию:
update-grub  
  1. После update-grub в выводе должны появиться строки «found Windows» или «found os probe entries».

Шаг 5. Выход и перезагрузка

  1. Выйдите из chroot:
sync  # запись данных
exit 
  1. Отмонтируйте разделы:
sudo umount -R /mnt/Linux
  1. Перезагрузите компьютер.

Возможные проблемы и их решение

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

GRUB не видит Windows

Причина: os-prober не активирован (утилита для автоматического обнаружения установленных ОС).

Решение. В /etc/default/grub раскомментируйте строку:

GRUB_DISABLE_OS_PROBER=false  

Установите os-prober:

apt install os-prober  

Обновите загрузчик (update-grub).

Ошибка «grub-install: error: cannot find efi directory»

Причина: неправильно указан путь к разделу EFI.

Решение. Проверьте, примонтирован ли раздел EFI в /boot/efi. Проверьте тип раздела: он должен быть vfat (FAT32).

Загрузчик установился, но система не загружается

Причина: неверный порядок загрузки в uefi/bios или повреждённые файлы GRUB. Также включённый Secure Boot может блокировать работу GRUB.

Решение. Зайдите в настройки UEFI/BIOS и выберите GRUB в качестве первого загрузочного устройства. Отключите Secure Boot в UEFI. Если это не помогло — переустановите GRUB через chroot.

Как избежать проблем в будущем

  • Если планируете устанавливать две операционные системы, то сначала установите Windows, потом Linux.
  • Создайте резервную копию EFI/MBR.

Для BIOS:

dd if=/dev/sda of=backup.mbr bs=512 count=1  

Для UEFI — просто скопируйте содержимое раздела EFI в место для хранения.

  • Создайте отдельный раздел EFI для Linux. Это минимизирует конфликты с Windows.

Заключение

Восстановить загрузчик GRUB после установки Windows — задача, которая кажется сложной только на первый взгляд. Даже если вы новичок, boot-repair справится за пару кликов. Для тех, кто хочет глубже разобраться в процессе, подойдёт ручной способ через chroot.

Наши технические специалисты помогут вам определиться с конфигурацией и настроят ваш VPN-сервер под ключ, если это будет необходимо.

Читайте в блоге:

  • Как поменять TTL для раздачи Интернета: настройка Default TTL и изменение значения на 64 или 65
  • Что такое директория в Linux
  • Как сменить владельца папки и изменить права доступа в Linux

Всем привет!

Жесткий диск разбит на несколько частей, на одной из них Windows 7, еще несколько под данные, и одну часть выделил для LInux.
При установке Ubuntu похоже накосячил, потому что теперь при включении компьютера в Grub есть выбор между Ubuntu и Windows, но при выборе последней экран на секунду гаснет и опять появляется Grub.
Что делать?

Гугл навел на grub.cfg, а именно:

<code>### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'<source lang="cs">
    search --no-floppy --fs-uuid --set=root D2041FD9041FBF81
    drivemap -s (hd0) ${root}
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###</code>

Но что нужно поменять в этом конфиге?

Всем заранее благодарен!

UPD: Сделал загрузившись c Windows 7 usb и востановлением загрузчика. А именно — Repair System, далее Command Promt: Bootrec.exe /FixBoot.

Почему sda2? В 44_custom_proxy упоминается sda1. Так где-же твоя Windows?
Запусти линукс, выполни в терминале: sudo fdisk -l. Вывод скопируй на форум. Желательно, укажи назначение разделов.

max@maxnt:~$ sudo fdisk -l
[sudo] пароль для max:     
Диск /dev/loop0: 4 KiB, 4096 байт, 8 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop1: 103,99 MiB, 109043712 байт, 212976 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop2: 104,19 MiB, 109252608 байт, 213384 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop3: 55,66 MiB, 58363904 байт, 113992 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop4: 55,66 MiB, 58363904 байт, 113992 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop5: 63,95 MiB, 67051520 байт, 130960 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop6: 63,95 MiB, 67051520 байт, 130960 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop7: 74,21 MiB, 77819904 байт, 151992 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/sda: 931,51 GiB, 1000204886016 байт, 1953525168 секторов
Disk model: Samsung SSD 870
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x083fc640

Устр-во    Загрузочный     начало      Конец    Секторы Размер Идентификатор Тип
/dev/sda1  *                 2048     104447     102400    50M             7 HPF
/dev/sda2                  104448  208605565  208501118  99,4G             7 HPF
/dev/sda3               208607232  209715199    1107968   541M            27 Скр
/dev/sda4               209717246 1953523711 1743806466 831,5G             f W95
/dev/sda5               209717248  926517247  716800000 341,8G             7 HPF
/dev/sda6               926519296  932376575    5857280   2,8G            83 Lin
/dev/sda7               932378624  948977663   16599040   7,9G            82 Lin
/dev/sda8               948979712 1451251711  502272000 239,5G            83 Lin
/dev/sda9              1451253760 1953523711  502269952 239,5G            83 Lin

Диск /dev/sdb: 29,82 GiB, 32017047552 байт, 62533296 секторов
Disk model: SanDisk SD5SF203
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x000920fa

Устр-во    Загрузочный начало    Конец  Секторы Размер Идентификатор Тип
/dev/sdb1                2048 62531583 62529536  29,8G            83 Linux

Диск /dev/loop8: 74,24 MiB, 77844480 байт, 152040 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop9: 349,69 MiB, 366678016 байт, 716168 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop10: 349,7 MiB, 366682112 байт, 716176 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop11: 505,09 MiB, 529625088 байт, 1034424 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop12: 20 KiB, 20480 байт, 40 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop13: 504,15 MiB, 528642048 байт, 1032504 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop14: 91,69 MiB, 96141312 байт, 187776 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop15: 670,11 MiB, 702664704 байт, 1372392 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop16: 673,63 MiB, 706355200 байт, 1379600 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop17: 12,32 MiB, 12922880 байт, 25240 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Диск /dev/loop18: 12,93 MiB, 13553664 байт, 26472 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
max@maxnt:~$

Назначение разделов

Устр-во    Загрузочный     начало      Конец    Секторы Размер Идентификатор Тип
/dev/sda1  *                 2048     104447     102400    50M             7 HPF    -- создался автоматически при установки винды
/dev/sda2                  104448  208605565  208501118  99,4G             7 HPF    -- сама Windows
/dev/sda3               208607232  209715199    1107968   541M            27 Скр    -- тоже от винды что-то, внутри папка Recovery и System Volume Information
/dev/sda4               209717246 1953523711 1743806466 831,5G             f W95    -- Расширенный раздел
/dev/sda5               209717248  926517247  716800000 341,8G             7 HPF    -- тут все файлы от винды, раздел NTFS
/dev/sda6               926519296  932376575    5857280   2,8G            83 Lin    -- boot
/dev/sda7               932378624  948977663   16599040   7,9G            82 Lin    -- swap
/dev/sda8               948979712 1451251711  502272000 239,5G            83 Lin    -- root
/dev/sda9              1451253760 1953523711  502269952 239,5G            83 Lin    -- home

Не понимаю как прикрепленное вложение (скриншот) поместить между тегом img. И вообще jpeg не принимает форум как оказалось. Только txt, pdf и тд


2. На форуме ЗАПРЕЩЕНО

2.17. Обсуждение вопросов, напрямую не связанных с использованием дистрибутивов, входящих в официальное семейство Ubuntu. Другие дистрибутивы GNU/Linux и прочие операционные системы следует обсуждать на иных, специализированных ресурсах. Исключением является раздел «Разговоры обо всем».

Правила форума
Руководство по добавлению изображений на форум

Закрыто! Тем более, что тема в архиве и последнее сообщение в теме было четыре года назад!
—ALiEN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
 
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
 
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi
 
export menuentry_id_option
 
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi
 
function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
 
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
 
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}
 
if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt11'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11  4c74771b-8828-423c-b6b9-5bd538dd235a
else
  search --no-floppy --fs-uuid --set=root 4c74771b-8828-423c-b6b9-5bd538dd235a
fi
    font="/usr/share/grub/unicode.pf2"
fi
 
if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=ru_RU
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###
 
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###
 
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4c74771b-8828-423c-b6b9-5bd538dd235a' {
recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt11'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11  4c74771b-8828-423c-b6b9-5bd538dd235a
    else
      search --no-floppy --fs-uuid --set=root 4c74771b-8828-423c-b6b9-5bd538dd235a
    fi
    linux   /boot/vmlinuz-3.11.0-12-generic root=UUID=4c74771b-8828-423c-b6b9-5bd538dd235a ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.11.0-12-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-4c74771b-8828-423c-b6b9-5bd538dd235a' {
    menuentry 'Ubuntu, with Linux 3.11.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.0-12-generic-advanced-4c74771b-8828-423c-b6b9-5bd538dd235a' {
    recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt11'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11  4c74771b-8828-423c-b6b9-5bd538dd235a
        else
          search --no-floppy --fs-uuid --set=root 4c74771b-8828-423c-b6b9-5bd538dd235a
        fi
        echo    'Loading Linux 3.11.0-12-generic ...'
        linux   /boot/vmlinuz-3.11.0-12-generic root=UUID=4c74771b-8828-423c-b6b9-5bd538dd235a ro   quiet splash $vt_handoff
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.11.0-12-generic
    }
    menuentry 'Ubuntu, with Linux 3.11.0-12-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.0-12-generic-recovery-4c74771b-8828-423c-b6b9-5bd538dd235a' {
    recordfail
        load_video
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt11'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11  4c74771b-8828-423c-b6b9-5bd538dd235a
        else
          search --no-floppy --fs-uuid --set=root 4c74771b-8828-423c-b6b9-5bd538dd235a
        fi
        echo    'Loading Linux 3.11.0-12-generic ...'
        linux   /boot/vmlinuz-3.11.0-12-generic root=UUID=4c74771b-8828-423c-b6b9-5bd538dd235a ro recovery nomodeset 
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.11.0-12-generic
    }
}
 
### END /etc/grub.d/10_linux ###
 
### BEGIN /etc/grub.d/20_linux_xen ###
 
### END /etc/grub.d/20_linux_xen ###
 
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt11'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11  4c74771b-8828-423c-b6b9-5bd538dd235a
    else
      search --no-floppy --fs-uuid --set=root 4c74771b-8828-423c-b6b9-5bd538dd235a
    fi
    linux16 /boot/memtest86+.bin
}
menuentry 'Memory test (memtest86+, serial console 115200)' {
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt11'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt11 --hint-efi=hd0,gpt11 --hint-baremetal=ahci0,gpt11  4c74771b-8828-423c-b6b9-5bd538dd235a
    else
      search --no-floppy --fs-uuid --set=root 4c74771b-8828-423c-b6b9-5bd538dd235a
    fi
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
 
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Recovery Environment (loader) (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-chain-266B-BBDC' {
    insmod part_gpt
    insmod fat
    set root='hd0,gpt3'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  266B-BBDC
    else
      search --no-floppy --fs-uuid --set=root 266B-BBDC
    fi
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry 'Windows 8 (loader) (on /dev/sda5)' --class windows --class os $menuentry_id_option 'osprober-chain-3A826EF0826EAFD5' {
    insmod part_gpt
    insmod ntfs
    set root='hd0,gpt5'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  3A826EF0826EAFD5
    else
      search --no-floppy --fs-uuid --set=root 3A826EF0826EAFD5
    fi
    drivemap -s (hd0) ${root}
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###
 
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
 
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
 
### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Grub (GNU GRand Unified Bootloader) — свободный загрузчик операционных систем, который используется во многих дистрибутивах Linux. Он позволяет выбирать операционную систему для загрузки при старте компьютера и управлять процессом загрузки системы, также поддерживает загрузку различных OS, включая различные версии Linux, Windows, macOS, позволяет настраивать параметры загрузки, создавать различные профили загрузки и выполнять другие задачи, связанные с загрузкой операционных систем.

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

GRUB (GNU GRand Unified Bootloader) — мощный и гибкий загрузчик операционных систем, который используется во многих дистрибутивах Linux и других операционных систем, таких как FreeBSD. GRUB предоставляет пользователю возможность выбора операционной системы или ядра, которое нужно загрузить при старте компьютера.

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

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

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

  1. Неправильная конфигурация: если Grub неправильно сконфигурирован или не обновлен после установки Windows 10, он может не видеть новую операционную систему.
  2. Изменения разделов диска: после установки Windows 10 могли произойти изменения в разделах диска, из-за чего Grub перестал её видеть..
  3. Проблемы с загрузочным сектором: некорректное обновление загрузочного сектора или MBR (Master Boot Record) могут привести к проблеме.
  4. Проблемы с UEFI/BIOS: некорректные настройки в UEFI или BIOS компьютера могут привести к тому, что Grub не сможет правильно обнаружить операционную систему.
  5. Поврежденные файлы загрузки: если файлы загрузки повреждены или отсутствуют, Grub не сможет их обнаружить.

Дальше расскажем, что же делать, если возникла такая проблема.

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

sudo mount -t ntfs-3g -o ro /dev/sda1

Система Windows установлена на разделе, который определяется в Linux, как /dev/sda1. Дальше запустите утилиту os-prober:

sudo os-prober

Если программа обнаружит Windows, останется обновить конфигурацию загрузчика Grub:

sudo update-grub

Или:

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

Если же этот способ не сработает, останется только вручную добавить пункт меню для Windows. Это не самое простое, но зато эффективное решение. Сначала нам нужно узнать UUID раздела диска, на который установлена Windows, например, /dev/sda1:

blkid /dev/sda1

Затем откройте файл /etc/grub.d/40_custom и добавьте туда такой код:

menuentry "Windows 10" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set B4A6AEB7A6AE7A0E
chainloader +1
}

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

sudo update-grub

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

Когда конфигурация обновлена вы можете перезагрузить компьютер и загружать Windows с помощью нового пункта. Таким образом, можно добавить несколько пунктов, только для разных разделов нужно указывать их UUID.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как активировать windows server 2016 standard evaluation
  • Российский аналог microsoft windows
  • Как снимать видео на компьютере без программ windows 10
  • Ярлык для сканирования для windows 10
  • Можно ли крякнуть windows 10