Opis programu DOS dla Windows Millenium
Ciekawostki | Dvd,Mp3 | Ebiznes | Gry komputerowe | Internet | Kościół i Internet | Oprogramowanie | Sprzęt | DOS for MEHermann Apfelbock, Krzysztof DaszkiewiczWindows Me nie daje się uruchomić ani zrestartować w trybie DOS. Tymczasem wielu użytkowników potrzebuje trybu rzeczywistego, aby uruchamiać starsze programy i w razie awarii przeprowadzać naprawę systemu. Odzyskasz go za pomocą narzędzi, które zamieszczamy na płycie CD-ROM.
Przez drzwi kuchenne do trybu rzeczywistego Po wykonaniu operacji (de)instalacyjnych zauważysz czasami, że przed uruchomieniem Windows modyfikowane są pewne pliki systemowe. Komunikat informuje, że czynność ta może trwać kilka minut, jednak system jest zazwyczaj gotów już po kilku czy kilkunastu sekundach. Za wykonanie tej operacji odpowiedzialny jest plik WININIT.EXE - w Windows Me podobnie jak w poprzednich wersjach systemu począwszy od Windows 95. Wininit to program dosowy. Zostaje przywołany podczas restartu, jeżeli na dysku umieszczony jest plik konfiguracyjny WININIT.INI. Ten z kolei został utworzony podczas ostatniej sesji w systemie Windows, jeśli użytkownik instalował lub odinstalowywał oprogramowanie za pomocą specjalnych programów instalacyjnych. Najpierw Windows, potem DOS i znowu Windows - po co aż tak zagmatwana procedura? Jest konieczna z bardzo prostej przyczyny. W Windows istnieją bowiem pliki systemowe, które po wczytaniu przez cały czas pozostają w pamięci operacyjnej. Tym samym są zablokowane przed modyfikacjami. Aby umożliwić usuwanie lub zamianę tych zbiorów, od dawna stosuje się (we wszystkich wersjach Windows 9.x) najprostszą sztuczkę. Modyfikacje zbiorów systemowych są odkomenderowane do trybu MS-DOS, co wymaga dodatkowego restartowania systemu. Ze względu na konieczność zapewnienia kompatybilności z poprzednimi wersjami systemu projektanci Windows Me nie mieli innego wyjścia - DOS miał się znaleźć jak najdalej od użytkownika, lecz nadal być dostępny na potrzeby Windows. Teoretycznie można uruchomić tryb MS-DOS, zamieniając nazwę dowolnego programu dosowego, np. NC.EXE (Norton Commander), na WININIT.EXE i usuwając zbiór konfiguracyjny WININIT.INI. Jednak praktyka wykazuje, że pozornie bezbłędna procedura nie ma racji bytu. Jej funkcjonowanie uniemożliwia windowsowy plik COMMAND.COM. Powyższa metoda nie da się zrealizować bez dodatkowej, zewnętrznej powłoki, a ponadto wymagałaby ciągłego zamieniania nazw plików. Na dłuższą metę byłoby to bardzo uciążliwe. Jeden bajt przechytrza Windows Command - dosowy interpreter poleceń - został w pewnym sensie "okaleczony" na potrzeby trybu MS-DOS w Windows Me. Podczas gdy posłusznie wykonuje swoje obowiązki po wczytaniu z dyskietki startowej, odmawia działania, gdy zostaje uruchomiony z twardego dysku C:. W tym przypadku program przechodzi w nieskończoną pętlę, z której jedyne wyjście prowadzi przez restart komputera za pomocą kombinacji klawiszy [Ctrl Alt Del]. Założyliśmy, że prawdopodobnym powodem tego zachowania jest kontrola, z którego napędu jest wczytywany system operacyjny. Nasze przypuszczenie okazało się trafne. Udało nam się nie tylko zlokalizować, lecz również elegancko "załatać" sztuczny mechanizm w kodzie programu. Wystarczy przejść pod adres 6EAF w pliku COMMAND.COM i zamienić figurujący tam bajt 03 na 02. Mówiąc jaśniej, COMMAND.COM przechodzi w sztucznie wbudowaną pętlę (nieskończoną) tylko wtedy, gdy jako napęd startowy wykryje napęd B:. Zatem zapętlenie programu jest niemożliwe. Napęd B: (jeżeli jest w ogóle zainstalowany w komputerze) nie może bowiem z założenia pełnić roli napędu startowego. Dlatego po wykonaniu powyższych czynności plik COMMAND.COM odzyskuje w Windows Me pełną funkcjonalność. Istnieje wiele metod obejścia dosowej blokady w Windows Me. W odróżnieniu od nich prezentowane przez nas rozwiązanie ma zasadniczą zaletę. Modyfikacja jednego bajta (patrz wyżej) to jedyna manipulacja w pliku, która jest konieczna do przywrócenia trybu MS-DOS. A jeśli korzystasz z innego interpretera poleceń, np. programu 4DOS, nie jest konieczna nawet ta jedyna modyfikacja. (Prawie) wszystko na płycie CD Przypuszczamy, że po przeczytaniu powyższego opisu doświadczeni użytkownicy komputera są w stanie własnoręcznie sklecić własny wiersz poleceń w trybie rzeczywistym. Jednak wcale nie musisz zadawać sobie takiego trudu. Na płycie CD-ROM znajdziesz bowiem pliki pomocne przy "skonstruowaniu" trybu MS-DOS. Skopiuj je do dowolnego katalogu na twardym dysku. Najbardziej istotną rolę pełni zbiór wykonywalny SETUP.EXE, który automatycznie wykonuje wszystkie konieczne operacje. Najpierw odszukuje plik WININIT.EXE i zmienia jego nazwę na WININIT2.EXE. Potem kopiuje plik WININIT.BIN z katalogu źródłowego do docelowego, zmieniając przy tym jego nazwę na WININIT.EXE. Sprawdza, czy jest konieczna modyfikacja wspomnianego bajtu w zbiorze COMMAND.COM - jeśli tak, wykonuje to automatycznie. W razie potrzeby tworzy ponadto pusty plik WININIT.INI. Późniejszą powłoką trybu rzeczywistego stanie się nowy (skopiowany przez SETUP.EXE) plik WININIT.EXE, z którego będziesz mógł przywoływać wiersz poleceń DOS-u. Pierwotna wersja zbioru WININIT.EXE (która teraz figuruje pod nazwą WININIT2.EXE) w dalszym ciągu wykonuje powierzone jej zadania. Kiedy jest potrzebna, zostaje przywołana automatycznie. Powłoka programu Wininit jest uruchamiana tylko w przypadku, gdy na dysku znajduje się plik o nazwie WININIT.INI. Program instalacyjny, który zamieszczamy na płycie CD-ROM, przejmuje także utworzenie tego pliku. Jedyne, co pozostawiliśmy do zrobienia użytkownikowi, to przywołanie zbioru wykonywalnego WININIT.EXE z poziomu Windows. Uczyniliśmy to specjalnie, chcąc pozostawić Tobie decyzję o tym, czy tryb rzeczywisty ma być przywoływany standardowo, czy raczej opcjonalnie. Jeżeli podczas każdorazowego wczytywania systemu operacyjnego, chcesz mieć wybór pomiędzy powłoką Windows i trybem MS-DOS, załóż po zainstalowaniu naszych plików skrót do zbioru WININIT.EXE w folderze Autostart. (Przywołaj w tym celu okno Explorera, przejdź do katalogu C:\WINDOWS-\MENU START\PROGRAMY\AUTOSTART, po czym wskaż menu Plik | Nowy | Skrót. Podaj pełną ścieżkę dostępu w polu Wiersz poleceń - C:\WINDOWS\WININIT.EXE i zastosuj się do dalszych poleceń kreatora skrótu). Jeśli tryb MS-DOS jest Ci potrzebny sporadycznie, wystarczy kliknąć dwukrotnie ikonę pliku WININT.EXE w katalogu C:\WINDOWS, a następnie zrestartować system. Coś dla majsterkowiczów Oprócz plików wykonywalnych zamieszczamy na dołączonej płycie CD-ROM kod źródłowy obu zbiorów (znajduje się w zbiorach SETUP.BAS i WININIT.BAS). Dzięki temu uzyskasz nie tylko wgląd w proste metody ich działania, lecz na dodatek będziesz mógł je zmodyfikować zależnie od własnych potrzeb. Jednak nie zarejestrowaliśmy przypadku, w którym konieczna byłaby jakakolwiek modyfikacja kodu do poprawnego działania startera trybu DOS. Oprócz tego zamieszamy alternatywną wersję programu w pliku WININIT(OPTIMIZED).BIN. Nie różni się w działaniu od poprzedniej, lecz została zoptymalizowana pod kątem możliwie oszczędnego użytkowania pamięci operacyjnej. Jeśli zdecydujesz się zamienić zainstalowany uprzednio WININIT.EXE na ten plik, uzyskasz w trybie MS-DOS co najmniej 550 KB wolnego miejsca w konwencjonalnej pamięci RAM (przy użyciu standardowego pliku obszar wolnego miejsca nie przekracza 500 KB). Zwróć jednak uwagę, że alternatywna wersja Wininit generuje niekiedy błędy przydziału pamięci (memory allocation errors). Jeśli zadowala Cię pojemność pamięci, która jest dostępna przy zastosowaniu standardowego pliku, powinieneś zrezygnować z eksperymentów agresywnego wykorzystywania pamięci operacyjnej. Wybór programu dotyczy tylko trybu MS-DOS i nie ma wpływu na ilość wolnej pamięci w Windows. Nowe możliwości Czy rzeczywiście wierzysz w to, że tryb MS-DOS został usunięty po to, aby skrócić o pięć sekund czas wczytywania systemu? Albo dlatego, że sterowniki DOS-u negatywnie wpływałyby na stabilność Windows Me? Naszym zdaniem, usunięto DOS po to, aby Windows Me przypominał skromną wersję Windows 2000. Ponadto uszczelniono w ten sposób mechanizm nadzorowania i naprawiania plików systemowych. Nie udostępniamy powyższych plików po to, aby udowodnić, że Windows Me nie uwolnił się od platformy DOS-u. Dzięki nim możesz: 1. Uruchamiać wszystkie starsze programy dosowe, które nie działają prawidłowo lub w ogóle, gdy są przywoływane z poziomu okna trybu MS-DOS. Należą do nich edytory dyskowe (np. Norton DiskEdit firmy Symantec), partycjonery (np. Partition Magic 6.0), inne narzędzia, a także dosowe gry i programy antywirusowe. W ten sposób zaoszczędzisz trochę pieniędzy, gdyż nie musisz kupować aktualizacji tych programów. 2. Wczytywać wszystkie sterowniki dosowe, jeśli możliwe jest ładowanie z poziomu wiersza poleceń. Nie można uruchamiać tylko tych sterowników, które wymagają przywołania z poziomu pliku CONFIG.SYS. 3. Wykonywać operacje w Rejestrze (możliwe także użycie polecenia regedit /d ...) w celu naprawienia nieuruchamiającego się systemu Windows - bez konieczności korzystania z dyskietki startowej. 4. Modyfikować pliki, które są ści-śle monitorowane przez Windows Me (pamiętaj, że jest to ryzykowne). Zobacz też: Windows ME — ostatni cesarz oraz Windows ME — ostatni Mohikanin opr. JU/PO |