Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Stary hardware na nowym software i przykładowe rozwiązanie problemów z tym związanych

Są ferie, czas odpoczynku od szkoły oraz termin na zajęcie się własnymi projektami. Ostatnio, podczas porządków znalazłem stary album. Oczywistym jest, że trzeba by te zdjęcia ocalić od zapomnienia i przekształcić do cyfrowej formy. Na szczęście w mojej dość sporej kolekcji „złomu komputerowego” znalazł się też skaner, na którym osiadła do tej pory dość spora ilość kurzu. Był to jakiś Tevion MD 6190. Przeleżał kilka lat w zapomnieniu, ale liczyłem na to, że będzie sprawny. Po krótkiej chwili znalazłem do niego zasilacz (nie był od kompletu, ale miał takie same parametry: 12V, 1.25A). Nadszedł czas na instalację tego cudownego sprzętu.

Podłączam skaner do komputera. Windows 10 informuje mnie o wykryciu nowego sprzętu. Uruchamiam aplikację do skanowania, już ciesząc się z łatwo odniesionego sukcesu, a tu kicha – nie wykryto skanera. Otwieram menedżer urządzeń i rzeczywiście – system nie zainstalował sterowników do tego skanera. Myślę sobie trudno, pod Win 10 nie chodzi – nie będę rozpaczał. Sterowników do Win 10 nie mam. Po krótkich poszukiwaniach w czeluściach Internetu znalazłem jedynie stery do starożytnego, porzuconego Windowsa XP, które pod nowym dziełem Microsoftu nawet się nie uruchamiają. Nie będę instalował kolejnego systemu dla jednego, starego skanera. Ale miałem jeszcze asa w rękawie – Debiana Jessie. Linuks podobno posiada wsparcie dla każdego starego trupa, więc postanowiłem skorzystać z tej możliwości.

Linuks, podobnie jak Windows, nie poradził sobie z obsługą tego urządzenia. Z witryny projektu sane (http://www.sane-project.org) dowiedziałem się, że ten skaner nie jest i nie będzie wspierany. Więc na ten trop szkoda było marnować czasu. Postanowiłem obrać najprostszą drogę do zwycięstwa – uruchomić Windows XP na Virtualboksie i tam zainstalować skaner i sterowniki do niego.

Nie byłbym sobą, gdybym poprzestał na skanowaniu przez wirtualnego XP’ka. Zadecydowałem, że moje rozwiązanie musi być transparentne, czyli otwieram na mojej 10-tce skrót „Skanuj” który uruchamia „kreatora skanera i aparatu fotograficznego” z Windows XP, a wyniki zapisuje do folderu np.: Obrazy na Win 10. Chodziło mi po głowie rozwiązanie podobne do Windows XP Mode w Win7. Zresztą, spójrz na poniższy screen, aby zobaczyć efekt końcowy moich prac. To był mój cel.

Całą pracę trzeba by zacząć od utworzenia wirtualnej maszyny z Windows XP, a potem zainstalowania na niej rzeczonego systemu. Pamiętajmy o włączeniu akceleracji 3D i 2D oraz przeznaczeniu maksymalnej ilości pamięci na RAM wirtualnej karty graficznej (Video Memory=128MB), dzięki czemu nasz XP nie będzie działał jak muł. Jeśli nasz Virtualbox nie ma Extension Pack do lepszej obsługi USB, to też należy to doinstalować. Ustawienia mojego XP prezentują się następująco:

Kolejny etap to instalacja systemu. Instalacja jak instalacja, nie ma tu zbyt wiele do gadania, zresztą nie to jest tematem tego wpisu.

XP zainstalowany. Doinstalujmy jeszcze Guest Additions z Virtualboksa, aby to wszystko lepiej działało i zabierajmy się za uruchomienie skanera. Przechwytujemy go za pomocą menu Devices->USB. XP wykrył skaner i woła o sterowniki. Instalujemy je, co odbywa się bez żadnych problemów. W zasadzie jeśli chciałbym jedynie przeskanować kilka fotek, to mógłbym to zrobić teraz, ale wszak, byłoby to za proste i za mało bajeranckie.

Zaczynamy więc właściwą pracę. Pierwsze nasze założenie jest takie, aby uruchomić tryb Seamless Mode (View->Seamless Mode). Ten właśnie tryb pozwoli nam na stworzenie „wrażenia” że ta aplikacja, którą uruchomimy w wirtualnym XP’ku uruchomiona jest natywnie. Wrażenie to szybko psuje menu start XP, które pojawia się nad tym z 10-tki. Rozwiązanie jest proste – wystarczy stworzyć bardzo prosty skrypt .bat o następującej treści:@echo off taskkill /f /im explorer.exe i wrzucić go do autostartu w wirtualnym XP.

Po restarcie systemu zauważymy problem, a mianowicie pewien rodzaj artefaktu graficznego – część tła z Windows XP przebija się do 10-tki. Nie jest to estetyczny widok i trzeba to naprawić.

Tak jak poprzednio, tak i tutaj rozwiązanie jest proste. Wystarczy wrzucić do autostartu skrót do jakiejś aplikacji, która minimalizuje się przy starcie. Ja użyłem tu menedżera zadań.
Po kolejnym restarcie naszego wirtualnego XP’ka zauważymy, że problem został rozwiązany. Ale w tym momencie powstaje kolejne pytanie – jak będziemy uruchamiali aplikacje z naszego wirtualnego systemu, skoro nie mamy dostępu ani do menu start, ani do pulpitu? To jest całe sedno i cel mojego wpisu – gdyż tu z pomocą przychodzi nam znane głównie bardziej zaawansowanym użytkownikom konsolowe narzędzia Virtualboksa – a mianowicie VBoxManage.

Żebyśmy w skryptach za każdym razem nie musieli podawać pełnej lokalizacji do tego (lub innych) plików z Virtualboksa, dodajmy tę ścieżkę do odpowiedniej zmiennej środowiskowej. Aby to zrobić, wchodzimy do właściwości systemu. Przechodzimy na zakładkę Zaawansowane a potem klikamy przycisk Zmienne środowiskowe. Wybieramy zmienną Path a następnie klikamy przycisk Edytuj. Klikamy Nowy i podajemy ścieżkę do folderu Virtualboksa, np.: C:\Program Files\Oracle\Virtualbox.

Teraz nadeszła pora na przetestowanie tego rozwiązania. Uruchom konsolę cmd i wpisz polecenie VBoxManage. Powinno zostać bez problemu rozpoznane i wyświetlić pomoc.
VBoxManage ma ogromne możliwości. Znaczna część opcji udostępnianych przez ten program jest niemożliwa do wykonania przy użyciu interfejsu graficznego. My zajmiemy się głównie jedną grupą opcji – guestcontrol, która umożliwia nam za pomocą konsoli na systemie hosta uruchomić aplikację na wirtualizowanym systemie.
Nas interesuje polecenie run. Musimy użyć przełącznika –exe (po którym podajemy ścieżkę do pliku wykonywalnego na wirtualnym systemie), --username i –password. Funkcja ta nie zadziała, jeśli nasze konto na wirtualnym systemie nie ma ustawionego hasła. Drugim warunkiem jest uruchomienie wirtualnej maszyny również z poziomu cmd (nie wiem, dlaczego te polecenia nie działają, kiedy XP uruchomimy z GUI, ale mniejsza o to). Musimy więc poznać jeszcze jedną grupę poleceń, a mianowicie startvm.
Składnia jest (po raz kolejny użyję tego słowa) prosta. Podajemy po prostu nazwę wirtualnej maszyny. Np.: VBoxManage startvm „Windows XP” –type GUITeraz możemy uruchomić w końcu nasz kreator skanera i aparatu fotograficznego. Plik tej funkcji to wiaacmgr.exe, który znajduje się w folderze System32. Wydajemy więc polecenie:VBoxManage guestcontrol "Windows XP" run --exe "C:\\WINDOWS\\system32\\wiaacmgr.exe" --username "Karol" --password "5554432"

Nazwa użytkownika i hasło mogą oczywiście być u ciebie inne. Po wydaniu tego polecenia powinniśmy ujrzeć efekt podobny do tego, jaki był na pierwszym screenie tego wpisu.
Sedno jest już prawie uchwycone. Zostały nam kosmetyczne poprawki. Pierwsza rzecz, którą zrobimy to optymalizacja szybkości. Uruchamianie i zamykanie XP’ka za każdym razem, kiedy chcemy skorzystać ze skanera jest nieoptymalne. Na szczęście Virtualbox ma taką funkcjonalność, która zwie się „zapisaniem stanu” wirtualnej maszyny. Nie możemy tego zrobić z poziomu GUI, więc musimy zrobić to z poziomu konsoli. Jeśli mamy uruchomionego XP’ka, to wydajmy polecenie:VBoxManage controlvm „Windows XP” savestate.
Najwłaściwsze byłoby utworzenie na systemie hosta skryptów bat, lub skrótów, które służyłyby do uruchomienia naszego XP’ka, a po skończonej pracy ze starym oprogramowaniem, do jego zamknięcia.

Ja u siebie zrobiłem to w następujący sposób: Plik zapisz_stan.bat zawierał polecenie do zapisania stanu wirtualnej maszyny, które było wymienione nieco wyżej. Plik uruchom.bat, oprócz wspomnianego wcześniej polecenia do uruchamiania wirtualnej maszyny, zawierał jeszcze jedną linijkę:

VBoxManage setextradata „Windows XP” GUI/Seamless on

Linijka ta odpowiada za uruchomienie wirtualnej maszyny od razu w trybie „Seamless”.
Główny plik skanuj.bat zawierał wspomniane wcześniej polecenie do uruchamiania aplikacji z systemu gościa z poziomu cmd.

Zostało nam jeszcze utworzenie filtra USB, dzięki któremu skaner po podłączeniu zawsze będzie przekazywany do wirtualnej maszyny. Z poziomu GUI wybieramy nasza wirtualną maszynę, uruchamiamy jej właściwości i na zakładce USB tworzymy filtr, wyglądający np.: tak jak poniżej.

Tworzymy jeszcze folder współdzielony:
Zmieniamy lokalizację folderu Moje Dokumenty w systemie Windows XP. Folder ten powinien znajdować się na naszym dysku współdzielonym. Dzięki temu wszystkie skany, zapisane przez kreator Windows XP zostaną zapisane bezpośrednio w folderze Moje Obrazy naszego systemu hosta.
To by było na tyle. Za pomocą tej kombinacji, którą przedstawiłem możemy nie tylko uruchomić stare oprogramowanie na nowym, ale również nowe na starym. Tym sposobem możesz dostarczyć np.: systemowi Windows XP najnowszego Internet Explorera/Microsoft Edge czy Office’a 2016 i własnie tym akcentem kończę dzisiejszy wpis :)
 

windows oprogramowanie porady

Komentarze

0 nowych
Berion   13 #1 22.01.2016 20:24

Bardzo lubię czytać o kombinatoryce i fajnie że Ci się chciało.

Ale ten skaner nie nadaje się do cyfryzacji zdjęć. Ma choćby małą rozdzielczość.

AlbatrosZippa   10 #2 22.01.2016 20:27

Ja mam skaner płaski Mustek, który ma wsparcie do XP. Ja mam na to jedną radę..... LINUX

  #3 22.01.2016 20:50

Bardzo przyjemne!

Astraltrooper   5 #4 22.01.2016 21:04

Zacnie wykombinowane milordzie :-D Przyznam szczerze że swego czasu też kombinowałem ze swoim starym skanerem i przekonałem się o kilku kwestiach. Skaner pomimo tego że przez lata nie był używany może fizycznie nie działać. Skanowanie czegokolwiek takim starym skanerem to męka raz że trwa to wieczność bo lampa robi wrażenie jakby rozgrzewała się w nieskończoność, a dwa jakość samych zdjęć też jakością nie grzeszy. Ale za sam pomysł niewątpliwie pochwała się należy :-)

dragon321   9 #5 22.01.2016 21:29

Nieźle pokombinowane. W VMWare Player(darmowy) masz podobne rozwiązanie i moim zdaniem nawet lepsze. Nie pokazuje Startu z gościa. Do uruchamiania aplikacji służy menu, które pokazuje się, jak gdzieś tam najedziesz(nie pamiętam dokładnie gdzie).

Mimo wszystko wirtualizacja ma sens, jak ma się odpowiednie zasoby. Chociaż przy dzisiejszych kilku rdzeniach i gigabajtach RAMu co za problem wirtualizować XP :D

jarodebombel   7 #6 22.01.2016 22:22

Stary, twój wpis spadł mi z nieba. Właśnie kombinuje jak pogodzić sprzęt ze wsparcem only XP z 10. Dzięki.

golem14   4 #7 22.01.2016 22:26

Znam ten ból Autorze, znam. Dokładnie to samo przerabiałem pół roku temu. Oczywiście bez takich fikuśnych hołubców jak Twoje, ale też ze skanerem. Nawet nie chodziło o to, że pod 8.1 nie ma sterowników, bo do Scanjeta G4010 są, ale o to, że próba przeinstalowania tychże spowodowała całkowity krach tego software'owego burdelu od HP. Też skończyło się na Virtualboxie. XP pod względem sterowników i obsługiwanego starego sprzętu jest nie do pobicia. teoretycznie mam Smasunga NC10 cały czas z XP, ale parametry prędkościowe i pamięciowe dyskwalifikują go ze skanowania. Dzięki za wpis może się przyda "Next time Gadget".

WolfX   12 #8 22.01.2016 22:35

Nieźle wykompinowane. Sam mam dwa stare skanery bez nowych driverów, ale u mnie Debian załatwił sprawę.

Shaki81 MODERATOR BLOGA  37 #9 22.01.2016 22:39

Rozwiązanie godne pochwały, jednakże najpierw piszesz, że nie chce Ci się instalować kolejnego systemu po czym to robisz. Troszkę konsekwencji by się przydało.

hind   2 #10 22.01.2016 22:54

Mmam jakiś stary skaner i u mnie poszło na sterach z XP (tryp kompatybilności), Oficjalny soft nie skanuje, ale da się skanować w gimpie

Meg@mind   4 #11 23.01.2016 14:24

@Berion: 1200 dpi w domowych warunkach wystarczy w zupełności. Na pewno lepsze to niż 600 dpi w drukarkach all-in-1, które szumią podobnie jak współczesne cyfrówki.

MrBeckham666   18 #12 23.01.2016 14:38

testowałem sporo virtualboxa i vmware i po dłuższych testach musze stwierdzić że vmware jest nieporównywalnie lepszy. Nie ma praktycznie z nim problemów i taki xp działa na nim dużo sprawniej. Wpis git ;o

  #13 23.01.2016 15:36

@MrBeckham666
Prawda, ale darmowa wersja VmWare ma sporo ograniczeń i strasznie śmieci w systemie.

Ciekawą opcją jest chyba postawienie hosta esxi, ale wymaga to osobnej maszyny która będzie serwerem maszyn wirtualnych, poza tym wymagania sprzętowe są dość spore.

  #14 23.01.2016 15:44

IMHO Zasoby dzisiaj nie są żadnym problemem, używam starego PC z core2 (seria 6) który bez problemu radzi sobie z wirtualnym windowsem 2000 i centosem.

Jac0b   6 #15 23.01.2016 21:21

A dodatkowa licencja na Windows'a XP zeby go legalnie postawic jako vm ta skad?

Magnum 44   16 #16 23.01.2016 23:34

@Shaki81: Może miał na myśli instalowanie na fizycznej maszynie w dual boocie? :P

karol221-10   9 #17 24.01.2016 08:48

@Magnum 44: Dokładnie to miałem na myśli
@Jac0b Znalazło się do eksperymentów starego XP'ka BOX :)

Autor edytował komentarz.
maker3   4 #18 24.01.2016 16:05

Ja mam jakiś stary skaner Mustek BearPaw. Model 2448CU PRO. Używałem go jeszcze na Win98SE. Później na Viście sterownik ledwo działał, ale szło skanować. Na 7 już chyba całkiem odmówił posłuszeństwa. Jak pojawił się Windows 8 to ku mojemu zdziwieniu Mustek wypuścił nowe sterowniki. Normalnie byłem w szoku. I tym sposobem mogę korzystać z ponad 10-letniego skanera na W10.

codeobiect   4 #19 25.01.2016 10:33

@AlbatrosZippa: W pracy miałem nie małą zagwozdkę z tym skanerem (nie pamietam dokładnie modelu), który też odmówił posłuszeństwa po przejściu na win 8, ale jakoś udało się zmusić go do działania (już nie pamiętam jak) miał po prostu działać do czasu aż zostanie zakupiony nowy, ale się udało. Co prawda czasami świrował, ale swoje zadanie wykonał.

zposp   4 #20 25.01.2016 18:42

VueScan pod Windowsem załatwia sprawę sterowników do starych skanerów. Niestety nie jest darmowy a cena jest taka, że chyba lepiej kupić nowy skaner.

  #21 26.01.2016 00:36

Trochę taka sztuka dla sztuki - za dużo kombinowania - lepiej to było zrobić w normalnym trybie VBOXa i wywalić wszystko po robocie, a nie kombinować... Widać, że są ferie...

MrBeckham666   18 #22 26.01.2016 15:28

@sdj (niezalogowany): śmieci w systemie co masz na myśli ? :)

edmun   12 #23 28.01.2016 18:19

genialne. wpis na pewno przejrzę na spokojnie żeby wszystko zrozumieć