refs #1166 add ogFixBootSector()
parent
29752be51c
commit
57ab927976
|
@ -135,6 +135,27 @@ def ogSetWindowsName (disk, par, name):
|
||||||
#@exception OG_ERR_FORMAT Formato incorrecto.
|
#@exception OG_ERR_FORMAT Formato incorrecto.
|
||||||
#@exception OG_ERR_PARTITION Tipo de partición desconocido o no se puede montar.
|
#@exception OG_ERR_PARTITION Tipo de partición desconocido o no se puede montar.
|
||||||
#*/ ##
|
#*/ ##
|
||||||
|
def ogFixBootSector (disk, par):
|
||||||
|
partype = DiskLib.ogGetPartitionId (disk, par)
|
||||||
|
if partype not in [ '1', '4', '6', '7', 'b', 'c', 'e', 'f', '17', '700', 'EF00' ]:
|
||||||
|
SystemLib.ogRaiseError ([], ogGlobals.OG_ERR_PARTITION, '')
|
||||||
|
return
|
||||||
|
|
||||||
|
if not FileSystemLib.ogUnmount (disk, par):
|
||||||
|
SystemLib.ogRaiseError ([], ogGlobals.OG_ERR_PARTITION, '')
|
||||||
|
return
|
||||||
|
|
||||||
|
disk0 = str (int (disk) - 1)
|
||||||
|
|
||||||
|
tmpfile = tempfile.NamedTemporaryFile (prefix='ogFBS-', mode='w').name
|
||||||
|
with open (tmpfile, 'w') as fd:
|
||||||
|
fd.write (f"""disk={disk0}
|
||||||
|
main_part={par}
|
||||||
|
fix_first_sector=yes
|
||||||
|
""")
|
||||||
|
subprocess.run (['timeout', '--foreground', '--signal=SIGKILL', '5s', 'spartlnx.run', '-cui', '-nm', '-w', '-f', tmpfile], stdin=subprocess.DEVNULL)
|
||||||
|
|
||||||
|
os.remove (tmpfile)
|
||||||
|
|
||||||
|
|
||||||
#/**
|
#/**
|
||||||
|
@ -317,7 +338,7 @@ boot_entry=Herramienta de diagn<f3>stico de memoria de Windows
|
||||||
#ogWindowsRegisterPartition ("1", "1", "c:", "1", "1")
|
#ogWindowsRegisterPartition ("1", "1", "c:", "1", "1")
|
||||||
def ogWindowsRegisterPartition (registered_disk, registered_par, registered_vol, disk, par):
|
def ogWindowsRegisterPartition (registered_disk, registered_par, registered_vol, disk, par):
|
||||||
registered_vol = registered_vol[0].upper()
|
registered_vol = registered_vol[0].upper()
|
||||||
tmpfile = tempfile.NamedTemporaryFile (prefix='ogWBP-', mode='w').name
|
tmpfile = tempfile.NamedTemporaryFile (prefix='ogWRP-', mode='w').name
|
||||||
|
|
||||||
if not DiskLib.ogDiskToDev (registered_disk, registered_par):
|
if not DiskLib.ogDiskToDev (registered_disk, registered_par):
|
||||||
SystemLib.ogRaiseError ([], ogGlobals.OG_ERR_PARTITION, 'particion a registrar')
|
SystemLib.ogRaiseError ([], ogGlobals.OG_ERR_PARTITION, 'particion a registrar')
|
||||||
|
|
Loading…
Reference in New Issue