Added disable Fast Startup enable Hibernation

* Addresses issue #87
This commit is contained in:
2Shirt 2019-05-10 20:33:46 -06:00
parent 6e53e7c7d2
commit 823de2dd9e
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
3 changed files with 39 additions and 8 deletions

View file

@ -85,6 +85,11 @@ def create_system_restore_point():
run_program(cmd)
def disable_fast_startup():
"""Disable Fast Startup."""
write_registry_settings(SETTINGS_FAST_STARTUP, all_users=True)
def disable_windows_telemetry():
"""Disable Windows 10 telemetry settings with O&O ShutUp10."""
extract_item('ShutUp10', silent=True)
@ -95,6 +100,12 @@ def disable_windows_telemetry():
run_program(cmd)
def enable_hibernation():
"""Enable hibernation."""
cmd = ['powercfg', '/hibernation', 'on']
run_program(cmd)
def enable_regback():
"""Enable RegBack."""
write_registry_settings(SETTINGS_REGBACK, all_users=True)

View file

@ -155,6 +155,14 @@ SETTINGS_EXPLORER_USER = {
},
}
# Fast Startup
SETTINGS_FAST_STARTUP = {
# Disable Fast Startup
r'SOFTWARE\Policies\Microsoft\Windows\System': {
'DWORD Items': {'HiberbootEnabled': 0},
},
}
# LibreOffice
LIBREOFFICE_XCU_DATA = '''<?xml version="1.0" encoding="UTF-8"?>
<oor:items xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

View file

@ -73,9 +73,9 @@ SETUP_ACTIONS = OrderedDict({
'Classic Start': {'New': True, 'Fab': True, 'Cur': False, 'HW': False, 'Function': config_classicstart, 'Win10 only': True,},
'Explorer (user)': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': config_explorer_user, 'Win10 only': True,},
'Explorer (system)': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': config_explorer_system, 'Win10 only': True,},
#'Disable Fast Startup': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': TODO, 'Win10 only': True,},
#'Enable Hibernation': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': TODO, 'Win10 only': True,},
'Disable telemetry': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': disable_windows_telemetry, 'Win10 only': True,},
'Disable Fast Startup': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': disable_fast_startup, 'If answer': 'Fast-Hiber', 'Win10 only': True,},
'Enable Hibernation': {'New': True, 'Fab': True, 'Cur': True, 'HW': False, 'Function': enable_hibernation, 'If answer': 'Fast-Hiber', 'Win10 only': True,},
'Enable RegBack': {'New': True, 'Fab': True, 'Cur': True, 'HW': True, 'Function': enable_regback, 'Win10 only': True,},
'Windows 10 Updates': {'New': True, 'Fab': True, 'Cur': True, 'HW': True, 'Function': config_windows_updates, 'Win10 only': True,},
'Enable BSoD mini dumps': {'New': True, 'Fab': True, 'Cur': True, 'HW': True, 'Function': enable_mini_dumps,},
@ -133,16 +133,19 @@ SETUP_ACTION_KEYS = (
)
SETUP_QUESTIONS = {
# AV
'ESET': {'New': None, 'Fab': None, 'Cur': None, 'HW': False},
'MSE': {'New': None, 'Fab': None, 'Cur': None, 'HW': False},
'ESET': {'New': None, 'Fab': None, 'Cur': None, 'HW': False},
'MSE': {'New': None, 'Fab': None, 'Cur': None, 'HW': False},
# Fast Startup / Hibernation
'Fast-Hiber': {'New': None, 'Fab': None, 'Cur': None, 'HW': False},
# LibreOffice
'LibreOffice':{'New': None, 'Fab': None, 'Cur': None, 'HW': False},
'LibreOffice': {'New': None, 'Fab': None, 'Cur': None, 'HW': False},
# Ninite
'Base': {'New': True, 'Fab': True, 'Cur': True, 'HW': False},
'Missing': {'New': False, 'Fab': True, 'Cur': False, 'HW': False},
'Standard': {'New': True, 'Fab': True, 'Cur': False, 'HW': False},
'Base': {'New': True, 'Fab': True, 'Cur': True, 'HW': False},
'Missing': {'New': False, 'Fab': True, 'Cur': False, 'HW': False},
'Standard': {'New': True, 'Fab': True, 'Cur': False, 'HW': False},
}
# pylint: enable=bad-whitespace,line-too-long
@ -196,6 +199,15 @@ def get_answers(setup_mode):
if answers['LibreOffice'] is None:
answers['LibreOffice'] = ask('Install LibreOffice?')
if answers['Fast-Hiber'] is None:
if global_vars['OS']['Version'] == '10':
print_standard(' ')
print_standard('Disable Fast Startup and enable Hibernation?')
print_standard(' Recommended for SSDs, optional for HDDs')
answers['Fast-Hiber'] = ask(' Proceed?')
else:
answers['Fast-Hiber'] = False
return answers