Как восстановить загрузчик windows 10 после установки linux
20 июл 2020, 01:15
19 июл 2020, 22:54
Здравствуйте.
На пк стоит два ssd на одном win10 на втором mint
Изначально отключил один ssd -> установил windows
Подключил второй ssd, отключил первый -> установил mint
Обновил grub и все работало нормально, перезагружаюсь, выбираю ОС и работаю, до сегодняшнего момента.
При попытке загрузится в windows он мне выдал что bootloader.efi не найден.
Вопрос, как лучше восстановить загрузчик винды, не убив при этом загрузчик линукса?
Как я это вижу, отключить ssd с mint, восстановить через usb с образом windows ее загрузчик, но не перезапишет ли он случайно при этом grub?
ОС: Linux Mint 20 Ulyana 64, Windows 10
DE: Cinnamon
Вывод inxi:
System:
Kernel: 5.4.0-40-generic x86_64 bits: 64 compiler: gcc v: 9.3.0
Desktop: Cinnamon 4.6.6 Distro: Linux Mint 20 Ulyana
base: Ubuntu 20.04 focal
Machine:
Type: Desktop Mobo: ASUSTeK model: STRIX B250F GAMING v: Rev X.0x
serial: UEFI: American Megatrends v: 0312 date: 01/05/2017
CPU:
Topology: Quad Core model: Intel Core i5-7500 bits: 64 type: MCP
arch: Kaby Lake rev: 9 L2 cache: 6144 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 27199
Speed: 800 MHz min/max: 800/3800 MHz Core speeds (MHz): 1: 800 2: 800
3: 800 4: 800
Graphics:
Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Micro-Star MSI
driver: nvidia v: 440.100 bus ID: 01:00.0
Display: x11 server: X.Org 1.20.8 driver: nvidia
unloaded: fbdev,modesetting,nouveau,vesa resolution: 1920×1080~60Hz
OpenGL: renderer: GeForce GTX 1060 6GB/PCIe/SSE2 v: 4.6.0 NVIDIA 440.100
direct render: Yes
Audio:
Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel bus ID: 00:1f.3
Device-2: NVIDIA GP106 High Definition Audio vendor: Micro-Star MSI
driver: snd_hda_intel v: kernel bus ID: 01:00.1
Sound Server: ALSA v: k5.4.0-40-generic
Network:
Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: 3.2.6-k
port: f000 bus ID: 00:1f.6
IF: enp0s31f6 state: up speed: 100 Mbps duplex: full mac:
IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A
Drives:
Local Storage: total: 1.05 TiB used: 58.91 GiB (5.5%)
ID-1: /dev/sda vendor: Western Digital model: WDS120G1G0A-00SS50
size: 111.79 GiB
ID-2: /dev/sdb vendor: Seagate model: ST1000DM010-2EP102 size: 931.51 GiB
ID-3: /dev/sdc type: USB vendor: Sony model: Storage Media size: 28.88 GiB
Partition:
ID-1: / size: 109.04 GiB used: 55.01 GiB (50.5%) fs: ext4 dev: /dev/sda2
Sensors:
System Temperatures: cpu: 29.8 C mobo: 27.8 C gpu: nvidia temp: 55 C
Fan Speeds (RPM): N/A gpu: nvidia fan: 0%
Info:
Processes: 235 Uptime: 2h 11m Memory: 15.57 GiB used: 6.24 GiB (40.1%)
Init: systemd runlevel: 5 Compilers: gcc: 9.3.0 Shell: bash v: 5.0.17
inxi: 3.0.38
Восстановление загрузчика Windows и Linux
Загрузчик Windows не воспринимает ничего кроме себя, поэтому его нужно ставить первым и в случае, когда использует только Windows и в случае, когда кроме него будут другие ОС.
1) Загружаемся с установочного диска Windows
2) Выбираем востановление системы
3) Выбираем средство восстановления “коммандная строка”
Далее действия зависят от ОС
Восстановление загрузчика Windows XP
Для восстановления загрузчкика Windows XP выполняем команды
fixboot fixmbr
Восстановление загрузчика Windows 7, 8
Для Windows 7 выполняем команды
bootrec /FixBoot bootrec /FixMbr
Параметр ScanOS (bootrec /scanos) покажет обнаруженные операционные системы. Если ничего не обнаружено, то fixboot и fixmbr не помогут.
-
Для восстановления системного раздела можно также использовать утилиты (загрузившись с live-CD/DVD/USB):
-
BCDboot[1] — выполняет инициализацию системного раздела с помощью файлов из образа операционной системы, установленной на томе С:
bcdboot C:\Windows /l ru-RU /s C:
bootsect /nt60 c: /mbr
- Для просмотра разделов и их изменения можно использовать утилиту DiskPart[3]
Восстанавливаем загрузчик Linux
загрузчик Grub 2
Эта инструкция поможет когда:
- Переустанавливали Windows и кроме него был ещё Linux, который стал невиден
- Linux перестал загружаться, даже будучи единственной ОС
1) Загружаемся с LiveCD (LiveDVD, LiveUSB)
2) Смотрим таблицу разделов:
$ sudo fdisk -l Устр-во Загр Начало Конец Блоки Id Система /dev/sda1 * 1 13 102400 7 HPFS/NTFS Раздел 1 не заканчивается на границе цилиндра. /dev/sda2 14 7749 62139420 7 HPFS/NTFS /dev/sda3 7750 23607 127377020 7 HPFS/NTFS /dev/sda4 23607 30402 54577153 5 Расширенный /dev/sda5 23607 30119 52301824 83 Linux /dev/sda6 30119 30402 2274304 82 Linux своп / Solaris /dev/sdb1 * 1 5099 40957686 7 HPFS/NTFS /dev/sdb2 5100 16142 88701952 7 HPFS/NTFS /dev/sdb3 16143 19457 26627737+ 83 Linux /dev/sdc1 1 30401 244196001 7 HPFS/NTFS
Ответ команды сокращён для наглядности. Видно, что в системе есть три диска. На двух первых есть загрузочные области и несколько разделов как Linux так и Windows (HPFS/NTFS). Нужно определиться какой из них будет восстанавливать (можно по очереди, отключив временно остальные диски). В случае с одним жёстким диском ситуация проще. Это будет /dev/sda
3) Монтируем Linux-раздел (здесь sda5, но если есть отдельный boot рездел, то нужно монтировать его), добавляем в него устройства и процессы, переходим в него, таким образом попадая в окружение ОС, которая установлена на компьютере:
$ sudo mount /dev/sda5 /mnt $ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /proc /mnt/proc $ sudo chroot /mnt
После перехода вам не придется использовать sudo, т.к. теперь все команды выполняются от рута (root):
4) Устанавливаем загрузчик
# grub-install /dev/sda
Если получили сообщение об ошибке, то обновляем информацию об устройсве /dev/sda и пробуем установить снова:
# grub-install --recheck /dev/sda # grub-install /dev/sda
5) Выходим в окружение LiveCD ОС, отмонтируем разделы и перезагружаем компьютер:
# exit $ sudo umount /mnt/dev $ sudo umount /mnt/proc $ sudo umount /mnt $ sudo reboot
последняя команда может быть заменена на альтернативную:
$ sudo shutdown -r now
- ↑BCDboot — это средство, которое используется для создания системного раздела или восстановления среды загрузки, расположенной в системном разделе. Системный раздел создается посредством копирования небольшого набора файлов среды загрузки из установленного образа Windows®. Средство BCDboot создает хранилище данных конфигурации загрузки (BCD) в системном разделе с новой загрузочной записью, которая позволяет загружать установленный образ Windows. (подробнее на официальном сайте Microsoft)
- ↑ Программа Bootsect.exe обновляет основной загрузочный код разделов диска, чтобы обеспечить переключение между Bootmgr и загрузчиком NT (NTLDR). Это средство можно использовать для восстановления загрузочного сектора компьютера. Это средство заменяет FixFAT и FixNTFS.
- ↑DiskPart — Это средство позволяет управлять объектами (дисками, разделами или томами) с помощью сценариев или команд, вводимых из командной строки (подробнее на официальном сайте Microsoft)
- Отключение Secure Boot в BIOS (UEFI)
- Пересоздание файла хранилища данных конфигурации загрузки (BCD)
- DiskPart — консольная утилита Windows для работы с разделами
Загрузчик Windows 10
После установки на gpt Ubuntu с grub-efi,при загрузке в windows 10 выводит синий экран с кодом: 0xc0000034 . Как можно восстановить/переустановить загрузчик windows 10,чтобы она грузилась на uefi с gpt? Заранее спасибо.
lenaon
29.01.21 20:25:32 MSK
Скорее всего достаточно будет загрузиться с установочного диска/флешки с шиндой и выбрать там «Восстановление». Только после этого потом придется восстанавливать убунту.
Zhbert ★★★★★
( 29.01.21 20:26:26 MSK )
Последнее исправление: Zhbert 29.01.21 20:26:34 MSK (всего исправлений: 1)
anonymous
( 29.01.21 20:27:43 MSK )
Ответ на: комментарий от Zhbert 29.01.21 20:26:26 MSK
Пункт: восстановление при заказе не помог.Через утилиты:bootrec/rebuildbcd,я пологаю,что можно только bios-mgr восстановить.Какие ещё способы?
lenaon
( 29.01.21 20:35:15 MSK ) автор топика
Ответ на: комментарий от anonymous 29.01.21 20:27:43 MSK
Именно то,что мне нужно,как я не догадался загуглить?
lenaon
( 29.01.21 20:36:12 MSK ) автор топика

Закинь загрузчик венды в системный раздел и переустанови адекватно граб (а лучше systemd-boot). Это первое, что пришло в голову. Переустановить все будет проще
Rot1 ★
( 29.01.21 20:39:03 MSK )
Ответ на: комментарий от Rot1 29.01.21 20:39:03 MSK
Можно поподробнее,не совсем понял откуда взять загрузчик винды и на какой раздел переместить?
lenaon
( 29.01.21 20:41:14 MSK ) автор топика
Ответ на: комментарий от lenaon 29.01.21 20:41:14 MSK

Раздел ESP, взять загрузчик можно из своего дистрибутива венды. Как выковыривать его оттуда не знаю. Можно попробовать bootrec /RebuildBcd из livecd
Rot1 ★
( 29.01.21 20:50:10 MSK )
Ответ на: комментарий от lenaon 29.01.21 20:41:14 MSK
Тебе нужно загрузиться с установочного диска Windows в uefi режиме.
Нажать shift+f10 чтобы открыть командную строку.
И далее установить файлы uefi загрузчика.
anonymous
( 29.01.21 21:02:44 MSK )
Ответ на: комментарий от anonymous 29.01.21 21:02:44 MSK
Спасибо за помощь.Есть вопрос:в /boot/EFI/MICROSOFT находятся файлы EFI для загрузок или это, что-то другое?
lenaon
( 29.01.21 21:28:08 MSK ) автор топика
Ответ на: комментарий от lenaon 29.01.21 21:28:08 MSK
Файлы efi загрузчика microsoft находятся в EFI/Microsoft/Boot
И ещё в EFI/Boot файл bootx64.efi, который является копией аналогичного файла из первого пути.
У тебя сейчас через этот файл, скорее всего, запускается grub.
anonymous
( 29.01.21 22:37:04 MSK )
Ответ на: комментарий от anonymous 29.01.21 22:37:04 MSK
Просто,есть бэкап с рабочей системой(ставил в предыдущий раз),хотел спросить э,что конкретно нужно заменить?
lenaon
( 29.01.21 22:55:02 MSK ) автор топика
Ответ на: комментарий от lenaon 29.01.21 22:55:02 MSK
Просто так скопировать файлы нельзя.
Точнее проблема в файле EFI/Microsoft/Boot/BCD, в котором находится конфигурация загрзчика.
В нём прописаны идентификаторы разделов и диска.
Так что тебе нужно использовать команду, ссылку на MSDN справку по которой я тебе привел.
Она скопирует файлы загрузчика и создаст правильную конфигурацию.
Вот как исправить загрузчик Windows 10 из Linux
Из-за агрессивного и территориального характера Windows 10 подобные проблемы будут возникать довольно часто. Вот почему рекомендуется установить Windows 10 перед установкой Linux в режиме двойной загрузки.
Linux гораздо менее навязчив и не повредит загрузчик Windows 10. Несмотря на это, после крупных обновлений Windows 10 «переустановка» Windows 10 все еще может пойти не так, как надо. Если это произойдет, вы можете исправить это с помощью Linux (Ubuntu), и мы предложили 3 метода ниже.
Как исправить ошибки загрузчика Windows 10 из Linux
- Используйте утилиту Boot Repair в Ubuntu
- Исправить загрузчик Windows 10 в Терминале
- Попробуй с LILO
Решение 1. Используйте утилиту Boot Repair в Ubuntu
Давайте начнем с самого простого метода. Вероятно, со знанием дела, Ubuntu поставляется с небольшой утилитой Boot Repair, которая исправляет повреждение загрузчика Windows 10 при запуске. Вам потребуется последняя версия загрузочной Ubuntu, установленной на вашем USB-накопителе. После этого вам необходимо установить утилиту и, не вмешиваясь в Терминал, восстановить загрузчик Windows 10.
- ЧИТАЙТЕ ТАКЖЕ: Не можете установить Linux с Windows 10? Вот что нужно сделать
Вот как это сделать за несколько простых шагов:
-
- Загрузите Ubuntu живую дистрибутивную версию здесь и подключите ее к USB. Вы можете сделать это с помощью универсального установщика USB (желательно). Важно использовать это приложение, иначе диск не будет загрузочным.
- Подключите диск и загрузитесь с него.
- Выберите вариант Попробуйте Ubuntu без установки . В случае сбоя откройте настройки BIOS/UEFI, отключите безопасную загрузку и повторите попытку.
- После загрузки Ubuntu нажмите Ctrl + Alt + T , чтобы открыть терминал.
- В командной строке запустите следующую строку и нажмите Enter после каждого:
- sudo add-apt-repository ppa: yannubuntu/boot-repair
- Обновление sudo apt
- sudo apt установить загрузчик
- Это должно установить Boot Repair application , и теперь вы можете найти его среди меню приложений.
- Откройте его, выберите Рекомендуемый ремонт и подождите, пока он не будет сделан.
Решение 2 – Исправить загрузчик Windows 10 в Терминале
Второй метод основан на Syslinux, запущенном через Терминал. Для установки и использования Syslinux для исправления загрузчика Windows 10 вам потребуется выполнить ряд команд.
Если вы не знакомы с тем, как они работают, мы советуем вам придерживаться первого метода. В противном случае шаги довольно просты, и вам просто нужно заменить ввод «sda» на букву системного диска Windows 10.
- Читайте также: брандмауэр Защитника Windows поддерживает подсистему Windows для Linux
Выполните следующие действия, чтобы исправить загрузчик Windows 10 с помощью Syslinux:
-
- Загрузитесь снова с загрузочного диска USB .
- Откройте Терминал .
- В командной строке введите следующую строку и нажмите Enter после каждого:
- sudo apt-get install syslinux
- sudo dd if =/usr/lib/syslinux/mbr.bin из =/dev/sda
- sudo apt-get install mbr
- sudo install-mbr -i n -p D -t 0/dev/sda
- Не забудьте заменить «sda» на системный диск Windows 10.
- После этого перезагрузите компьютер, и Windows 10 загрузится без проблем.
Решение 3 – Попробуйте с LILO
Последний метод использует LILO (Linux Loader), небольшую программу, отвечающую за управление двойной загрузкой. Процедура похожа на предыдущую, по крайней мере, для непривычного глаза.
В любом случае, если предыдущие два шага не сработали (первый должен решить проблемы с загрузчиком), LILO, безусловно, является удобной альтернативой.
- ЧИТАЙТЕ ТАКЖЕ: Загрузите долгосрочную поддержку Ubuntu 18.04 из Магазина Microsoft
Вот как можно исправить проблемы загрузчика Windows 10 с LILO через Linux Terminal:
- Загрузитесь снова с загрузочного диска USB .
- Откройте Терминал .
- В командной строке введите следующую строку и нажмите Enter после каждого:
- sudo apt-get install lilo
- sudo lilo -M/dev/sda mbr
- Перезагрузитесь, и все готово. Загрузчик Windows 10 исправлен.
С учетом сказанного мы можем завершить эту статью. Надеюсь, вам удалось решить проблему с загрузчиком Windows 10 в
