mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 05:32:55 +00:00
[FREELDR] Unload freeldr.ini file before booting.
This commit is contained in:
parent
5cdb76094c
commit
e79e7bf53c
4 changed files with 12 additions and 6 deletions
|
@ -280,5 +280,6 @@ VOID RunLoader(VOID)
|
||||||
|
|
||||||
Reboot:
|
Reboot:
|
||||||
UiUnInitialize("Rebooting...");
|
UiUnInitialize("Rebooting...");
|
||||||
|
IniCleanup();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -164,6 +164,7 @@ LoadAndBootLinux(IN OperatingSystemItem* OperatingSystem,
|
||||||
RtlCopyMemory((PVOID)0x99000, LinuxCommandLine, LinuxCommandLineSize);
|
RtlCopyMemory((PVOID)0x99000, LinuxCommandLine, LinuxCommandLineSize);
|
||||||
|
|
||||||
UiUnInitialize("Booting Linux...");
|
UiUnInitialize("Booting Linux...");
|
||||||
|
IniCleanup();
|
||||||
|
|
||||||
DiskStopFloppyMotor();
|
DiskStopFloppyMotor();
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,7 @@ LoadAndBootBootSector(IN OperatingSystemItem* OperatingSystem,
|
||||||
}
|
}
|
||||||
|
|
||||||
UiUnInitialize("Booting...");
|
UiUnInitialize("Booting...");
|
||||||
|
IniCleanup();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't stop the floppy drive motor when we
|
* Don't stop the floppy drive motor when we
|
||||||
|
@ -148,6 +149,7 @@ LoadAndBootPartition(IN OperatingSystemItem* OperatingSystem,
|
||||||
}
|
}
|
||||||
|
|
||||||
UiUnInitialize("Booting...");
|
UiUnInitialize("Booting...");
|
||||||
|
IniCleanup();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't stop the floppy drive motor when we
|
* Don't stop the floppy drive motor when we
|
||||||
|
@ -206,6 +208,7 @@ LoadAndBootDrive(IN OperatingSystemItem* OperatingSystem,
|
||||||
}
|
}
|
||||||
|
|
||||||
UiUnInitialize("Booting...");
|
UiUnInitialize("Booting...");
|
||||||
|
IniCleanup();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't stop the floppy drive motor when we
|
* Don't stop the floppy drive motor when we
|
||||||
|
|
|
@ -103,12 +103,12 @@ WinLdrInitializePhase1(PLOADER_PARAMETER_BLOCK LoaderBlock,
|
||||||
TRACE("SystemRoot: %s\n", SystemRoot);
|
TRACE("SystemRoot: %s\n", SystemRoot);
|
||||||
TRACE("Options: %s\n", Options);
|
TRACE("Options: %s\n", Options);
|
||||||
|
|
||||||
/* Fill Arc BootDevice */
|
/* Fill ARC BootDevice */
|
||||||
LoaderBlock->ArcBootDeviceName = WinLdrSystemBlock->ArcBootDeviceName;
|
LoaderBlock->ArcBootDeviceName = WinLdrSystemBlock->ArcBootDeviceName;
|
||||||
strncpy(LoaderBlock->ArcBootDeviceName, ArcBoot, MAX_PATH);
|
strncpy(LoaderBlock->ArcBootDeviceName, ArcBoot, MAX_PATH);
|
||||||
LoaderBlock->ArcBootDeviceName = PaToVa(LoaderBlock->ArcBootDeviceName);
|
LoaderBlock->ArcBootDeviceName = PaToVa(LoaderBlock->ArcBootDeviceName);
|
||||||
|
|
||||||
/* Fill Arc HalDevice, it matches ArcBoot path */
|
/* Fill ARC HalDevice, it matches ArcBoot path */
|
||||||
LoaderBlock->ArcHalDeviceName = WinLdrSystemBlock->ArcBootDeviceName;
|
LoaderBlock->ArcHalDeviceName = WinLdrSystemBlock->ArcBootDeviceName;
|
||||||
LoaderBlock->ArcHalDeviceName = PaToVa(LoaderBlock->ArcHalDeviceName);
|
LoaderBlock->ArcHalDeviceName = PaToVa(LoaderBlock->ArcHalDeviceName);
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ WinLdrInitializePhase1(PLOADER_PARAMETER_BLOCK LoaderBlock,
|
||||||
|
|
||||||
LoaderBlock->LoadOptions = PaToVa(LoaderBlock->LoadOptions);
|
LoaderBlock->LoadOptions = PaToVa(LoaderBlock->LoadOptions);
|
||||||
|
|
||||||
/* Arc devices */
|
/* ARC devices */
|
||||||
LoaderBlock->ArcDiskInformation = &WinLdrSystemBlock->ArcDiskInformation;
|
LoaderBlock->ArcDiskInformation = &WinLdrSystemBlock->ArcDiskInformation;
|
||||||
InitializeListHead(&LoaderBlock->ArcDiskInformation->DiskSignatureListHead);
|
InitializeListHead(&LoaderBlock->ArcDiskInformation->DiskSignatureListHead);
|
||||||
|
|
||||||
|
@ -784,6 +784,7 @@ LoadAndBootWindowsCommon(
|
||||||
PLDR_DATA_TABLE_ENTRY KernelDTE;
|
PLDR_DATA_TABLE_ENTRY KernelDTE;
|
||||||
KERNEL_ENTRY_POINT KiSystemStartup;
|
KERNEL_ENTRY_POINT KiSystemStartup;
|
||||||
LPCSTR SystemRoot;
|
LPCSTR SystemRoot;
|
||||||
|
|
||||||
TRACE("LoadAndBootWindowsCommon()\n");
|
TRACE("LoadAndBootWindowsCommon()\n");
|
||||||
|
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
|
@ -820,6 +821,9 @@ LoadAndBootWindowsCommon(
|
||||||
Success = WinLdrLoadBootDrivers(LoaderBlock, BootPath);
|
Success = WinLdrLoadBootDrivers(LoaderBlock, BootPath);
|
||||||
TRACE("Boot drivers loading %s\n", Success ? "successful" : "failed");
|
TRACE("Boot drivers loading %s\n", Success ? "successful" : "failed");
|
||||||
|
|
||||||
|
/* Cleanup ini file */
|
||||||
|
IniCleanup();
|
||||||
|
|
||||||
/* Initialize Phase 1 - no drivers loading anymore */
|
/* Initialize Phase 1 - no drivers loading anymore */
|
||||||
WinLdrInitializePhase1(LoaderBlock,
|
WinLdrInitializePhase1(LoaderBlock,
|
||||||
BootOptions,
|
BootOptions,
|
||||||
|
@ -834,9 +838,6 @@ LoadAndBootWindowsCommon(
|
||||||
/* "Stop all motors", change videomode */
|
/* "Stop all motors", change videomode */
|
||||||
MachPrepareForReactOS();
|
MachPrepareForReactOS();
|
||||||
|
|
||||||
/* Cleanup ini file */
|
|
||||||
IniCleanup();
|
|
||||||
|
|
||||||
/* Debugging... */
|
/* Debugging... */
|
||||||
//DumpMemoryAllocMap();
|
//DumpMemoryAllocMap();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue