LINUX.ORG.RU

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

 , , ,


0

2

Привет, ЛОР. Заранее извиняюсь за лютый оффтоп, но нужна помощь.

Дано: Система с 2-мя физически разными SSD. Один полностью отдан под Linux, другой полностью отдан под Windows. Раньше на диске с Linux стоял KDE Neon, и его загрузчик позволял грузить Windows (причем не помню, чтобы я особо что-то делал для этого), сейчас я переехал на Arch и возникла проблема.

Systemd-boot на диске с Arch про Windows ничего не знает, EFI не позволяет выбрать диск с Windows, он там загрузчика вообще не видит, судя по всему, вопрос: Как правильнее всего это дело оживить?

★★★★
Ответ на: комментарий от raspopov

Вот таблица разделов с Windows диска.

Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 980 PRO 1TB                 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4203B26F-A62C-4A2D-8C5C-3B20CA19456F

Device         Start        End    Sectors   Size Type
/dev/nvme0n1p1  2048      34815      32768    16M Microsoft reserved
/dev/nvme0n1p2 34816 1953523711 1953488896 931.5G Microsoft basic data

А вот с Linux

Disk /dev/nvme1n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 980 PRO 1TB                 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 49D8FBFC-73C3-40D9-B45E-42CA5A747A8D

Device             Start        End    Sectors   Size Type
/dev/nvme1n1p1      2048    2099199    2097152     1G EFI System
/dev/nvme1n1p2   2099200  106956799  104857600    50G Linux root (x86-64)
/dev/nvme1n1p3 106956800 1953523711 1846566912 880.5G Linux home
Jefail ★★★★
() автор топика
Ответ на: комментарий от Jefail

У тебя один EFI раздел на арче. Смотри в сторону os-prober здесь - https://wiki.archlinux.org/title/GRUB.

Я бы тебе посоветовал на «виндовом» диске свой EFI сделать, тогда в случае поломки соседнего диска хотя бы загрузиться сможешь. С последним на винфак))

PRN
()

Раньше в KDE Neon, видимо, стоял GRUB, он позволяет грузить другие ОС, теперь у тебя systemd-boot, он не позволяет.

Переустанови загрузчик винды на /dev/nvme1n1p1 и выбирай нужную ОС в меню загрузки UEFI.

Aceler ★★★★★
()

…другой полностью отдан под Windows

Вот тут ты ошибаешься.

Винда у тебя была «размазана по дискам». Установив другой линукс, ты, возможно, уничтожил загрузчик винды. Во всяком случае, ищи на ESP. Иначе, запускай восстановление винды и пусть она восстанавливает свой загрузчик.

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

systemd-boot, он не позволяет

man 7 systemd-boot:

During boot systemd-boot automatically assembles a list of boot entries from the following sources:

  • The Microsoft Windows EFI boot manager, if installed.

Скорее всего, ТС сам снёс уже имеющийся ESP раздел или данные на нём.

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

Понял, спасибо большое за информацию, буду делать загрузочную флешку с окнами и восстанавливать ее загрузчик, надеюсь оно мне Linux не сломает.

Специально взял 2 физически разных диска, чтобы меньше танцевать с dual boot, в итоге тут такие же приседания.

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

Специально взял 2 физически разных диска, чтобы меньше танцевать с dual boot, в итоге тут такие же приседания.

Так 2 физических диска недостаточно! Для независимости нужно иметь и 2 ESP раздела (по одному на каждый физ. диск).

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

Для независимости нужно иметь и 2 ESP раздела (по одному на каждый физ. диск).

Причём для установки Windows надо отключить другие диски с ESP, иначе она вежливо пропишется в существующий, вместо собственного. Это может быть и хорошо, но чревато ситуациями как в этой теме.

anonymous
()
Ответ на: комментарий от Jefail

Специально взял 2 физически разных диска, чтобы меньше танцевать с dual boot, в итоге тут такие же приседания.

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

Одна из особенностей - установщик будет использовать существующий esp раздел. Это разумный дефолт, но пользователь этого не видит и потом может вынуть диск с esp разделом или снести его.

Если нужны раздельные системы, то ставишь винду на отдельный диск отключив остальные (или хотя бы диски с esp разделами). Тогда винда будет самодостаточной с этого диска. Если вдруг будут проблемы с добавлением загрузчика винды в линуксовый из-за разных разделов, то можно тупо закинуть загрузчик с виндового раздела в линуксовый (зачем решать грамотно, если можно решить просто и быстро).

altwazar ★★★★★
()

Судя по тому что они на разных дисках, то и выбираются наверное во время запуска uefi например зажатой на клавиатуре кнопочкой. Возможно файлы efi должны быть на одном диске, с которого по умолчанию загрузка systemd-boot. Можно попробовать просто скопировать файлы и потом обновить записи bootctl, но это не точно. Выше уже написали что у TC только один esp раздел.

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

По моему опыту придётся ещё и uefi отключать, потому что виндовс первую запись в uefi перезаписывает, а не дописывает новую, поэтому нужно в uefi первым что-то выставить на съедение перед установкой виндовс.

drl
()
Ответ на: комментарий от Aceler

У меня в systemd-boot есть выбор windows при запуске, но возможно зависит от версии. К тому же я не помню когда его использовал, потому что предпочитаю сразу загрузку по умолчанию в uefi менять.

drl
()