Jak mogę uruchomić program, zanim system Windows sam się uruchomi?

10

Wiem, że istnieje wiele aplikacji (takich jak te, które zarządzają partycjami takimi jak Partition Magic, Partition Logic, Easeus itp.), Które uruchamiają się jeszcze zanim system Windows zacznie się ładować (mam na myśli menedżera sesji).

Te aplikacje ładują się, wykonują żądane zadania i „ponownie przekazują token” do systemu Windows. Jak to robią te aplikacje? Czy istnieje sposób na zrobienie czegoś takiego w aplikacji?

Diogo
źródło
Zależy od tego, co rozumiesz przez „przed”, niektóre ładują kod z głównego rekordu rozruchowego.
Moab
Jak wspomniałem, mam na myśli przed Menedżerem sesji systemu Windows.
Diogo
„zanim uruchomi się Menedżer sesji” to nie to samo, co „zanim system Windows zacznie się ładować”. Te dwie rzeczy są całkiem różne części procesu uruchamiania systemu Windows NT 6.x .
JdeBP
@JdeBP: „takie jak te, które zarządzają partycjami takimi jak Partition Magic”
Diogo
Zarówno Moab i DM8 już wyjaśnione dlaczego , że nie był użytecznym przykładem. Rzeczywiście, Partition Magic nie działa w żadnym z punktów procesu, o który prosiłeś, ponieważ nie działa, zanim system Windows „nie zacznie się ładować” ani przed uruchomieniem Menedżera sesji. Chodzi o to, że twoje pytanie było niejasne i zarówno ono, jak i twoje powtórzenia są wewnętrznie sprzeczne.
JdeBP

Odpowiedzi:

12

W tym artykule Sysinternals wyjaśniono wpis rejestru. Ale aplikacja nie może używać żadnego z „podsystemowych” interfejsów API, takich jak Win32 (inne to interfejsy API POSIX i OS / 2). Musi korzystać z najczęściej nieudokumentowanego „natywnego” API NT. Zdecydowana większość aplikacji opracowanych dla systemu Windows nie jest czysto natywnymi aplikacjami API.

LawrenceC
źródło
Myślałem, że gdzieś przeczytałem, że został zabity w Vistę. Edytowano, aby poprawić.
LawrenceC
Bardzo dobry link. Niezwykle pouczające.
MBraedley,
Win32subsystem jest częścią menedżera sesji, więc musisz przepisać swoje niejasne pytanie .... en.wikipedia.org/wiki/Windows_NT_startup_process
Moab
2

Jak mogę uruchomić program jeszcze przed Windows?

Myślę, że zadajesz złe pytanie (w takim przypadku spójrz na menu Start> uruchomienie lub msconfig).

Jednak na wypadek, gdybyś naprawdę miał na myśli to, o co prosiłeś:

Jakiego rodzaju „programu” miałbyś na myśli?

Czy masz na myśli inny system operacyjny?
Spójrz na GRUB / GRUB2 / dowolny inny moduł ładujący

Czy masz na myśli aplikację DOS (np. Jakiś stary menedżer zasobów / klienta)?
Czy używasz Win9x? Jest to jedyna sytuacja, w której aplikacja DOS ma sens, jeśli chodzi o „ładowanie przed oknami”.
Jeśli nie używasz Win9x, prawdopodobnie chcesz uruchomić wiele systemów.

Czy masz na myśli aplikację systemu Windows? (jak w graficznej aplikacji przestrzeni użytkownika?)
Prosta odpowiedź brzmi: nie. (Możesz uruchomić go razem z oknami, ale nie PRZED.)

Czy masz na myśli automatyczne uruchamianie usługi Windows / demona / czegoś, co znajduje się w tle?
Pewnie; po prostu ustaw, aby uruchamiał się domyślnie. tzn. jeśli jest już zdefiniowany jako usługa, przejdź do panelu sterowania> narzędzia administracyjne> usługi.
Jeśli nie jest jeszcze zdefiniowany, możesz go dodać .

Czy faktycznie masz na myśli „program” działający przed systemem Windows (tj. Windows XP / Vista / 7)?
Czy możesz podać przykład czegoś, co musiałoby to zrobić?
Inne niż programy ładujące, oprogramowanie do szyfrowania dysku lub środowiska odzyskiwania (np. GRUB, program ładujący truecrypt lub dowolny z wielu wariantów oprogramowania do odzyskiwania).

DM8
źródło
Tytuł nie jest zbyt opisowy, ale w pytaniu jest przykład.
MBraedley,
W przeszłości używałem magii partycji, ale iirc, który był na bootowalnym CD.
DM8
Partition Magic można w pełni zainstalować (już to robiłem). Pytanie dotyczy tego, kiedy jest w pełni zainstalowany, a zmiany są wprowadzane w tabeli partycji. Komputer uruchomi się ponownie, a Partition Magic rozpocznie działalność, zanim system Windows zostanie w pełni załadowany i uruchomiony. Jest to również oprogramowanie anty-malware.
MBraedley,
@ MBraedley: zgodził się, ale to były rzeczy z ery Win9x, czy to nadal obowiązuje dzisiaj? (Tak, chciałbym wiedzieć, po prostu o to ciekawostki) ... także, uruchamianie pm8 z nośnika cd było znacznie prostszym rozwiązaniem, gdy chcesz edytować dysk / partycję rozruchową. Osobiście korzystałem z LiveCD w / gparted w ciągu ostatnich kilku lat do tego zadania. W każdym razie zaczynam myśleć, że pytanie OP jest prawdopodobnie związane z rozwojem, czymś, co złapało ultrasawlade, a ja tego nie zrobiłem :)
DM8
1
Jeśli chcesz wiedzieć, skorzystaj z hiperłącza w moim pierwszym komentarzu do pytania i przeczytaj. Odpowiedź jest tam. (-:
JdeBP