diff --git a/ogclient/functions/ogBootMbrGeneric b/ogclient/functions/ogBootMbrGeneric new file mode 100755 index 0000000..48cde7f --- /dev/null +++ b/ogclient/functions/ogBootMbrGeneric @@ -0,0 +1,22 @@ +#!/usr/bin/python3 + +import sys +import argparse +from SystemLib import ogHelp +from BootLib import ogBootMbrGeneric + +parser = argparse.ArgumentParser (add_help=False) +parser.add_argument ('disk') + +if 2 == len (sys.argv) and 'help' == sys.argv[1]: + #parser.print_help() sale en inglés aunque la locale indique otra cosa + ogHelp ('ogBootMbrGeneric', 'ogBootMbrGeneric int_ndisk', ['ogBootMbrGeneric 1']) + sys.exit (0) + +args = parser.parse_args() +ret = ogBootMbrGeneric (args.disk) + +if ret is not None: + if ret == True: sys.exit (0) + elif ret == False: sys.exit (1) + else: print (ret) diff --git a/ogclient/lib/python3/BootLib.py b/ogclient/lib/python3/BootLib.py index 66cd379..a75442d 100644 --- a/ogclient/lib/python3/BootLib.py +++ b/ogclient/lib/python3/BootLib.py @@ -133,6 +133,17 @@ def ogBootMbrXP (disk): #@exception OG_ERR_NOTFOUND Tipo de partición desconocido o no se puede montar. #*/ ## +def ogBootMbrGeneric (disk): + DISK = DiskLib.ogDiskToDev (disk) + if not DISK: return None + subprocess.run (['ms-sys', '-z', '-f', DISK]) + subprocess.run (['ms-sys', '-s', '-f', DISK]) + +# Firma necesaria para Windows equipos UEFI + with open ('/proc/sys/kernel/random/uuid', 'r') as fd: + kernel_random_uuid = fd.read().split ('-')[0] + signature = f'0x{kernel_random_uuid}' + subprocess.run (['ms-sys', '-S', signature, DISK])