Windows XP na dysku USB? Czemu nie.

31 komentarzy
Zastanawialiście się kiedyś, jak odpalić Windowsa XP na dysku USB?
Zwykle to kończyło się BSoD'em. "No dobrze ale jak się do tego zabrać?" - pewnie myślicie zniecierpliwieni ;)
Musimy się uzbroić w:
  • najlepiej drugi, działający system jedynej słusznej firmy
  • dysk USB
  • płytkę z Windowsem
  • jakiś program do zamiany plików w ISO (np. WinISO)
  • Majkroszoftowe CAB SDK
  • program do nagrywania płyt
  • no i w najważniejsze - cierpliwość ;)
Gdy mamy wszystko możemy zabrać się do roboty. Najpierw musimy zamienić płytkę Windowsową na plik ISO (w WinISO "Actions -> Make ISO" ;)) Kolejnym krokiem będzie wypakowanie plików (z folderu I386):
  • TXTSETUP.SIF
  • DOSNET.INF
  • USB.IN_
  • USBPORT.IN_
  • USBSTOR.IN_
Teraz trzeba rozpakować pliki, które mają "IN_" na końcu rozszerzenia. Aby to zrobić wystarczy odpalić "cabarc x PLICZEK.IN_". Po wypakowaniu można usunąć te pliki. Teraz pora zabrać się do modyfikacji plików.

Pierwszy plik - TXTSETUP.SIF

Najpierw przenosimy wybrane punkty z sekcji [InputDevicesSupport.Load] do [BootBusExtenders.Load] jak jest pokazane niżej:
[BootBusExtenders.Load]
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys

[InputDevicesSupport.Load]
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys
Teraz robimy to samo dla [BootBusExtenders] i [InputDevicesSupport]
[BootBusExtenders]
pci = "PCI-Bustreiber",files.pci,pci
acpi = "ACPI Plug & Play-Bustreiber",files.acpi,acpi
isapnp = "ISA Plug & Play-Bustreiber",files.isapnp,isapnp
acpiec = "Integrierter ACPI-Controllertreiber",files.none,acpiec
ohci1394 = "IEEE-1394-Bus-OHCI-konformer Anschlusstreiber",files.ohci1394,ohci1394
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor

[InputDevicesSupport]
usbehci = "Erweiterter Hostcontroller",files.usbehci,usbehci
usbohci = "Open Hostcontroller",files.usbohci,usbohci
usbuhci = "Universeller Hostcontroller",files.usbuhci,usbuhci
usbhub = "Standard-USB-Hubtreiber",files.usbhub,usbhub
hidusb = "HID-Parser",files.hidusb,hidusb
serial = "Treiber f�r seriellen Anschluss",files.none,serial
serenum = "Enumerator f�r seriellen Anschluss",files.none,serenum
usbstor = "USB-Speicherklassentreiber",files.usbstor,usbstor
usbccgp = "USB Generic Parent Driver",files.usbccgp,usbccgp
Następnie do sekcji [HiveInfs.Fresh] dodajemy AddReg = usbboot.inf,usbservices
Później na początek sekcji [SourceDisksFiles] dodajemy usbboot.inf = 1,,,,,,_x,3,,3

Następny plik - DOSNET.INF

Na początek sekcji [Files] dodajemy d1,usbboot.inf

No i kolejny plik - USB.INF

Zamień na pogrubione wartości w sekcjach [StandardHub.AddService] i [CommonClassParent.AddService]
[StandardHub.AddService]
DisplayName = %StandardHub.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender

[CommonClassParent.AddService]
DisplayName = %GenericParent.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbccgp.sys
LoadOrderGroup = Boot Bus Extender

Kolejnym plikiem będzie USBPORT.INF

W nim zamieniamy na pogrubione wartości w sekcjach [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] oraz [ROOTHUB.AddService]
[EHCI.AddService]
DisplayName = %EHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbehci.sys
LoadOrderGroup = Boot Bus Extender
[OHCI.AddService]
DisplayName = %OHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbohci.sys
LoadOrderGroup = Boot Bus Extender
[UHCI.AddService]
DisplayName = %UHCIMP.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbuhci.sys
LoadOrderGroup = Boot Bus Extender

[ROOTHUB.AddService]
DisplayName = %ROOTHUB.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\usbhub.sys
LoadOrderGroup = Boot Bus Extender


W pliku USBSTOR.INF zamieniamy/dodajemy następujące wartości w sekcji [USBSTOR.AddService]

[USBSTOR.AddService]
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3

ErrorControl = 1
ServiceBinary = %12%\USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender

Teraz powoli dochodzimy do końca :)
Tworzymy plik USBBOOT.INF zawierający:

[usbservices]

HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","DisplayName",0x00000000,"USB Mass Storage Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","ImagePath",0x00020000,"system32\DRIVERS\USBSTOR.SYS"
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\USBSTOR","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","DisplayName",0x00000000,"USB 2.0 Enhanced Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","ImagePath",0x00020000,"system32\DRIVERS\usbehci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbehci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","DisplayName",0x00000000,"USB2 Enabled Hub"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","ImagePath",0x00020000,"system32\DRIVERS\usbhub.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbhub","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","DisplayName",0x00000000,"Microsoft USB Universal Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","ImagePath",0x00020000,"system32\DRIVERS\usbuhci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbuhci","Type",0x00010001,1

HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","DisplayName",0x00000000,"Microsoft USB Open Host Controller Miniport Driver"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ErrorControl",0x00010001,1
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Group",0x00000000,"System Reserved"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","ImagePath",0x00020000,"system32\DRIVERS\usbohci.sys"
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Start",0x00010001,0
HKLM,"SYSTEM\CurrentControlSet\Services\usbohci","Type",0x00010001,1

Rozpakowane pliki IN_ teraz trzeba spakować poleceniem:
cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf
Na koniec wyrzucamy z pliku ISO: DOSNET.INF, TXTSETUP.SIF, USB.IN_, USBPORT.IN_, USBSTOR.IN_. Teraz dodajemy zmodyfikowane pliki USBBOOT.INF, DOSNET.INF, TXTSETUP.SIF, USB.IN_, USBPORT.IN_, USBSTOR.IN_. Ostatecznym krokiem będzie wypalenie płyty i instalacja systemu ;)

Ten artykuł jest bardzo wolnym tłumaczeniem artykułu How to boot Windows XP off a USB drive
Dodam od siebie, iż trzeba bardzo uważnie zamieniać/dodawać/etc w plikach bo bardzo łatwo można zrobić błąd i z takiej płyty już nie zainstalujemy systemu na naszym dysku USB.
Mam nadzieję, że ten artykuł was nie znudził :)

Walka z wiatrakami - BlueConnect na Ubuntu

12 komentarzy
Dzisiejszy wpis będzie (jak zapewne wszyscy domyślacie się o BlueConnecie - konkretniej Huawei E220 - na Ubuntu). Trochę mi zajęło zanim wszystko zaczęło działać. W dalszej części wpisu opiszę, jak uruchomić ten modemik pod Linuksem
Po pierwsze są nam potrzebne pakiety: wvdial i ppp (jak te pakiety zainstalować chyba każdy wie ;))
Kolejnym krokiem jest pobranie pliku huaweiAktBbo-i386.out (no i oczywiście odpalenie tego pliku)
Aby wszystko ładnie działało, musimy wyedytować 3 pliki -> /etc/wvdial.conf, /etc/ppp/peers/era, /etc/ppp/era-chat.
Pierwszy (u mnie) wygląda tak:
[Dialer huawei]
Init2 = AT
Init3 = AT&FE0V1X1&D2&C1S0=0
ISDN = 0
Modem = /dev/ttyUSB0
Modem Type = Analog Modem
Baud = 460800
[Dialer pin]
Init1 = AT+Cpin=1234
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Stupid Mode = 1
Modem Type = Analog Modem
ISDN = 0
Phone = *99#
Modem = /dev/ttyUSB0
Username = erainternet
Dial Command = ATDT
Password = erainternet
Baud = 460800

Oczywiście w sekcję pin wpisujemy swój pin.
Drugi plik (/etc/ppp/peers/era) wygląda tak:
updetach
debug
connect "chat -v -f /etc/ppp/era-chat"
/dev/ttyUSB0
230400
crtscts
local
noipdefault
defaultroute
usepeerdns
novj
nobsdcomp
nopcomp
noaccomp
noauth

No i przyszła pora na trzeci plik - era-chat:
ABORT "NO DIALTONE"
ABORT "NO ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
"" "AT"
OK "AT+CPIN=NASZPIN"
OK "AT&F"
OK "AT+CMEE=1"
OK 'AT+CGDCONT=1,"IP","erainternet"'
OK "ATDT*99***1#"


Bardzo możliwe, że pakiet ppp i pliki z nim związane nie są potrzebne - ale ja opisałem jak ja to zrobiłem ;)
Teraz jak to odpalić? Bardzo prosto - wvdial
W razie problemów z /dev/modem należy zrobić dowiązanie symboliczne z /dev/ttyUSB0 do /dev/modem
Gdyby jednak coś nie działało, należy ściągnąć sterowniki dostępne tutaj. Na tamtej stronie dostępny jest również program do monitorowania modemowego łącza.

Wtf?!

5 komentarzy
Ktoś może mi powiedzieć o co tutaj chodzi?
Od wczoraj (konkretniej od 14.00) nie mogę wejść na Joggera - z Archa i z Winzgrozy (TM)
Najdziwniejsze jest to, że na shellu ping odpowiadał, iż Jogger działa. Tak samo ElMonito nic nie wrzeszczał. A tu dzisiaj wchodzę z XeroBanka na jogger.pl - załadowało się!
Dowód:
Free Image Hosting at www.ImageShack.us
Free Image Hosting at www.ImageShack.us
A może ktoś tu mi wycina strony z dostępu?
edit: okazało się, że ktoś moim kosztem skanował porty...

Ciekawe...

Dodaj komentarz
...czy tylko u mnie wyświetla się inna strona w Operze Mini 4 i inna w Operze Mini 4.1 (beta). A może to dlatego, że Opera Mini 4 podaje się za Operę 10.00 na Windowsie 98?

No i znowu bałagan...

Dodaj komentarz
Taa... widok tramwajów stojących od pl. Grunwaldzkiego do ul. Tramwajowej (stan z 13:50) - bezcenne :S
Dobrze, że chociaż autobusy normalnie jeżdżą.

Jabberpl.org FAIL

2 komentarze
Może dlatego, że jestem niecierpliwy, zmieniłem jida na kubz(at)jabster.pl.
Czemu? Bo zdenerwowało mnie to, iż łączenie z jabberpl.org uzyskało nowy rekord - 4 minuty.