refs #2367 fix winboot/kexec #78

Merged
nserrano merged 1 commits from fix-winboot into main 2025-07-02 09:59:48 +02:00
2 changed files with 10 additions and 4 deletions

View File

@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.22.5] - 2025-07-02
### Fixed
- Fixed booting windows using winboot/kexec
## [0.22.4] - 2025-07-01 ## [0.22.4] - 2025-07-01
### Changed ### Changed

View File

@ -189,12 +189,12 @@ def ogBoot (disk, par, nvramperm=False, params=''):
winboot = os.environ.get ('winboot', '') winboot = os.environ.get ('winboot', '')
if 'kexec' == winboot: if 'kexec' == winboot:
# Modo de arranque en caliente (con kexec). # Modo de arranque en caliente (con kexec).
for f in glob.glob (f'{ogGlobals.OGLIB}/grub4dos/*'): cp_cmd = f'cp {ogGlobals.OGLIB}/grub4dos/* {mntdir}'
shutil.copy2 (f, mntdir) subprocess.run (cp_cmd, shell=True)
disk0 = int(disk)-1 disk0 = int(disk)-1
par0 = int(par)-1 par0 = int(par)-1
subprocess.run (['kexec', '-l', f'{mntdir}/grub.exe', '--append=--config-file=root (hd{disk0},{par0}); chainloader (hd{disk0},{par0})/{loader}; tpm --init']) subprocess.run (['kexec', '--load', f'{mntdir}/grub.exe', '--append=--config-file=root (hd{disk0},{par0}); chainloader (hd{disk0},{par0})/{loader}; tpm --init'])
subprocess.Popen (['kexec', '-e']) subprocess.Popen (['kexec', '--exec'])
else: else:
# Modo de arranque por reinicio (con reboot). # Modo de arranque por reinicio (con reboot).
subprocess.run (['dd', 'if=/dev/zero', f'of={mntdir}/ogboot.me', 'bs=1024', 'count=3']) subprocess.run (['dd', 'if=/dev/zero', f'of={mntdir}/ogboot.me', 'bs=1024', 'count=3'])