LINUX.ORG.RU

Сломался загрузчик после установки Linux рядом с Win10

 , ,


0

1

Всем привет. Я установил Manjaro рядом с Windows 10, но решил попробовать Fedora. По одной инструкции удалил папку /boot/efi/EFI/Manjaro из-под Linux, папку Windows не трогал. Затем удалил том с Manjaro из-под Windows. Установил Fedora с авторазметкой, но после загрузки меню GRUB не появляется, система сразу загружается в Fedora. Раздел Windows по-прежнему существует. Как я могу восстановить GRUB и загрузиться в Windows? При загрузке появляется сообщение: «Loading GRUB. Welcome to GRUB!». После этого система загружается сразу в Fedora. В меню загрузки BIOS отображаются только HDD и DVD. Папка Windows исчезла из каталога EFI, теперь там только «BOOT» и «fedora». Попробовал загрузиться с LiveCD boot-repair, но после проверки он пишет: «/boot detected. Please check the options.». Там даже нет кнопки восстановление. Вкладки MBR и GRUB недоступны. На всякий случай приложил отчеты с boot-repair. https://pastebin.ubuntu.com/p/7Ghmwdc824/ https://pastebin.ubuntu.com/p/FtVBsT2jkJ/


Оффтопик-лист (изменён 26.01.2022)

  1. Внешние ссылки, для просмотра которых требуется регистрация.

https://pastebin.ubuntu.com/p/7Ghmwdc824/ https://pastebin.ubuntu.com/p/FtVBsT2jkJ/

You need to be logged in to view this paste.

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

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)

Отчеты сам изучай, тебе полезней.

Папка Windows исчезла из каталога EFI

Намекает на то, что системы у тебя в разных режимах.

Все должно быть в одном режиме: ЕФИ, загрузчик, системы. Без этого никакая магия не поможет. С этого и начни.

andytux ★★★★★
()

У тебя есть ведь LiveFlash какого-нибудь Linux, верно?

Выложи выводы с него:

lsblk
sudo fdisk -l
sudo blkid -c /dev/null
sudo efibootmgr -v

для начала. Можешь прямо сюда и запостить: Как правильно копировать вывод терминала

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

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от andytux

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

Хотел всё по науке сделать, чтобы был один EFI раздел на диске, а не 3 с мусорными ошметками от прошлых установок. До сих пор не понимаю, что не так сработало. Впрочем, это проблема с многими UEFI — они такие глючные, что даже при 100% правильных действиях всё наперекосяк.

Так что теперь — только посмотреть, что сейчас на диске, и если нужно, то добавить запись руками. Более ничего, а то фиг его знает, сработает ли.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от naKovoNapalBaran

Сейчас поставлю в виртуалку Win10 и Fedora в дуалбуте, чтобы посмотреть, как должно быть в точности.

Но вообще из моих знаний — при классическом дуалбуте Windows и Linux в UEFI на EFI разделе лежат в отдельной директории загрузчик Windows, а в другой Linux.

И из меню UEFI можно выбирать, какой грузить. Именно поэтому во всех современных дистрибутивах при установке в дуалбуте в UEFI отключают os-prober — за ненадобностью.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от naKovoNapalBaran

Есть файлы загрузчиков на EFI разделе, что отформатированы в FAT32.

А есть записи в UEFI о том, какой файл с какого раздела грузить.

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

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

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

naKovoNapalBaran
()
Последнее исправление: naKovoNapalBaran (всего исправлений: 1)
Ответ на: комментарий от naKovoNapalBaran

Да, некоторые кривые UEFI в принципе грузят только один файл по пути для стандартного файла Windows с первого раздела. И это невозможно перенастроить.

Но файл в директории нужен. Иначе что грузить?

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от andytux

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

И в норме UEFI должны иметь возможность добавлять свои ключи, а не только дефолтный от MS.

На практике зачастую приходится или обходить это путем подписи утекшим ключом от MS, или отключением SecureBoot нафиг.

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

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid
[yuri@fedora ~]$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   100M  0 part 
├─sda2   8:2    0    16M  0 part 
├─sda3   8:3    0 367,1G  0 part 
├─sda4   8:4    0   521M  0 part 
├─sda5   8:5    0     1M  0 part 
├─sda6   8:6    0     1G  0 part /boot
└─sda7   8:7    0  97,1G  0 part /home
                                 /
sr0     11:0    1  1024M  0 rom  
zram0  252:0    0   3,7G  0 disk [SWAP]
[yuri@fedora ~]$ sudo fdisk -l
Диск /dev/sda: 465,76 GiB, 500107862016 байт, 976773168 секторов
Disk model: TOSHIBA MQ01ABF0
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Тип метки диска: gpt
Идентификатор диска: 52CF2BFF-E8EE-4BC1-8143-A09DE397AF91

Устр-во       начало     Конец   Секторы Размер Тип
/dev/sda1       2048    206847    204800   100M EFI
/dev/sda2     206848    239615     32768    16M Зарезервированный раздел Microso
/dev/sda3     239616 770049071 769809456 367,1G Microsoft basic data
/dev/sda4  975704064 976771071   1067008   521M Среда для восстановления Microso
/dev/sda5  770050048 770052095      2048     1M BIOS boot
/dev/sda6  770052096 772149247   2097152     1G Файловая система Linux
/dev/sda7  772149248 975704063 203554816  97,1G Файловая система Linux

Элементы таблицы разделов упорядочены не так, как на диске.


Диск /dev/zram0: 3,71 GiB, 3980394496 байт, 971776 секторов
Единицы: секторов по 1 * 4096 = 4096 байт
Размер сектора (логический/физический): 4096 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
[yuri@fedora ~]$ sudo blkid -c /dev/null
/dev/sda4: BLOCK_SIZE="512" UUID="4666354066353253" TYPE="ntfs" PARTUUID="3f2c7ebc-fc7e-4a7b-9e49-cbd206c0eb8c"
/dev/sda2: PARTLABEL="Microsoft reserved partition" PARTUUID="a85df863-349d-4a77-b94b-4e70d53a2223"
/dev/sda7: LABEL="fedora_localhost-live" UUID="6b8107cb-522f-48c5-99a4-d5de76ab0cbd" UUID_SUB="0a666a16-333f-4fcb-81d8-0d4a216aecfe" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="2c49c68b-0452-4e7c-9915-bf9b8ea054e9"
/dev/sda5: PARTUUID="1ed16122-1df5-43d3-9c85-567cfba219c3"
/dev/sda3: BLOCK_SIZE="512" UUID="AAB08A30B08A0355" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="680b3499-a313-4a83-a56e-82f828ddf318"
/dev/sda1: UUID="D005-43B4" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="51de354f-7c4b-4ce8-bfff-13f2c6077395"
/dev/sda6: UUID="7033bbfc-ac7f-4b1b-a315-e622c4863b1b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ed1f3d14-30b6-46e4-84b3-2f73f387e1af"
/dev/zram0: LABEL="zram0" UUID="46181e15-ca2c-4985-9b7c-05d310ebfc9a" TYPE="swap"
[yuri@fedora ~]$ sudo efibootmgr -v
EFI variables are not supported on this system.
ZGrain
() автор топика
Ответ на: комментарий от ZGrain

Беглый взгляд.

/dev/sda5 770050048 770052095 2048 1M BIOS boot

Намекает, что он таки вкорячил федору в легаси-режиме.

/dev/sda1 2048 206847 204800 100M EFI

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

andytux ★★★★★
()
Ответ на: комментарий от ZGrain

Скорее всего, никакой загрузчик Windows у тебя не ломался. Просто Fedora в BIOS режиме по очередности загрузки стоит выше, чем Windows в UEFI режиме.

А директория /boot/efi у тебя пуста потому, что твой текущий EFI раздел не примонтирован никуда, что для Fedora в BIOS режиме совершенно нормально.

Можешь сделать (чтобы посмотреть)

sudo mkdir /mnt/efi
sudo mount -o ro /dev/sda1 /mnt/efi
ls -laR /mnt/efi

— скорее всего, твои файлы для загрузки Windows в UEFI режиме на месте.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от andytux

Самое простое, скопировать на этот раздел грубЕФИ, весь. И настроить его на загрузку всех систем.

Угу, простое. В той теме, ссылку на которую ты же и привел, я как раз и помогал новичку на Fedora руками поставить GRUB2-EFI на первый EFI раздел на диске и добавить в UEFI запись о нём. Неудачно.

Слетел grub после обновления BIOS UEFI

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Это одна из ошибок. Не ставить, а скопировать. УЕФИ отвратителен, но есть у него и хорошие стороны. Любой загрузчик ставится простым копированием файлов. Почему-бы этим не пользоваться. И никакого chroot, уж его простым точно не назовешь.

andytux ★★★★★
()
Ответ на: комментарий от andytux

И откуда же он будет копировать файлы, которых вероятнее всего нет? Ну буквально.

Fedora же в BIOS режиме стоит. У него в /boot/efi вероятнее всего или пусто, или файлы-затычки без записей.

Если вообще пакеты есть в наличии. Впрочем, чего гадать…

ТС, покажи выводы:

ls -laR /boot/efi
rpm -qa | grep -i -e grub -e shim -e efi
Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid
[yuri@fedora ~]$ sudo ls -laR /boot/efi
/boot/efi:
итого 20
drwx------. 4 root root 4096 мая  5 00:29 .
dr-xr-xr-x. 7 root root 4096 июн 20 21:00 ..
drwxr-xr-x. 4 root root 4096 янв 20 04:44 EFI
-rw-r--r--. 1 root root   34 янв 20 21:42 mach_kernel
drwxr-xr-x. 3 root root 4096 янв 20 21:42 System

/boot/efi/EFI:
итого 16
drwxr-xr-x. 4 root root 4096 янв 20 04:44 .
drwx------. 4 root root 4096 мая  5 00:29 ..
drwx------. 2 root root 4096 июн 20 20:56 BOOT
drwx------. 2 root root 4096 июн 20 20:56 fedora

/boot/efi/EFI/BOOT:
итого 1828
drwx------. 2 root root   4096 июн 20 20:56 .
drwxr-xr-x. 4 root root   4096 янв 20 04:44 ..
-rwx------. 1 root root 742064 июн 15 19:38 BOOTIA32.EFI
-rwx------. 1 root root 946712 июн 15 19:38 BOOTX64.EFI
-rwx------. 1 root root  70776 июн 15 19:38 fbia32.efi
-rwx------. 1 root root  90280 июн 15 19:38 fbx64.efi

/boot/efi/EFI/fedora:
итого 12480
drwx------. 2 root root    4096 июн 20 20:56 .
drwxr-xr-x. 4 root root    4096 янв 20 04:44 ..
-rwx------. 1 root root     112 июн 15 19:38 BOOTIA32.CSV
-rwx------. 1 root root     110 июн 15 19:38 BOOTX64.CSV
-rwx------. 1 root root 1660168 июн  7 20:16 gcdia32.efi
-rwx------. 1 root root 2622728 июн  7 20:16 gcdx64.efi
-rwx------. 1 root root 1660168 июн  7 20:16 grubia32.efi
-rwx------. 1 root root 2622728 июн  7 20:16 grubx64.efi
-rwx------. 1 root root  678576 июн 15 19:38 mmia32.efi
-rwx------. 1 root root  857248 июн 15 19:38 mmx64.efi
-rwx------. 1 root root  946712 июн 15 19:38 shim.efi
-rwx------. 1 root root  742064 июн 15 19:38 shimia32.efi
-rwx------. 1 root root  946712 июн 15 19:38 shimx64.efi

/boot/efi/System:
итого 12
drwxr-xr-x. 3 root root 4096 янв 20 21:42 .
drwx------. 4 root root 4096 мая  5 00:29 ..
drwxr-xr-x. 3 root root 4096 янв 20 21:42 Library

/boot/efi/System/Library:
итого 12
drwxr-xr-x. 3 root root 4096 янв 20 21:42 .
drwxr-xr-x. 3 root root 4096 янв 20 21:42 ..
drwxr-xr-x. 2 root root 4096 мая  5 00:29 CoreServices

/boot/efi/System/Library/CoreServices:
итого 12
drwxr-xr-x. 2 root root 4096 мая  5 00:29 .
drwxr-xr-x. 3 root root 4096 янв 20 21:42 ..
-rw-r--r--. 1 root root  384 янв 20 21:42 SystemVersion.plist
[yuri@fedora ~]$ rpm -qa | grep -i -e grub -e shim -e efi
efi-filesystem-5-5.fc36.noarch
efivar-libs-38-2.fc36.x86_64
grubby-8.40-57.fc36.x86_64
python3-olefile-0.46-16.fc36.noarch
efibootmgr-16-12.fc36.x86_64
grub2-common-2.06-42.fc36.noarch
grub2-tools-minimal-2.06-42.fc36.x86_64
grub2-tools-2.06-42.fc36.x86_64
grub2-efi-ia32-2.06-42.fc36.x86_64
grub2-efi-x64-2.06-42.fc36.x86_64
grub2-pc-modules-2.06-42.fc36.noarch
fwupd-efi-1.3-1.fc36.x86_64
fwupd-plugin-uefi-capsule-data-1.8.1-1.fc36.x86_64
grub2-pc-2.06-42.fc36.x86_64
shim-x64-15.6-1.x86_64
shim-ia32-15.6-1.x86_64
grub2-tools-extra-2.06-42.fc36.x86_64
grub2-tools-efi-2.06-42.fc36.x86_64
grub2-efi-ia32-cdboot-2.06-42.fc36.x86_64
grub2-efi-x64-cdboot-2.06-42.fc36.x86_64
efi-srpm-macros-5-5.fc36.noarch
grub-customizer-5.1.0-9.fc36.x86_64
ZGrain
() автор топика
Ответ на: комментарий от ZGrain

Да, и попробуй пронажимать разные клавиши при включении, чтобы выбрать список вариантов загрузки. Есть шанс, что там есть вариант Windows в режиме UEFI.

И проверь настройки очередности и режима загрузки своего UEFI. Может у тебя BIOS-only выставился.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от andytux

Да, и строго говоря, если матплата умеет грузить как в UEFI, так и в BIOS режиме, то дуалбут ОС в разных режимах возможен.

Просто очень неудобен: при каждой загрузке руками в UEFI(BIOS) выбирать, что и в каком режиме грузить.

Vsevolod-linuxoid ★★★★★
()

По одной инструкции удалил

Там дальше в инструкции написано как всё переустановить.

загрузиться в Windows

На форуме winfaq помогают восстановить винду.

rupert ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

К сожалению, я абсолютно не знаком со структурой федоры. И нет под рукой, чтобы хоть что-то посмотреть. Да и груб нужен не абы какой. В случае убунту, берется груб из любого 64битного исо-образа. И в данном случае можно взять его. В общем случае, смотри здесь, пункт 9.

andytux ★★★★★
()

Восстановление загрузчика Windows

Ситуация: EFI раздел поврежден, удален.

Открываем консоль Shift + F10.

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

> diskpart
DISKPART> list volume
...

DISKPART> exit
...

Вместо C используем другую букву, если нужно:

> bcdboot c:\windows
tz4678_2
()
Ответ на: комментарий от ZGrain

Зайди в биос и выбери загрузку только через UEFI. Там должно быть меню Boot, далее что-то вроде выбора UEFI, Legacy, Both. Выбераешь UEFI. После этого винда начнет грузиться, а федора перестанет. Теперь можно переустанавливать федору.

rupert ★★★★★
()
Ответ на: комментарий от rupert

Абсолютно верно. Но, установив один раз в легаси, велик шанс, что он еще сто раз установит в легаси. Поэтому всегда говорю, изучай свой УЕФИ, тебе с ним жить!

andytux ★★★★★
()
Ответ на: комментарий от rupert

В биосе нет выбора режима загрузки. Сейчас устанавливаю Fedora, не подскажите как разметить правильно? Раньше всё автоматов ставилось без проблем. https://postimg.cc/fJD5gPXF

ZGrain
() автор топика
Ответ на: комментарий от ZGrain

Поставил

Теперь ты грузишься в UEFI. До этого ты грузился в legacy bios.

список Boot теперь вообще пуст.

Как он может быть пуст? Тебе нужно выбрать boot priority в биосе. Сначала поставь usb, потом ssd, потом windows.

rupert ★★★★★
()
Ответ на: комментарий от ZGrain

Если верить этому, то грубЕФИ есть. А вот загрузчика винды нет и следа. Если действительно так, то восстанавливать ЕФИ-загрузчик винды. Запускать средства восстановления Виндовс, в надежде что они справятся.

andytux ★★★★★
()
Ответ на: комментарий от rupert

Пришлось сделать чистую установку Win10 и Fedora встала правильно. Наверное загрузился с USB, а не UEFI: USB при установке Fedora. Ну и старые файлы с Manjaro возможно поломали загрузку. В прошлый раз ставил 5 дистрибутивов параллельно с Windows и проблем не было.

ZGrain
() автор топика
Ответ на: комментарий от ZGrain

Наверное загрузился с USB, а не UEFI: USB при установке Fedora

Наверно, да. Похоже в УЕФИ у тебя включен режим «ЕФИ+легаси».

старые файлы с Manjaro возможно поломали загрузку

А это невозможно. Вернее, возможно всякое, но крайне маловероятно.

andytux ★★★★★
()