LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

ну вот ..

так как ты ОЧЕНЬ просил — вот тебе Python-скрипт --

#!/usr/bin/env python3
# -*- mode: python; coding: utf-8 -*-

assert str is not bytes

import os
import struct

EFI_VAR_PATH = '/sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c'
EFI_OS_INDICATIONS_BOOT_TO_FW_UI = 0x0000000000000001
REAL_REBOOT_CMD = 'reboot'

def reboot_to_firmware():
    with open(EFI_VAR_PATH, mode='rb') as fd:
        raw_efi_value = fd.read()
    
    efi_struct_format = '=IQ'
    efi_prefix, efi_value = struct.unpack(efi_struct_format, raw_efi_value)
    new_efi_value = efi_value | EFI_OS_INDICATIONS_BOOT_TO_FW_UI
    new_raw_efi_value = struct.pack(efi_struct_format, efi_prefix, new_efi_value)
    
    with open(EFI_VAR_PATH, mode='wb') as fd:
        fd.write(new_raw_efi_value)
    
    os.system(REAL_REBOOT_CMD)

if __name__ == '__main__':
    reboot_to_firmware()

сохрани его, сделай права на выполнение

chmod +x reboot-to-firmware.py

и радостно перезагружайся в UEFI :-)

./reboot-to-firmware.py

# P.S.: к сожалению мой ноутбук не умеет перезагружаться в UEFI , так как слишком старый, так что всё это слегка экспериментально :)

Исходная версия user_id_68054, :

ну вот ..

так как ты ОЧЕНЬ просил — вот тебе Python-скрипт --

https://gist.github.com/anonymous/b83ef9ae67f730054d82/raw/245856e0bde0df8e41...

сохрани его, сделай права на выполнение

chmod +x reboot-to-firmware.py

и радостно перезагружайся в UEFI :-)

./reboot-to-firmware.py

# P.S.: к сожалению мой ноутбук не умеет перезагружаться в UEFI , так как слишком старый, так что всё это слегка экспериментально :)