Выходные данные efibootmgr
указывают, что первым не -загрузочным элементом USB, указанным в BootOrder, является 0001, что соответствует строке Boot0001
-, которая является загрузчиком Windows. Таким образом, Windows 10 только что поднялась на вершину списка, как это иногда происходит во время крупных обновлений.
Сначала определите системный раздел EFI, используя UUID, указанный в выводе efibootmgr
:
# blkid | grep 8f77a3e-99ca-42d8-9191-96d66428a9f6
Это должно идентифицировать устройство Linux (, вероятно, что-то вроде /dev/sd*
), соответствующее фактическому ESP, используемому прошивкой. Убедитесь, что он установлен в /boot/efi
; некоторые дистрибутивы Linux фактически оставляют его отключенным по умолчанию.
Затем убедитесь, что /boot/efi/EFI/GRUB/grubx64.efi
или /boot/efi/EFI/arch/grubx64.efi
существуют.
Если ни один из них на самом деле не существует, запустите grub-install <disk device reported by blkid>
:, который должен это исправить.
Если один из этих grubx64.efi
файлов существует, вы можете добавить Linux обратно в порядок загрузки с помощью:
# efibootmgr -o 2001,0002,0004,0001,2002,2003
(Это соответствует «попробуйте сначала выполнить загрузку UEFI с жесткого диска USB, затем \EFI\GRUB\grubx64.efi
с раздела ESP, затем \EFI\arch\grubx64.efi
с раздела ESP, затем вернуться к загрузчику Windows и параметрам загрузки с DVD и сети».)
Как правило, последний шаг — это единственное, что вам понадобится после крупного обновления Windows, но если что-то действительно привело к полной перезаписи содержимого раздела ESP, вам также может понадобиться шаг grub-install
.
sed -n '
/ P /p #If line contains " P ", print it
/ P /!H #Else, append it to hold space
${ #On last line
x #Exchange hold space with pattern space
s|\n|| #Remove first extra newline
p #Print
}' file
Образец исполнения с эквивалентным -вкладышем:
$ cat file
foo 1 some-string
P another-string
bar 5 and-another-string
APstring
A P string
ipsum
ARP
P VC
$ sed -n '/ P /p;/ P /!H;${x;s|\n||;p;}' file
P another-string
A P string
P VC
foo 1 some-string
bar 5 and-another-string
APstring
ipsum
ARP