Как в grub добавить windows 10
Перейти к содержимому

Как в grub добавить windows 10

  • автор:

Не плучается снова добавить Windows 10 в grub.cfg

Пробовал изменить порядок ОС в grub-e с помощью утилиты grub-customizer, поднял в самый вверх свою Windows 10 далее сохранил изменения и перезагрузился и мое меню grub благополучно пропало. Пробую вернуть все назад но ничего не работает, буду благодарен за помощь.

Мои диски/разделы fdisk -l

Disk /dev/loop0: 55,45 MiB, 58130432 bytes, 113536 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop1: 4 KiB, 4096 bytes, 8 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop2: 61,85 MiB, 64835584 bytes, 126632 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop3: 247,93 MiB, 259948544 bytes, 507712 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop4: 134,4 MiB, 140914688 bytes, 275224 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop5: 50,98 MiB, 53432320 bytes, 104360 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop6: 219 MiB, 229638144 bytes, 448512 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop7: 32,3 MiB, 33865728 bytes, 66144 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/nvme0n1: 238,49 GiB, 256060514304 bytes, 500118192 sectors Disk model: HFM256GDJTNI-82A0A 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: EF748C74-6193-4A60-BB78-CA617F4D7792 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 206847 204800 100M EFI System /dev/nvme0n1p2 206848 239615 32768 16M Microsoft reserved /dev/nvme0n1p3 239616 285652961 285413346 136,1G Microsoft basic data /dev/nvme0n1p4 285652992 286719999 1067008 521M Windows recovery environment /dev/nvme0n1p5 286720000 500117503 213397504 101,8G Linux filesystem Disk /dev/nvme1n1: 931,53 GiB, 1000204886016 bytes, 1953525168 sectors Disk model: Samsung SSD 980 1TB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 16384 bytes / 131072 bytes Disklabel type: gpt Disk identifier: DB0CB571-70DC-45DE-8787-1F00CD8227D3 Device Start End Sectors Size Type /dev/nvme1n1p1 2048 1953521663 1953519616 931,5G Microsoft basic data Disk /dev/sda: 931,53 GiB, 1000204886016 bytes, 1953525168 sectors Disk model: ST1000LM049-2GH1 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: C7F5C196-19E8-47AC-965D-C27E4F62A8B6 Device Start End Sectors Size Type /dev/sda1 2048 1953523711 1953521664 931,5G Microsoft basic data Disk /dev/loop8: 164,78 MiB, 172761088 bytes, 337424 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop9: 65,1 MiB, 68259840 bytes, 133320 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop10: 55,5 MiB, 58183680 bytes, 113640 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop11: 65,22 MiB, 68378624 bytes, 133552 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop12: 219 MiB, 229638144 bytes, 448512 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop13: 54,24 MiB, 56872960 bytes, 111080 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/loop14: 42,18 MiB, 44220416 bytes, 86368 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes 
# # 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 if [ "$" = 2 ]; then set initrdfail= elif [ "$" = 1 ]; then set next_entry="$" set prev_entry= save_env prev_entry if [ "$" ]; then set initrdfail=2 fi fi if [ "$" ] ; then set default="$" set next_entry= save_env next_entry set boot_once=true else set default="0" fi if [ x"$" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi export menuentry_id_option if [ "$" ]; then set saved_entry="$" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault < if [ -z "$" ]; then saved_entry="$" save_env saved_entry fi > function initrdfail < if [ -n "$" ]; then if [ -n "$" ]; then if [ -z "$" ]; then set initrdfail=1 if [ -n "$" ]; then set prev_entry="$" save_env prev_entry fi fi save_env initrdfail fi; fi > function recordfail < set recordfail=1 if [ -n "$" ]; then if [ -z "$" ]; 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 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f 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=en_US insmod gettext fi terminal_output gfxterm if [ "$" = 1 ] ; then set timeout=30 else if [ x$feature_timeout_style = xy ] ; then set timeout_style=hidden set timeout=10 # Fallback hidden-timeout code in case the timeout_style feature is # unavailable. elif sleep --interruptible 10 ; then set timeout=0 fi 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 ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux_proxy ### function gfxmode < set gfxpayload="$" if [ "$" = "keep" ]; then set vt_handoff=vt.handoff=7 else set vt_handoff= fi > if [ "$" != 1 ]; then if [ -e $/gfxblacklist.txt ]; then if hwmatch $/gfxblacklist.txt 3; then if [ $ = 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 ### END /etc/grub.d/10_linux_proxy ### ### BEGIN /etc/grub.d/30_os-prober_proxy ### ### END /etc/grub.d/30_os-prober_proxy ### ### BEGIN /etc/grub.d/31_linux_proxy ### menuentry "Ubuntu" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi linux /boot/vmlinuz-5.11.0-41-generic root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro quiet splash $vt_handoff initrd /boot/initrd.img-5.11.0-41-generic >submenu "Advanced options for Ubuntu" < menuentry "Ubuntu, with Linux 5.11.0-41-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-41-generic-advanced-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi echo 'Loading Linux 5.11.0-41-generic . ' linux /boot/vmlinuz-5.11.0-41-generic root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro quiet splash $vt_handoff echo 'Loading initial ramdisk . ' initrd /boot/initrd.img-5.11.0-41-generic >menuentry "Ubuntu, with Linux 5.11.0-41-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-41-generic-recovery-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi echo 'Loading Linux 5.11.0-41-generic . ' linux /boot/vmlinuz-5.11.0-41-generic root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk . ' initrd /boot/initrd.img-5.11.0-41-generic >menuentry "Ubuntu, with Linux 5.11.0-27-generic" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-advanced-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi echo 'Loading Linux 5.11.0-27-generic . ' linux /boot/vmlinuz-5.11.0-27-generic root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro quiet splash $vt_handoff echo 'Loading initial ramdisk . ' initrd /boot/initrd.img-5.11.0-27-generic >menuentry "Ubuntu, with Linux 5.11.0-27-generic (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-27-generic-recovery-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi echo 'Loading Linux 5.11.0-27-generic . ' linux /boot/vmlinuz-5.11.0-27-generic root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk . ' initrd /boot/initrd.img-5.11.0-27-generic >menuentry "Ubuntu, with Linux 5.4.0-1058-oracle" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-1058-oracle-advanced-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi echo 'Loading Linux 5.4.0-1058-oracle . ' linux /boot/vmlinuz-5.4.0-1058-oracle root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro quiet splash $vt_handoff echo 'Loading initial ramdisk . ' initrd /boot/initrd.img-5.4.0-1058-oracle >menuentry "Ubuntu, with Linux 5.4.0-1058-oracle (recovery mode)" --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-1058-oracle-recovery-adda5833-f00a-4992-9434-f1f7ccedc28f' < recordfail load_video insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_gpt insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f else search --no-floppy --fs-uuid --set=root adda5833-f00a-4992-9434-f1f7ccedc28f fi echo 'Loading Linux 5.4.0-1058-oracle . ' linux /boot/vmlinuz-5.4.0-1058-oracle root=UUID=adda5833-f00a-4992-9434-f1f7ccedc28f ro recovery nomodeset dis_ucode_ldr echo 'Loading initial ramdisk . ' initrd /boot/initrd.img-5.4.0-1058-oracle >> ### END /etc/grub.d/31_linux_proxy ### ### BEGIN /etc/grub.d/32_linux_zfs ### ### END /etc/grub.d/32_linux_zfs ### ### BEGIN /etc/grub.d/33_linux_xen ### ### END /etc/grub.d/33_linux_xen ### ### BEGIN /etc/grub.d/34_memtest86+ ### ### END /etc/grub.d/34_memtest86+ ### ### BEGIN /etc/grub.d/35_os-prober_proxy ### ### END /etc/grub.d/35_os-prober_proxy ### ### BEGIN /etc/grub.d/36_uefi-firmware ### menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' < fwsetup >### END /etc/grub.d/36_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 $/custom.cfg ]; then source $/custom.cfg elif [ -z "$" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ### 

os-prober благополучно видит windows

/dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi 

Далее запускаю update-grub и перезагружаюсь…

root@pc:/home/tester# update-grub Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/init-select.cfg' Generating grub configuration file . Found linux image: /boot/vmlinuz-5.11.0-41-generic Found initrd image: /boot/initrd.img-5.11.0-41-generic Found linux image: /boot/vmlinuz-5.11.0-27-generic Found initrd image: /boot/initrd.img-5.11.0-27-generic Found linux image: /boot/vmlinuz-5.4.0-1058-oracle Found initrd image: /boot/initrd.img-5.4.0-1058-oracle Found linux image: /boot/vmlinuz-5.11.0-41-generic Found initrd image: /boot/initrd.img-5.11.0-41-generic Found linux image: /boot/vmlinuz-5.11.0-27-generic Found initrd image: /boot/initrd.img-5.11.0-27-generic Found linux image: /boot/vmlinuz-5.4.0-1058-oracle Found initrd image: /boot/initrd.img-5.4.0-1058-oracle Adding boot menu entry for UEFI Firmware Settings done 

Но результат нет

Пробовал сгенерить заново конфиг с помощью grub-mkconfig предварительно запустив os-prober

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

Но при перезагрузке как и раньше автоматом грузится моя убунта.

Как в Grub загрузить образ windows.iso

Создал мультизагрузочную флешку в линукс, но пока только с другими линукс дистрибутивами. Никак не могу заставить Grub запускать образы windows. Пробовал следующим образом:

menuentry "Windows 10" --class windows --class os < insmod ntfs insmod ntldr loopback loop /iso/Win_Pro_10_1607_64bit_Rus_2017.ISO root=(loop) ntldr (loop)/bootmgr >menuentry "Windows 7" < insmod ntfs insmod ntldr loopback loop /iso/Windows_7_64bit_Ultimate_ru.iso root=(loop) ntldr (loop)/bootmgr >

Весь день разбираюсь с этой темой, нашёл вариант скопировать содержимое образа в корень флешки, но мне это не подходит, так как образ не один.

Отслеживать
задан 10 мая 2022 в 0:59
90 9 9 бронзовых знаков
Если ваша цель — просто мультизагрузочная флешка, то, может, проще взять какой-нибудь Ventoy?
10 мая 2022 в 1:18

@andreymal, Ventoy, конечно, намного лучше и проще, но всё таки хотелось бы самому руками потыкать и понять, как это можно сделать

10 мая 2022 в 1:29

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если grub не принципиален и хочется простоты работы с установочными образами, рекомендую обратить внимание на Ventoy для того чтобы создать загрузочную флешку, необходимо всего лишь установить программу на флешку и скопировать обычным способом ISO образы на эту флешку, работает с разными системами.

введите сюда описание изображения

Компромиссное решение

Для наиболее полного ответа проделал эксперимент. К сожалению 32gb флешки не было под рукой, но хватило и 8gb

C помощью GParted разбил ее на 3 раздела:

введите сюда описание изображения

На второй раздел обычным способом скопировал файлы из iso (win10) Третий оставил пустым так как предположил если сработает со вторым то и с третьим заработает (по принципу индукции).

На первый раздел установил grub , у меня в системе он второй версии поэтому соответственно устанавливал ее:

  1. смонтровал первый раздел
mkdir /mnt/USB && mount /dev/sdb1 /mnt/USB 
  1. поставил:
grub-install --force --removable --no-floppy --target=i386-pc --boot-directory=/mnt/USB/boot /dev/sdb 
  1. скачал конфиг:
cd /mnt/USB/boot/grub wget pendrivelinux.com/downloads/multibootlinux/grub.cfg 
  1. внес изменения
 # This Menu entry brought to you courtesy of https://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ set timeout=60 set default=0 menuentry "Windows 10" < insmod part_msdos insmod ntfs insmod ntldr set root='hd0,msdos2' ntldr ($root)/bootmgr >menuentry "Reboot" < reboot >menuentry "Shut Down"

Значение для рута получил командой search -u UUID из под grub , для этого после загрузки с флешки можно нажать c после чего появится ожидание ввода команд grub> где и следует ввести комманду поиска. Сам UUID глянул в GParted :

введите сюда описание изображения

Таким образом распаковывая iso в разные разделы и находя их по UUID можно создать флешку с разными версиями Windows .

На заключительном этапе очень помог kvm , устанавливал так для KDE :

sudo apt-get install qemu-kvm

Для теста под linux достаточно ввести команду:

sudo kvm -boot c -drive file=/dev/sdb,cache=none -m 1024

Опция -m 1024 отвечает за оперативку, меньше делать не стоит, лучше больше.

В финале я добрался до приветствия, пришлось подождать минут 10.

Как добавить windows 10 в меню загрузки grub?

На ssd стояла windows 10.
Разбил hdd под установку linux mint, но после его установки загружалась только windows 10. Решил это чистой установкой Linux, установщик разбил диск как ему надо. Как итог linux грузится, windows 10 — нет, и кроме того не могу войти в настройки bios: меню загрузки там пустое, bios setup не открывается.
В меню загрузки grub есть только linux.
Есть ли способ добавить windows в меню загрузчика grub, как убедиться, что она сможет запуститься, и это не убьет работающий Linux?

5d113880dae20436574156.jpeg

Grub выглядит так:

По команде lsblk результат такой:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465,8G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi └─sda2 8:2 0 465,3G 0 part / sdb 8:16 0 118G 0 disk ├─sdb1 8:17 0 117,2G 0 part └─sdb2 8:18 0 790M 0 part

Для диска, на котором лежит windows: blkid /dev/sdb1

Device Boot Start End Sectors Size Id Type /dev/sdb1 * 2048 245839254 245837207 117,2G 7 HPFS/NTFS/exFAT /dev/sdb2 245839872 247457791 1617920 790M 27 Hidden NTFS WinRE

blkid /dev/sdb1. Странный лейбл раздела с windows 10. Критично ли это?

/dev/sdb1: LABEL="M-PM-^TM-PM-8M-QM-^AM-PM-:" UUID="2EE6EE17E6EDDF59" TYPE="ntfs" PARTUUID="d7209484-01"

upd
Добавил руками пункт загрузки в grub как написано в статье.

menuentry "Windows 10"

При выборе — error: invalid EFI file path.

ps. Если бы была возможность зайти в bios, с удовольствием бы снес все и накатил заново винду (или восстановил с загрузочной флешки). С проблемой столкнулся не впервые, но в прошлый раз пришлось прибегнуть к прошивке bios на программаторе. Хотелось бы обойтись без такой хирургии, тк не желательно отдавать ноут на несколько дней.

  • Вопрос задан более трёх лет назад
  • 26392 просмотра

2 комментария

Простой 2 комментария

Загрузчик GRUB и Windows

У каждой из операционной систем есть свой загрузчик, а у каждого жёсткого диска (область называется MBR) и раздела на диске область, в которую можно этот загрузчик установить.

При загрузке компьютера после завершения работы программы BIOS, происходит (по сути при завершении свой работы, BIOS сам запускает загрузчик) запуск загрузчика с диска (того который указан в BIOS как загружаемый или идущий первый в списке) установленный в загрузочной записи, т.е. в MBR (не с раздела, т.к. BIOS не может видеть таблицу разделов на дисках. Однако в будущих версиях такая возможность будет присутствовать, как например в EFI).

Дальше, в зависимости от того какой загрузчик был загружен (от Windows или Linux) и его настроек (времени ожидания выбора пунктов и т.д.) загружается соответствующая операционная система.

Различия загрузчиков

Понятно и очевидно, загрузчик от Windows больше приспособлен и ориентирован на загрузку самой ОС Windows, чем других операционных систем, поэтому он простой, функций у него мало и они спрятаны от пользователя.

Загрузчик от Linux, имеется ввиду GRUB, более функционален и позиционируется как универсальное средство загрузки различных операционных систем (а их десятки), учитывая их особенности.

Считается проще и логичнее использовать как основной загрузчик GRUB, так как он успешно загружает как Linux так и Windows различных версий.

Обычно, сначала устанавливается на компьютер Windows, при установке система помещает свой загрузчик в область MBR. Во время установки Linux, если вы выберите так же установить загрузчик на диск, загрузчик GRUB перезапишет предыдущий, а в свой файл настроек допишет запись о возможности загрузки Windows, и можно будет потом выбирать при загрузки компьютера, в меню загрузчика какую систему загружать.

Иногда случаются ситуации, когда линуксовый загрузчик вроде бы прописал возможность загрузить windows, но система не загружается, для этого необходимо в консоли от пользователя root выполнить команду:

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

утилита сканирует разделы на диске и добавит обнаруженные операционные системы в меню загрузки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *