Karol Stilger

This user hasn't shared any biographical information

Homepage: http://stilger.eu


Posts by Karol Stilger

SP1 dla Windows 7 i Windows Server 2008 R2 – garść informacji

Co będzie nowego w SP1 dla Windows 7?

Nic:) SP1 dla Windows 7 nie będzie zawierał żadnych nowych funkcjonalności. Zawierał będzie tylko poprawki do bieżących funkcji. Poprawka SP1 dla Windows 7, jest oczywiście rollupem wszystkich poprzednich poprawek.

Za to SP1 dla Windows Server 2008 R2 będzie zawierać za to nowe funkcjonalności:

Remote FX – w największym skrócie jest to lepsze wsparcie dla obsługi video i aplikacji 3D w sesjach RDP. Więcej informacji na blogu Microsoft Virtualization Team.

Hyper-V Dynamic Memory – możliwość zarządzania użyciem pamięci przy większej ilości wirtualnych maszyn, umożliwia wybór między wydajnością a ilością wirtualnych maszyn. Bardzo przydatne przy utrzymywaniu wielu serwerów wirtualnych lub desktopów wykorzystujących VDI. Więcej o Hyper-V Dynamic Memory na blogu Microsoft Virtualization Team.

Podobnie jak SP1 dla Windows 7 zawierał będzie wszystkie poprzednie poprawki.

Jedna ciekawa informacja związana z SP1, ponieważ miała być początkowo częścią SP1 ale Microsoft zdecydował się na wydzielenie jej z Service Packa 1 i szybsze dostarczenie do swoich klientów. Mowa o Windows XP Mode, które do tej pory było dostępne tylko dla komputerów wspierających wirtualizację. Od dziś Windows XP Mode działa również na komputerach bez sprzętowego wsparcia dla wirtualizacji. Najnowszą wersję Windows XP Mode działającą na maszynach bez wsparcja dla wirtualizacji można pobrać z witryny Windows XP Mode and Windows Virtual PC Home. Dostępność Windows XP Mode dla poszczególnych wersji Windows 7 nie zmieniła się i w dalszym ciągu Windows XP Mode działa na Windows 7 Ultimate, Enterprise i Professional.

źródła poza informacjami od grupy produktowej Windows:

Windows XP Mode now accessible to more PCs – The Windows Blog

Windows XP Mode and Windows Virtual PC Home

Explaining Microsoft RemoteFX – Microsoft Virtualization Team Blog

Dynamic Memory Coming To Hyper-V – Microsoft Virtualization Team Blog

Moje webcasty o Windows Server Foundation

Na TechNet Edge pojawiły się moje dwa webcasty o Windows Server 2008 R2 Foundation. Na początek warto przedstawić co to takiego. Foundation to wersja Windows Server 2008 R2 dedykowana dla bardzo małych organizacji, umożliwia stworzenie do 15 kont użytkowników. Z założenia ma być pierwszym lub jedynym serwerem w firmie. Rozprowadzany jest przez partnerów OEM wraz ze sprzętem. Ma stanowić fundament dla środowiska IT małej firmy. W przypadku rozwoju firmy i potrzeby większej ilości kont użytkowników można przeprowadzić upgrade to pełnej wersji Windows Server.

Pierwszy z webcastów ma tytuł: Windows Server Foundation: Serwer plików + Archwizacja. Webcast prezentuje w jaki sposób wykorzystywać serwer plików i w jaki sposób skonfigurować backup serwera w małej firmie, można go obejrzeć w okienku poniżej lub pobrać z Edge.

Mój drugi webcast ma tytuł: Windows Server Foundation: Dostęp zdalny. Opisuje podstawowe metody zdalnego zarządzania Windows Server 2008 R2 Foundation, można go również pobrać z Edge.

Zapraszam do obejrzenia też innych polskich webcastów dotyczących Foundation, można je obejrzeć pod tym adresem.

źródła, poza własnym doświadczeniem:

Windows Server 2008 R2 Foundation – witryna anglojęzyczna

Windows Server 2008 R2 Foundation – witryna polskojęzyczna

TechNet Edge – polskie webcasty

TFS: Problem po przeniesieniu Data-Tier

Przeniosłem bazy danych SQL na których działa TFS na innego SQL i zaczęły się problemy:) Po poprawnym przeniesieniu baz danych, skonfigurowaniu Reporting Services, uzupełnieniu konfiguracji o nową nazwę Data-Tier, przebudowaniu kostki Team System i po przeniesieniu baz danych WSS 3.0 wszystko wydaje się działać poprawnie. Co prawda cała procedura jest dobrze udokumentowana to jednak wydaje mi się, że zapomniano w niej jednak o jednej rzeczy.

Po zakończeniu operacji od czasu do czasu w event logu zaczął pojawiać się następujący wpis:

Event Type: Information
Event Source: TFS Services
Event Category: None
Event ID: 3007
Date:  2/12/2010
Time:  9:09:27 AM
User:  N/A
Computer: MACHINENAME
Description:
TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 2/12/2010 8:09:27 AM
Machine: MACHINENAME
Application Domain: /LM/W3SVC/3/Root/Services-2-129104063734642635
Assembly: Microsoft.TeamFoundation.Server, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process Name: w3wp
Process Id: 1836
Thread Id: 3168
Account name: DOMAINNAME\TFSSERVICE

Detailed Message: TF205005: Team Foundation Server is unable to locate one or more of the installed error messages. Please repair the installation from Programs and Features in Control Panel to fix this problem. For more information, see “How to: Repair Team Foundation Server” in the Team Foundation Server Installation Guide that can be downloaded from the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkID=82562 ). Detailed information :Error 400006, severity 16, state 1 was raised, but no message with that error number was found in sys.messages. If error is larger than 50000, make sure the user-defined message is added using sp_addmessage.
Web Request Details
Url:
http://bbtfs01:8080/Services/v1.0/GroupSecurityService.asmx [method: POST]
User Agent: Team Foundation (w3wp.exe[Integration], 9.0.30729.1)
Headers: Content-Length=475&Content-Type=text%2fxml%3b+charset%3dutf-8&Accept-Encoding=gzip&Accept-Language=en-US&Expect=100-continue&Host=bbtfs01%3a8080&User-Agent=Team+Foundation+(w3wp.exe%5bIntegration%5d%2c+9.0.30729.1)&X-TFS-Version=1.0.0.0&X-TFS-Session=50a2974e-efa9-4138-b357-f327267aa27b&SOAPAction=%22http%3a%2f%2fschemas.microsoft.com%2fTeamFoundation%2f2005%2f06%2fServices%2fGroupSecurity%2f03%2fReadIdentity%22
Path: /Services/v1.0/GroupSecurityService.asmx
Local Request: True
Host Address: 10.10.10.181
User: DOMAINNAME\TFSSERVICE [authentication type: NTLM]

Exception Message: TF205005: Team Foundation Server is unable to locate one or more of the installed error messages. Please repair the installation from Programs and Features in Control Panel to fix this problem. For more information, see “How to: Repair Team Foundation Server” in the Team Foundation Server Installation Guide that can be downloaded from the Microsoft Web site (http://go.microsoft.com/fwlink/?LinkID=82562 ). Detailed information :Error 400006, severity 16, state 1 was raised, but no message with that error number was found in sys.messages. If error is larger than 50000, make sure the user-defined message is added using sp_addmessage. (type DatabaseConfigurationException)
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Po dość długim główkowaniu i szukaniu udało mi się znaleźć rozwiązanie tego problemu nieco odmienne niż to zasugerowane w powyższej informacji (nie zasugerowałem się powyższym z powodu dużej customizacji na instacji TFS, którą zarządzam i koniecznością przeinstalowania dodatków). Przyczyną niedogodności jest umieszczenie definicji błędów w bazie danych master (a na ten temat w nie było nic w scenariuszu na MSDN).

Definicje błędów można uzupełnić, poniżej opis jak to zrobić:

  • Wyeksportować definicje ze starego serwera bazodanowego do pliku:

bcp.exe “select * from master.dbo.sysmessages where error > 50000″ queryout “c:\tfs_sysmessages_tfsdatabasehost.txt” -T -c -S oldSQL

  • Utworzyć tymczasową tabelę w bazie na nowym serwerze bazodanowym:

CREATE TABLE [dbo].[tmp_sysmessages](

[error] [int] NOT NULL,

[severity] [tinyint] NULL,

[dlevel] [smallint] NULL,

[description] [nvarchar](255) COLLATE Latin1_General_CI_AS NULL,

[msglangid] [smallint] NOT NULL

) ON [PRIMARY]

  • Zaimportować do niej definicje:

bcp.exe tempDatabase.dbo.tmp_sysmessages in “c:\tfs_sysmessages_tfsdatabasehost.txt” -T -c -S newSQL

  • Przekopiować tymczasową tabelę do używając procedury składowanej sp_addmessage:

DECLARE @Error AS int

DECLARE @Severity AS tinyint

DECLARE @DLevel as smallint

DECLARE @Description as VARCHAR(255)

DECLARE @Msglangid as smallint

DECLARE curMessages CURSOR FOR

SELECT error, severity, dlevel, description, msglangid

FROM tempDatabase.dbo.tmp_sysmessages

WHERE error > 50000

OPEN curMessages

FETCH NEXT FROM curMessages

INTO @Error, @Severity, @DLevel, @Description, @Msglangid

WHILE @@FETCH_STATUS = 0

BEGIN

EXEC sp_addmessage @Error, @Severity, @Description, NULL, ‘TRUE’, ‘replace’

FETCH NEXT FROM curMessages

INTO @Error, @Severity, @DLevel, @Description, @Msglangid

END

CLOSE curMessages

DEALLOCATE curMessages

  • Usunąć tymczasową tabelę tmp_sysmessages.

Po wykonaniu czynności z powyższego opisu komunikaty błędów stają się zrozumiałe;)

źródła:

How to: Move Your Team Foundation Server from One Hardware Configuration to Another – MSDN

How to: Restore Data for Team Foundation – MSDN

Team Foundation Server is unable to locate one or more of the installed error messages error – MSDN Forums

Ku pamięci: Jak pokazać odłączone urządzenia?

Normalnie w Managerze Urządzeń nie widać urządzeń, które są nieobecne w systemie a były zainstalowane wcześniej. Czasem może powodować to trochę zamieszania. Najczęściej się o tym można przekonać kiedy w wirtualnym systemie usuwamy NIC, dodajemy nowy i na nowym ustawimy tą samą bramę domyślną. Zostaniemy ostrzeżeni, że taka brama jest użyta już dla innego interfejsu, jednak go nie widać w urządzeniach:

Odinstalowanie urządzenia, którego nie widać jest mocno utrudnione.

Poniżej opis jak można je pokazać w managerze urządzeń:

  • Uruchomić z uprawnieniami administratora CMD i wydać polecenie:

SET DEVMGR_SHOW_NONPRESENT_DEVICES=1 & START DEVMGMT.MSC

  • Wymusi to pokazanie niepodłączonych urządzeń jako ukrytych i uruchomi “Manager Urządzeń” (Device Manager), należy kliknąć “Widok” (View) i wybrać “Pokaż ukryte urządzenia” (Show hidden devices).

Teraz możemy odinstalować odłączone urządzenia (widoczne są jako wyszarzone – w moim przypadku jest to Microsoft Virtual Machine Bus Network Adapter).

Powyższa metoda działa w Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, Windows Server 2003 R2, Windows Server 2003, Windows 2000.

źródła:

Device Manager does not display devices that are not connected to the Windows XP-based computer – KB315539

Device Manager Does Not Display Devices Not Currently Present in Windows 2000 – KB241257

Server 2008 – Removing Non-Existing Network Adapters – TechArena Community

Ku pamięci: Floppy disk w Hyper-V

Kiedy ostatnio używaliście dyskietki?

Ja dziś:) Co prawda wirtualnej ale chyba się liczy:)

Jeden z programów jakiego używam na maszynie działającej na Hyper-V wymagał FDD i nie dawał się przekonać, że to archaizm. Najprostszym wyjściem z sytuacji było dodanie obsługi wirtualnego napędu dyskietek do wirtualnej maszyny.

Hyper-V używa plików VFD jako obrazów dyskietek, aby utworzyć plik VFD należy:

  1. Uruchomić Hyper-V Manager;
  2. Przejść do panelu Action;
  3. Wybrać New -> Floppy Disk…;
  4. Pojawi się okno Create Virtual Floppy Disk;
  5. Wybrać jego lokalizację, wprowadzić nazwę pliku dyskietki i wybrać Create.

Utworzony w ten sposób plik VFD można podłączyć jako napęd dyskietek do maszyny wirtualnej działającej na Hyper-V, Virtual Server lub Virtual PC.

źródło: własne doświadczenie

Ku pamięci: TFS Problem z New Team Project Wizard

Przy tworzeniu nowego projektu na Team Foundation Serverze za pomoca Visual Studio Team Explorer 2008 z SP1 pojawił mi się następujący błąd:

Error
TF30004: The New Team Project Wizard encountered an unexpected error while initializing the Microsoft.ProjectCreationWizard.Reporting plug-in.
Explanation
TF30171: The Microsoft.ProjectCreationWizard.Reporting plug-in used to create the new team project could not be initialized and returned the following error: TF30224: Failed to retrieve projects from the report server. Please check that the SQL Server Reporting Services Web and Windows services are running and you have sufficient privileges for creating a project..
User Action
Contact your Team Foundation Server administrator.

Jednocześnie zauważyłem, że przestały się w Team Explorerze wyświetlać raporty. Pierwsza myśl, że coś nie jest w porządku z Reporting Services. Na szczęście mojej obawy nie udało się potwierdzić, na innej maszynie z Team Explorerem raporty pojawiły się prawidłowo, tam też udało się utworzyć projekt. Wniosek, problem dotyczy tylko Team Explorera na jednej maszynie.

Ponowne zainstalowanie SP1 dla Visual Studio Team Explorer 2008 spowodowało, że błąd przestał się pojawiać.

Po poszukiwaniach w Internecie znalazłem, że to dość częsty problem.

źródło poza własnym doświadczeniem:

TFS SQL Reports Red Cross issue and Project creation failed – MSDN Forums

TFS 2008/Visual Studio 2008 TF30004 TF30171 TF30224 Can’t create a new project – MSDN Forums

TF03177: Team Project Creation Failed – The Joy of Code

2010 MVP Global Summit #MVP10

Cztery dni konferencji 2010 MVP Global Summit minęły błyskawicznie.

O najważniejszych rzeczach czyli sesjach keynote w Bellevue oraz rozmowach podczas spotkań z grupami produktowymi w Redmond nie wolno mi nic napisać, bo to jest objęte umową NDA. A szkoda, bo merytorycznie działo się naprawdę dużo, pod tym względem Summit był bardzo udany. Dużo, dużo dobrego się wydarzyło od ostatniego spotkania w moim wypadku ten Summit to świetna interakcja z grupą zajmującą się tematyką Setup & Deployment.

Od strony towarzyskiej też super. Każdy dzień kończył się dla nas miłym wieczorem w gronie MVP i w towarzystwie pracowników Microsoft. Hitem ostatniego wieczornego spotkania były kowbojskie kapelusze, które przywieźli ze sobą teksańscy MVP:) Udało mi się jeden dostać;) Dziękuję wszystkim, którzy przyczynili się do tego;)

Aha dla wtajemniczonych: wreszcie procent łosiosiów podczas posiłków był odpowiedni, nie za dużo, nie za mało. W sam raz!

W tegorocznym Summicie uczesniczyło ponad 1400 MVP i RD z całego świata. Z Polski przyjechało pięcioro MVP: Paula Januszkiewicz, Ziemek Borowski, Maciek Pilecki, Grzegorz Tworek, i moja skromna osoba. Pojawił się też Tadeusz Golonka – Microsoft Regional Director in Poland.

Na koniec zdarzyło mi się małe zamieszanie, wczoraj dostałem informację od Lufthansy, że z powodu strajku pilotów jeden z moich lotów został odwołany i nie mam żadnej możliwości na późniejszy lot. Gdyby nie, to zostałbym dzień dłużej, tylko wtedy nie wiadomo kiedy i w jaki sposób bym wrócił do domu;) Na szczęście udało się w porę przebookować na lot o dzień wcześniej.

Pora wsiadać do samolotu. Przede mną ponad 17h godzin i parę przesiadek zanim dotrę na miejsce. Dobrze, że mam kapelusz od MVP z Teksasu:) Będę mógł w samolocie sobie zakryć twarz i spać:)

źródła poza własnymi doświadczeniami:

Witryna 2010 MVP Global Summit

MVP Global Summit – blog

2010 MVP Global Summit na Twitterze

Gdy VM na Hyper-V R2 traci sieć

Po migracji maszyn do Hyper-V R2 wirtualne maszyny, których NIC są obciążone dużą ilością jednoczesnych połączeń (IIS, ISA itp.) często są dotknięte problemem, że połączenia do WM są zrywane a wirtualny NIC zmienia stan na “disabled”. Dzieje się tak w momencie dużego obciążenia wirtualnego switha, gdy jego bufor (odpowiednik tablicy przełączania) jest pełny w efekcie czego cześć pakietów jest gubiona, generowane są błędy i w efekcie wirtualny interfejs sieciowy zmienia stan na “disabled”.

Na wirtualnych maszynach w logach systemowych  pojawia się następująca informacja:

Event Type: Information
Event Source: netvsc
Event Category: None
Event ID: 4
Date: 2/17/2010
Time: 11:46:07 AM
User: N/A
Computer: MACHINENAME
Description:
The miniport ‘Microsoft Virtual Machine Bus Network Adapter’ reset.

Są trzy metody na rozwiązanie tego problemu:

  • Powiększenie wielkości bufrów VMBus wirtualnych maszyn na których występuje problem z 1MB do 2MB lub 4MB (w dalszej części opiszę to dokładniej). Uznaję to rozwiązanie za preferowane ze względu na najmniejszą inwazyjność fixa w infrastrukturę.
  • Instalacja patcha KB974909 o statusie testowym na maszynach z Hyper-V R2 na których działają maszyny z problemem (w przypadku klastra na wszystkich maszynach w klastrze gdzie wystąpił problem z VM).
  • Zmiana NIC wirtualnej maszyny z Synthetic na Legacy adapter. Rozwiązanie to obniża oczywiście parametry połączenia VM (między innymi jego prędkość do 100Mbps). Ze względu na obniżenie parametrów nie można go uznać za rozwiązanie zalecane w środowiskach produkcyjnych.

Aby powiększyć bufor VMBus wirtualnej maszyny na której występuje problem należy:

  • Przejść do gałezi rejestru: HKLM\SYSTEM\CurrentControlSet\Control\Class\{GUID}\{index}.
  • Aby zidentyfikować jaki GUID ma interfejs wirtualnej maszyny na którym występuje problem:

W przypadku VM na Windows Server 2008/2008 R2 jest to banalne):
Identyfikacja inerfejsu na Windows Server 2003 jest trochę trudniejsza:)

Należy przejśc do HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\NetworkCards\{numer} i odczytać wartość GUID. (rozwiązanie działa również na nowszych systemach).

W przypadku niemożności znalezienia GUID powyższą metodą: przejść do HKLM\SYSTEM\CurrentControlSet\Control\Class\ i wyszukać “Microsoft Virtual Machine Bus Network Adapter” (uwaga – może być kilka interfejsów).

  • Utworzyć dwie wartości DWORD o nazwach ReceiveBufferSize i SendBufferSize, nadać im wartość 0800 (hexadecimal) lub 2048 (decimal). Jest to wartość bufora w KB, przy braku tych wpisów wielkość buforów jest domyślna i wynosi 1024KB.
  • Wykonać restart wirtualnej maszyny aby ustawienia zostały wprowadzone.

Jeśli po wykonaniu powyższych kroków problem wciąż występuje (w moim przypadku miałem tą sytuację z jedna najbardziej obciążoną maszyną z IIS) należy jako wartość wprowadzić 1000 (hexadecimal) lub 4096 (decimal). Maksymalna możliwa wartość bufora to 4096KB.

źródła poza własnym doświadczeniem:

Increase VMBus buffer sizes to increase network throughput to guest VMs – Windows Server Performance Team Blog

KB 974909 – Microsoft Support

Network Adapter disabled, Event ID 4 Netvsc, miniport reset – TechNet Forums

Problem z NVRAID i zaskakujące rozwiązanie

W styczniu do testowego labu dotarło mi kilka nowych maszyn opartych na płytach głównych Asus P5N7A-VM (płyta all in one dla procesorów Intel LGA775 do której można zamontować do 16GB pamięci DDR2) Nie jestem wielkim fanem chipsetów NVIDIA ale trudno mi było mi cokolwiek tym płytom zarzucić (no może tylko brak drugiego NIC).

Po zainstalowaniu labu do racka, dodaniu dodatkowych NIC i po podłączeniu dysków, storage’a ISCSI przyszła pora na instalacje systemu. Z WDS został zainstalowany Windows Server 2008 R2 wraz z rolą Hyper-V. Do tego kilka standardowych programów. Wszystko działa bez zarzutu.

Za to w logach systemowych zaczęły pojawiać się następujące kwiatki:

Log Name: System
Source: nvraid
Date:  2010-02-10 07:45:11
Event ID: 11
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: machinename
Description:
The description for Event ID 11 from source nvraid cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

oraz

Log Name: System
Source: nvstor
Date: 2010-02-10 07:42:12
Event ID: 129
Task Category: None
Level: Warning
Keywords: Classic
User: N/A
Computer: machinename
Description:
Reset to device, \Device\RaidPort0, was issued.

Po krótkim dochodzeniu doszedłem do wniosku, że problem jest związany z antywirusem Microsoft Fore Front Clienet Security. Przypuszczenia potwierdziły poszukiwania w sieci gdzie znalazłem opis podobnego problemu związanego z obecnością w Windows Vista i Windows 7 działającego na płycie z chipsetem NVIDIA programowania Windows Live OneCare oraz Microsoft Security Essentials czyli z bliskich kuzynów Microsoft Fore Front Client Security. Nie wiem czy problem leży po stronie antywirusa czy sterowników NVIDIA, w każdym razie jeśli te dwa elementy spotkają się razem pojawia się problem. Po odinstalowaniu Microsoft Fore Front Clienet Security alarmujące wpisy w logach przestały się pojawiać.

Niestety nie miałem czasu na  dokładną analizę problemu. Właśnie pakuję się do wyjazdu na Microsoft 2010 MVP Global Summit. Jak wrócę postaram się bliżej temu przyjrzeć.

źródła, poza własnymi doświadczeniami:

NVRD64 Error 11 – NVIDIA forums

RAID Driver Missing or Corrupted, Vista Event Viewer – NVRD64 error - NVIDIA forums

nvstor32: reset to device — freezing machine – NVIDIA forums

Ku pamięci: cliconfg, czyli alias dla SQL Server

Mój romans z SQL Serverem zwykle jest przelotny i najczęściej ogranicza się do podstawowych czynności administracyjnych.

Od czasu do czasu trafi mi się naprawianie czegoś w krytycznej sytuacji i tak było tym razem.

U jednego z nowych klientów wystąpił niespodziewany problem z jedna z kilku maszyn na której działał Microsoft SQL Server 2005. Tak nieszczęśliwie się stało, że sprzęt nie nadawał się do dalszego użytku, na szczęście bazy był składowane na zewnętrznej macierzy dyskowej i nie były uszkodzone.

Bazy zostały podłączone do innej maszyny z SQL Serverem 2005. Teraz tylko zmienić pliki konfiguracyjne aplikacji i powinno działać:) Niestety w tym przypadku nie było tak banalnie. Pomysłowy twórca aplikacji umieścił pliki konfiguracyjne w jej wnętrzu tak, że nie można ich było edytować (za takie coś powinno się ucinać ręce i nie tylko), nie bardzo było możliwe, żeby szybko ją przekompilowywać.

Najszybszym w tym przypadku rozwiązaniem było oszukanie aplikacji.

Jak to zrobić?

Polecenie  cliconfg uruchamia narzędzie SQL Server Client Network Utility. Z pomocą którego w prosty sposób można ustawić alias którego będzie używała aplikacja.

Bardziej wnikliwi zaraz powiedzą, że to samo można osiągnąć przez zmiany w DNS lub w pliku hosts na serwerze aplikacyjnym. Rzeczywiście można ale pod warunkiem, że nowy SQL Server znajduje się w tej samej instancji co stary;)

źródło: własne doświadczenie

Dzień bez E-maila – HORROR

Od blisko 3 lat korzystam z usługi Outlook.com (dawniej Exchangelabs.com). Usługa jest to hostowany przez Microsoft Server Exchange (w tej chwili 2010) który można skonfigurować do pracy dla własnej domeny – super usługa daje wszystko co oferuje Exchange łącznie z administracją przez PowerShell. Do tej pory nie miałem specjalnych z nią problemów, kilka drobnych przerw w dostępie do OWA spowodowanych problemami z usługą LiveID o którą oparte jest logowanie do OWA.

Wczoraj rano okazało się, że nie działa mi dostęp do Exchange przez OWA i Exchange Enywhere zerknąłem na status usługi i rzeczywiście.

To co zobaczyłem potwierdziło moje przypuszczenia o awarii.

Pojawiła się informacja o terminie zaistnienia problemu i obietnica szybkiego usunięcia problemu, niestety nie pojawiła się informacja o przewidywanym czasie usunięcia problemu. Zapytałem o to na wydzielonym forum w nadziei, że uzyskam szybką odpowiedź i czekałem, czekałem… …odezwało się trochę ludzi z podobnym problemem, niestety dopiero po 8 godzinach ktoś z MSFT i opisał problem i przeprosił za problemy z usługą.
Zdałem sobie sprawę jak bardzo jestem uzależniony od prywatnego Exchange’a. Brak dostępu do nowej poczty przez Outlook; brak poczty, kalendarza, notatek, zadań, listy kontaktów dostępnej przez OWA; rozsynchronizował mi się smartfone: brak listy kontaktów (naprawdę denerwujące, bo nie wiadomo kto dzwoni) popsucie organizacji dnia przez brak kalendarza w PDA itd… Po prostu tragedia.

W pewnej chwili OWA zaczęło działać i okazało się, że MOJA SKRZYNKA JEST PUSTA, włączyłem Outlooka w tryb Offline aby w razie czego móc odzyskać to co w nim mam do PST (niestety Outlook 2010 po wybraniu Offline powoduje, że wszystkie konta Exchange są w trybie Offline -co mi trochę utrudniło życie, bo nie jest moje jedyne konto Exchange skonfigurowane w Outlooku).

W późnych godzinach wieczornych wszystkie moje usługi wróciły do życia i zaczęły się pojawiać maile, które powinienem otrzymać w ciągu całego dnia. Wszystko wróciło do normy jednak na witrynie statusu aplikacji wciąż pojawia się informacja o błędzie i dziś rano, również jest OK ale zgodnie z informacją prace wciąż trwają.

Mam nadzieję, że usługa będzie działała w tym roku już stabilnie:) I czas dostępności mojej usługi Exchange nie spadnie poniżej 99,7%.

Widzę, że Robert opisał też ten problem u siebie na blogu a dziś napisał też swoje podsumowanie problemu.

źródło: własne traumatyczne doświadczenie

Instalacja Windows 7 na napędzie USB a licencja

Kilka dni temu opublikowałem na moim blogu 2 tutoriale: Instalacja Windows 7 na napędzie USB oraz Instalacja Windows 7 na napędzie USB (z użyciem VHD). Opisują one od strony technicznej scenariusze instalacji Windows 7 i Windows Server 2008 napędzie USB.

Zgodnie z informacją jaką w dniu dzisiejszym otrzymałem z Centrum Obsługi Klienta Microsoft taka instalacja jest dopuszczona przez licencję Windows 7 i Windows Server 2008 R2. Cytat z maila jaki w tej sprawie otrzymałem: “Instalacja systemu na nośniku danych jakim jest USB, jest możliwa i nie powoduje, że takie postępowanie stoi w sprzeczności z licencją. Należy zwrócić uwagę na fakt, że oprogramowanie załadowane z napędu USB – w przypadku licencji OEM, przypisze się do komputera i instalacja na innym urządzeniu z tego napędu nie jest możliwa“.

źródło: korespondencja z Centrum Obsługi Klienta Microsoft

Jak wygląda zakurzony laptop?

Zastanawialiście się co się dzieje w laptopie po kilku miesiącach jego pracy?

Mój Dell D630 po roku pracy trafił do serwisu, okazało się, że spaliła się płyta główna. Powodem uszkodzenia było długotrwałe przegrzanie. Serwis dziś przysłał mi zdjęcia wnętrza mojego komputera:) Rzeczywiście nieco zapchany kurzem…

Ciekawe czemu się tam tyle zebrało, pracuję w dość czystym środowisku… Zastanawiam co się dzieje z wnętrzem komputera jak ktoś używa sprzętu w zapylonym albo zakurzonym otoczeniu:)

źródło: moja współpraca z serwisem Dell

Seesmic Look – awesome! #seesmiclook

Tak właśnie zareagowałem na nowego klienta Twittera na Windows od Seesmic.

Dlaczego tak emocjonalnie?

Bo Seesmic Look wygląda świetnie.

Prawda, że cukierkowy?

Na pewno najładniejszy klient Twittera i najlepszy działający w oparciu o .NET Framework.

Seesmic Look wymaga .NET Framework 3.5 SP1, działa na Windows XP, Windows Vista i Windows 7.

źródłem jest własny zachwyt i witryna Seesmic Look

Office 2010 wymagania systemowe

Na blogu prowadzonym przez zespół Microsoft Office product development pojawił się ciekawy wpis opisujący wymagania niezbędne do instalacji najnowszej wersji pakietu Office.

Generalnie należy przyjąć, że na sprzęcie na którym działa wersja 2007 będzie również działał Office 2010.

Szczegółowo minimalne wymagania prezentują się następująco:

CPU: Intel Pentium III processor, 500 MHz
RAM: 256 MB PC100 SDRAM
OS: Windows XP Professional with Service Pack 3

Porównanie wymagań ostatnich wersji pakietu Office z wersją najnowszą pokazuje, że wymagania dotyczace CPU i RAM są identyczne jak w wersji 2o07:

Wspierana jest instalacja na następujących wersjach systemów operacyjnych:

Niespodzianki? Jedna. Zalecane jest posiadanie GPU!

Zachęcam do przeczytania artykułu w oryginale.

źródło: Office 2010 System Requirements – Microsoft Office 2010 Engineering

Instalacja Windows 7 na napędzie USB (z użyciem VHD)

W dalszym ciągu czekam na informację od Microsoft czy instalacja Windows 7 na nośniku USB jest dopuszczalna przez licencję Windows 7. Mam nadzieję, że okaże się, że Microsoft tak sam jak ja rozumie zapis zawarty w EULA.

Zebrałem metody instalacji na USB, które umieściłem w dwóch moich ostatnich wpisach: Instalacja Windows 7 na napędzie USB i Hyper-V Server 2008 R2 instalacja na USB. Tworząc z nich scenariusz, gdzie Windows 7 instalowany jest do VHD, który znajduje się na dysku USB.

Windows 7: Release Candidate

Bootowanie z VHD wprowadzone wraz z Windows 7 i Windows Server 2008 R2 mocno rozszerzyło możliwości wdrażania systemów w tym możliwość instalacji na napędzie USB. Bootowanie z VHD w Windows 7 jest możliwe tylko w wersji Ultimate i Enterprise, przedstawiona metoda ma zastosowanie do tych wersji Windows 7 (wspierają ją również wszystkie wersje Windows Server 2008 R2 oraz Hyper-V Server 2008 R2). Główną zaletą rozwiązania jest prostota ewentualnej reinstalacji – wystarczy nadpisanie pliku VHD. Niedogodności, które występują w systemach zainstalowanych do VHD przedstawiłem już jakiś czas temu, warto o nich przeczytać zanim zdecydujemy się na taką instalację. Procedura opisywana poniżej nie należy do najłatwiejszych i jest dedykowana dla zaawansowanych, jest trudniejsza niż poprzedni wpis o instalowania Windows 7 na USB. Rozwiązanie testowałem na laptopie Dell D630, D6400 oraz na stacji roboczej Dell Vostro 430, na każdym z nich działało poprawnie. Jeśli się zdecydowałeś na wprowadzenie go w życie powinieneś się zaopatrzyć w:

Wszystkie poniższe operacje wykonywałem na Windows 7 Ultimate x64 z zainstalowanym pakietem WAIK, gdzie:

  • C: to dysk systemowy
  • D: napęd DVD (może być to też klucz USB lub zamiast tego można użyć ścieżki do rozpakowanego obrazu płyty) z instalatorem Windows 7
  • W porcie USB znajduje się klucz USB na którym zainstalowany zostanie system. UWAGA! Wszystkie dane z nośnika wymiennego zostaną skasowane, nie jest to koniecznością, zdecydowałem się na to z powodu przejrzystości opisu.

Ad rem!

  1. Uruchamiamy CMD z uprawnieniami Adminsitratora, za jego pomocą tworzymy w folderze nowym folderze WINvhd na dysku C: plik VHD o wielkości prawie 15GB, formatujemy jego zawartość i nadajemy oznaczenie R:.

    mkdir c:\WINvhd
    diskpart
    create vdisk file=c:\WINvhd\Windows.vhd maximum=15000 type=fixed
    select vdisk file=c:\WINvhd\Windows.vhd
    attach vdisk
    create partition primary
    assign letter=R
    format quick fs=ntfs label=WINvhd
    exit

  2. Rozpakowanie pliku WIM, przechodzimy do folderu gdzie znajduje się ImageX, w moim przypadku używam wersji X64. W drugiej linii sprawdzamy jakie są wszystkie wersje systemu dostępne w pliku WIM, w moim przypadku Windows 7 Ultimate X64 był dostępny jako <IMAGE INDEX=”4″>, dlatego w następnym kroku pojawiła się cyfra 4.

    cd /d “C:\Program Files\Windows AIK\Tools\amd64″
    imagex /info d:\sources\install.wim
    imagex /apply /check d:\sources\install.wim 4 R:\

  3. Odłaczamy dysk VHD.

    diskpart
    select vdisk file=c:\WINvhd\Windows.vhd
    detach vdisk
    exit

  4. Sprawdzamy którym urządzeniem jest docelowy napęd USB po czym wymazujemy jego zawartość, tworzymy nową partycję i formatujemy ją na NTFS i nadajemy oznaczenie Z:.

    diskpart
    list disk
    select disk <numer napędu USB>
    clean
    create partition primary
    select partition 1
    active
    format quick fs=ntfs
    assignletter=Z
    exit

  5. Kopiujemy plik VHD na napęd USB.

    copy c:\WINvhd\Windows.vhd Z:

  6. Nadpisujemy MBR na napędzie USB.

    cd /d “c:\program files\Windows AIK\Tools\PETools\AMD64\”
    bootsect /nt60 Z: /force /mbr

  7. Podłaczamy dysk VHD z napędu USB, powinien być widoczny jako R:.

    diskpart
    select vdisk file=z:\Windows.vhd
    attach vdisk
    exit

  8. Zmiana parametrów bootowania.

    bcdboot r:\windows /s Z:

  9. Dodajemy wpisy do rejestru systemu na VHD wymuszające wyłączenie pliku wymiany w celu ograniczenia zapisów na napęd USB (w razie chęci posiadania pliku wymiany z komend w linii 2 i 3 można zrezygnować)  oraz zmieniamy ustawienia startu usług związanych z magistralą USB.

    REG LOAD HKLM\WindowsTemp r:\windows\system32\config\system
    REG ADD “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f
    REG DELETE “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG UNLOAD HKLM\WindowsTemp

  10. Przechodzimy exploratorem windows do R:\windows\inf i edytujemy następujące pliki: usb.inf, usbport.inf, usbstor.inf; dodając na początku ich treści:

    [*.AddService]
    StartType = 0
    LoadOrderGroup = boot bus extender

  11. Odłączamy dysk VHD.

    diskpart
    select vdisk file=z:\Windows.vhd
    detach vdisk
    exit

  12. Klucz USB z Windows 7 jest już przygotowany, można się z niego spróbować zabootować. Klucz po przygotowaniu można użyć na innej konfiguracji sprzętowej (uruchomić go na innym komputerze) ważne, żeby konfiguracja napędów była identyczna jak w momencie kiedy była przygotowywana w innym wypadku po zabootowaniu się z klucza zobaczymy informację, że start jest niemożliwy, należy wtedy edytować konfigurację bootowania na kluczu USB (dalej opis jak to zrobić). Jeśli się udało to na ekranie zobaczmy końcową fazę konfiguracji systemu. Po tym nastąpi automatyczny restart, po którym przechodzimy do punktu 13.  W razie problemów z bootowaniem z nowoutworzonego VHD na USB należy wystartować komputer z nośnika instalacyjnego, uruchomić linię komend (Shift + F10), za jej pomocą podpiąć dysk VHD (podobnie jak punkt 7 ale podając odpowiednie litery napędów) a następnie ręcznie zmienić parametry bootowania za pomocą polecenia BCDboot (punkt 8 ze wskazaniem odpowiednich dysków). Dokładniejszy opis jak posługiwać się BCDboot znajduje się tym i w  tym artykule.
  13. Po automatycznym restarcie najprawdopodobniej system się nie włączy poprawnie. Będzie się resetował podczas startu. Jest to spowodowane przywracaniem ustawień domyślnych rejestrów usług magistrali USB przez instalator. Zanim system będzie gotowy do pracy taka sytuacja wydarzy się dwukrotnie. Należy wtedy podpiąć dysk do działającego systemu i wykonać po kolei kroki: 7, 9, 10, 11 i zabootować się jeszcze raz. Te same kroki należy podjąć jeśli zmienią się ustawienia i system będzie się resetował podczas startu, zdarza się, że instalacja poprawek zmienia ustawienia rejestrów odpowiedzialnych za USB, co powoduje problemy ze startem.

Przedstawiona procedura działa zarówno z Windows 7 i Windows Server 2008 R2.

[update 27.01.2010]
Zgodnie z informacją jaką w dniu dzisiejszym otrzymałem z Centrum Obsługi Klienta Microsoft taka instalacja jest dopuszczona przez licencję Windows 7 i Windows Server 2008 R2. Cytat z maila jaki w tej sprawie otrzymałem: “Instalacja systemu na nośniku danych jakim jest USB, jest możliwa i nie powoduje, że takie postępowanie stoi w sprzeczności z licencją. Należy zwrócić uwagę na fakt, że oprogramowanie załadowane z napędu USB – w przypadku licencji OEM, przypisze się do komputera i instalacja na innym urządzeniu z tego napędu nie jest możliwa“.

źródła, poza własnym doświadczeniem:
Microsoft Hyper-V Server 2008 R2 RTM & More – Microsoft Virtualization Team Blog
Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive – TechNet
Walkthrough: Deploy a Virtual Hard Disk for Native Boot – TechNet
Virtual Hard Disks in Windows Server 2008 R2 and Windows 7 – TechNet
Instalacja Windows 7 oraz Windows Server 2008 R2 w plikach VHD – wss.pl
ImageX Technical Reference – TechNet
Add a Native-Boot Virtual Hard Disk to the Boot Menu – TechNet
BCDboot Command-Line Options – TechNet

Hyper-V Server 2008 R2 instalacja na USB

Hyper-V Server 2008 R2 jest nietypowy jak na system wyprodukowany przez Microsoft. Nie tylko, że jest dostępny bezpłatnie to jak mawia mój kolega “nie ma windowsa w tym systemie”. Z technicznego punktu widzenia jest w nim więcej ciekawostek, na przykład to, że wspierana jest jego instalacja na dysku USB flash.

Windows 7: Thumb drive

Dawno temu znalazłem wpis na blogu Micorosft Virtualization Team, na którym wyczytałem o możliwościach uruchamiania systemu zainstalowanego na USB: “One thing our customers and partners requested was the ability to boot from flash. Customers told us they would like to purchase a server from their hardware partner of choice with Hyper-V included and they wanted the ability to choose whether it was on traditional spinning media or flash media. You got it.”. Zacząłem szukać tego opisu i znalazłem opis na TechNecie poświęcony właśnie takiemu wdrażaniu Hyper-V Server 2008 R2, przygotowując opis bazowałem głównie na tym dokumencie. Dokument wprowadza skrót UDF od USB Flash Device, zawiera też kilka obwarowań co do tej instalacji, które po przetłumaczeniu brzmią:

  • Instalacja Microsoft Hyper-V Server 2008 R2 na UFD, który nie jest wewnętrznym komponentem komputera jak np. przenośny zewnętrzny flash USB nie jest dozwolona.
  • UFD musi być komponentem wewnętrznym wbudowanym w serwer zgodnie z dokładnym opisem zawartym w dokumencie.

Aby przeprowadzić instalację Hyper-V Server 2008 R2 urządzeniu USB należy przygotować:

Wszystkie poniższe operacje wykonywałem na Windows 7 Ultimate x64 z zainstalowanym pakietem WAIK, gdzie:

  • C: to dysk systemowy
  • D: napęd DVD (może być również klucz USB, jak również rozpakowany obraz płyty) z instalatorem Hyper-V Server 2008 R2
  • W porcie USB znajduje się klucz USB na którym zainstalowany zostanie system. UWAGA! Wszystkie dane z nośnika wymiennego zostaną skasowane, nie jest to koniecznością, zdecydowałem się na to z powodu przejrzystości opisu.

Ad rem!

  1. Uruchamiamy CMD z uprawnieniami Administratora, za jego pomocą tworzymy w folderze nowym folderze WINvhd na dysku C: plik VHD o wielkości prawie 15GB, formatujemy jego zawartość i nadajemy oznaczenie R:.

    mkdir c:\WINvhd
    diskpart
    create vdisk file=c:\WINvhd\HVserver.vhd maximum=15000 type=fixed
    select vdisk file=c:\WINvhd\HVserver.vhd
    attach vdisk
    create partition primary
    assign letter=R
    format quick fs=ntfs label=HVserver
    exit

  2. Rozpakowanie pliku WIM, przechodzimy do folderu gdzie znajduje się ImageX, w moim przypadku używam wersji X64, bo Hyper-V Server 2008 R2 jest właśnie X64. W drugiej linii sprawdzamy jakie są wszystkie wersje systemu dostępne w pliku WIM, w tym przypadku jest tylko jedna wersja <IMAGE INDEX=”1″>, właśnie ją wybiorę:) dlatego w następnym kroku pojawiła się cyfra 1.

    cd /d “C:\Program Files\Windows AIK\Tools\amd64″
    imagex /info d:\sources\install.wim
    imagex /apply /check d:\sources\install.wim 1 R:\

  3. Odłaczamy dysk VHD.

    diskpart
    select vdisk file=c:\WINvhd\Windows.vhd
    detach vdisk
    exit

  4. Sprawdzamy którym urządzeniem jest docelowy napęd USB, następnie wymazujemy jego zawartość, tworzymy nową partycję i formatujemy ją na NTFS i nadajemy oznaczenie Z:.

    diskpart
    list disk
    select disk <numer napędu USB>
    clean
    create partition primary
    select partition 1
    active
    format quick fs=ntfs
    assign letter=Z
    exit

  5. Kopiujemy plik VHD na napęd USB.

    copy c:\WINvhd\HVserver.vhd Z:

  6. Nadpisujemy MBR na napędzie USB.

    cd /d “c:\program files\Windows AIK\Tools\PETools\AMD64\”
    bootsect /nt60 Z: /force /mbr

  7. Podłączamy dysk VHD z napędu USB, powinien być widoczny jako R:.

    diskpart
    select vdisk file=z:\HVserver.vhd
    attach vdisk
    exit

  8. Zmiana parametrów bootowania.

    bcdboot r:\windows /s Z:

  9. Dodajemy wpisy do rejestru systemu na VHD wymuszające wyłączenie pliku wymiany w celu ograniczenia ilości cykli zapisów na napęd USB.

    REG LOAD HKLM\WindowsTemp r:\windows\system32\config\system
    REG ADD “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f
    REG DELETE “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f
    REG UNLOAD HKLM\WindowsTemp

  10. Odłączamy dysk VHD.

    diskpart
    select vdisk file=z:\HVserver.vhd
    detach vdisk
    exit

  11. Klucz USB z Hyper-V Server 2008 R2 jest już przygotowany, można się z niego spróbować zabootować. Klucz po przygotowaniu można użyć na innej konfiguracji sprzętowej (uruchomić go na innym komputerze) ważne, żeby konfiguracja napędów była identyczna jak w momencie kiedy była przygotowywana w innym wypadku po zabootowaniu się z klucza zobaczymy informację, że start jest niemożliwy, należy wtedy edytować konfigurację bootowania na kluczu USB (dalej opis jak to zrobić). Jeśli się udało to na ekranie zobaczmy końcową fazę konfiguracji systemu.
  12. W razie problemów z bootowaniem z nowoutworzonego VHD na USB należy wystartować komputer z nośnika instalacyjnego, uruchomić linię komend (Shift + F10), za jej pomocą podpiąć dysk VHD (podobnie jak punkt 7 ale podając odpowiednie litery napędów) a następnie ręcznie zmienić parametry bootowania za pomocą polecenia BCDboot (punkt 8 ze wskazaniem odpowiednich dysków). Dokładniejszy opis jak posługiwać sie BCDboot znajduje się tym i w  tym artykule.

Rozwiązanie testowałem na stacji roboczej Dell Vostro 420 i 430, na każdym z nich działało poprawnie.

Bardzo ciekawie wygląda zastosowanie tej metody w infrastrukturze na której Hyper-V działa na małych bezdyskowych serwerach przeznaczonych do wirtualizacji przy podłączonych dyskach NAS na których znajdują się wirtualne systemy. Wcześniej w takim scenariuszu mogła pracować tylko wirtualizacja rodem z VMware.

źródła, poza własnym doświadczeniem:

Microsoft Hyper-V Server 2008 R2 RTM & More – Microsoft Virtualization Team Blog

Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive – TechNet

Walkthrough: Deploy a Virtual Hard Disk for Native Boot – TechNet

Virtual Hard Disks in Windows Server 2008 R2 and Windows 7 – TechNet

Instalacja Windows 7 oraz Windows Server 2008 R2 w plikach VHD – wss.pl

ImageX Technical Reference – TechNet

Add a Native-Boot Virtual Hard Disk to the Boot Menu – TechNet

BCDboot Command-Line Options – TechNet

Instalacja Windows 7 na napędzie USB

Prawie dwa lata temu na moim blogu umieściłem wpis o możliwości instalacji Windows Vista i Windows Server 2008 na dysku USB. Rozwiązanie, które wtedy przedstawiłem nie było wygodne, z powodu konieczności posiadania komputera z Hyper-V lub VMware Server.

Windows 7: Small drive

Nie udało mi się znaleźć nigdzie dobrej metody na instalację Windows 7 i Windows Server 2008 R2 na kluczu USB dlatego postanowiłem się zabrać samemu za napisanie tutoriala. Rozwiązanie to jest rozwojową modyfikacją mojego pomysłu z przed 2 lat, jest od niego też dużo prostsze. Należy pamiętać o tym, że nie jest wspierane przez Microsoft. Domyślnie podczas startu Windows 7 i Windows Server 2008 R2 magistrala USB jest resetowana (tak samo jak w Windows Vista i Windows Server 2008) co w wypadku instalacji na napędzie USB powoduje przerwanie startu i restart komputera, w moim opisie przeciwdziałam temu przez wpisy w rejestrze i edycję plików. Procedura opisywana poniżej wymaga nieco uwagi a nie tylko wklejania poszczególnych linii do CMD. Wszystkie skomplikowane operacje zostały dodatkowo opisane. Jej działanie testowałem na laptopie Dell D630, D430, D6400 oraz na stacji roboczej Dell Vostro 430, na każdym z nich działało poprawnie.

Jeśli mimo to się zdecydowałeś należy się zaopatrzyć w:

Wszystkie poniższe operacje wykonywałem na Windows 7 Ultimate x64 z zainstalowanym pakietem WAIK, gdzie:

  • C: to dysk systemowy
  • D: napęd DVD (może być to też klucz USB, można również się posłużyć rozpakowanym obrazem) z instalatorem Windows 7
  • W porcie USB znajduje się klucz USB na którym zainstalowany zostanie system. UWAGA! Wszystkie dane z nośnika wymiennego zostaną skasowane, nie jest to koniecznością (z punktu 1 można zrezygnować jeśli jesteśmy pewni, że pierwsza partycja podstawowa na kluczu jest aktywna i jest sformatowana na NTFS, w takim wypadku należy zmienić tylko jej literę na Z:), zdecydowałem się na to z powodu przejrzystości opisu.

Ad rem!

  1. Uruchamiamy CMD z uprawnieniami Administratora, za jego pomocą czyścimy dysk USB, formatujemy jego zawartość i nadajemy oznaczenie Z:.

    diskpart
    list disk
    select disk <numer napędu USB>
    clean
    create partition primary
    select partition 1
    active
    format quick fs=ntfs
    assign letter=Z
    exit

  2. Rozpakowanie pliku WIM, przechodzimy do folderu gdzie znajduje się ImageX, w moim przypadku wdrażam wersję X64 (dlatego AMD64 w pierwszej linii, przy wdrażaniu X86 ścieżka będzie miała oczywiście X86 na końcu ). W drugiej linii sprawdzamy jakie są wszystkie wersje systemu dostępne w pliku WIM, w moim przypadku Windows 7 Ultimate X64 był dostępny jako <IMAGE INDEX=”4″>, dlatego w następnym kroku pojawiła się cyfra 4.

    cd /d “C:\Program Files\Windows AIK\Tools\amd64″
    imagex /info d:\sources\install.wim
    imagex /apply /check d:\sources\install.wim 4 Z:\

  3. Nadpisujemy MBR na napędzie USB (znów robię to dla wersji X64).

    cd /d “c:\program files\Windows AIK\Tools\PETools\AMD64\”
    bootsect /nt60 Z: /force /mbr

  4. Zmiana parametrów bootowania.

    bcdboot Z:\windows /s Z:

  5. Dodajemy wpisy do rejestru systemu na USB wymuszające wyłączenie pliku wymiany w celu ograniczenia zapisów na napęd USB (w razie chęci posiadania pliku wymiany z komend w linii 2 i 3 można zrezygnować jeśli chcemy zachować plik wymiany o domyślnych parametrach)  oraz zmieniamy ustawienia startu usług związanych z magistralą USB.

    REG LOAD HKLM\WindowsTemp z:\windows\system32\config\system
    REG ADD “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f
    REG DELETE “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG UNLOAD HKLM\WindowsTemp

  6. Przechodzimy eksploratorem windows do Z:\windows\inf i edytujemy następujące pliki: usb.inf, usbport.inf, usbstor.inf; dodając na początku ich treści:

    [*.AddService]
    StartType = 0
    LoadOrderGroup = boot bus extender

  7. Klucz USB z Windows 7 jest już przygotowany, można się z niego spróbować zabootować. Klucz po przygotowaniu można użyć na innej konfiguracji sprzętowej (uruchomić go na innym komputerze).
  8. Po automatycznym restarcie najprawdopodobniej system się nie włączy poprawnie. Będzie się resetował kilka sekund po starcie. Jest to spowodowane przywracaniem ustawień domyślnych rejestrów usług magistrali USB przez instalator. Zanim system będzie gotowy do pracy taka sytuacja wydarzy się dwukrotnie. Należy wtedy wykonać po kolei kroki: 5 i 6, po czym zabootować się jeszcze raz. Te same kroki należy podjąć jeśli zmienią się ustawienia i system będzie się resetował podczas startu, zdarza się, że instalacja poprawek zmienia ustawienia rejestrów odpowiedzialnych za USB, co powoduje problemy ze startem.

Przedstawioną metodę można stosować dla Windows 7 i Windows Server 2008 R2 oraz Hyper-V Server 2008 R2 (dla Hyper-V Server 2008 R2 jest wspierane przez Microsoft do instalacji do dysku VHD na USB, opiszę to wkrótce). Warto też mieć na uwadze, że wydajne USB 3.0 niedługo trafi pod strzechy, może to spowodować, że rozruch systemu z USB stanie się o wiele bardziej popularny z powodu prędkości porównywalnej do interfejsu SATA 2.

Jeśli chodzi o legalność rozwiązania jestem w trakcie ustalania jakie zdanie na temat tej metody instalacji ma firma Microsoft. Przytoczę kawałek licencji Windows 7, w oryginale:

“The software is licensed on a per copy per computer basis. A computer is a physical hardware system with an internal storage device capable of running the software. A hardware partition or blade is considered to be a separate computer.”

Po polsku brzmi to:

“Oprogramowanie jest licencjonowane w trybie kopii na komputer. Komputer to fizyczny system sprzętowy z wewnętrznym urządzeniem magazynującym dane służący do uruchomiania oprogramowania. Partycja sprzętowa lub dysk typu blade są uznawane za oddzielne komputery.”

Biorąc to dosłownie instalacja na kluczu USB znajdującym się wewnątrz sprzętu komputerowego (np. klucz podłączony wewnątrz komputera nie wystający poza obudowę)  wydaje się dopuszczalna ale tak jak napisałem parę linijek wyżej jestem w trakcie sprawdzania u źródła.

[update 27.01.2010]
Zgodnie z informacją jaką w dniu dzisiejszym otrzymałem z Centrum Obsługi Klienta Microsoft taka instalacja jest dopuszczona przez licencję Windows 7 i Windows Server 2008 R2. Cytat z maila jaki w tej sprawie otrzymałem: “Instalacja systemu na nośniku danych jakim jest USB, jest możliwa i nie powoduje, że takie postępowanie stoi w sprzeczności z licencją. Należy zwrócić uwagę na fakt, że oprogramowanie załadowane z napędu USB – w przypadku licencji OEM, przypisze się do komputera i instalacja na innym urządzeniu z tego napędu nie jest możliwa“.

źródła, poza własnym doświadczeniem:

ImageX Technical Reference – TechNet

BCDboot Command-Line Options – TechNet

Commit your… …code

Nie ma jak praca organizacji skupiającej się na produkcji oprogramowania:)

Gdzie jest umieszczony ten przycisk? Sprawdź klikając na zdjęcie i przechodząc do następnego:)

źródło: własne doświadczenie

Problem roku 2010

Na pewno czytaliście w sieci o SMSach z przyszłości i problemie klientów jednego z niemieckich banków.

Okazuje się, że to jeszcze nie koniec problemów związanych ze zmianą daty.

Noworoczny problem odnosi się też do:

  • Cisco CSM load balancer (Content Switching Module) – występuje problem z load balancingiem spowodowany wygasaniem ciasteczka w efekcie połączenia są niestabilne,
  • Symantec Endpoint Protection v11.x oraz Symantec Endpoint Protection Small Business Edition v12.x (korporacyjne systemy antywirusowe) – błędne interpretowanie sygnatur nowszych niż 01.01.2010 i uznawanie ich za przeterminowanie, do czasu wydania poprawki nie będą wydawane nowe sygnatury,
  • SpamAssassin – użytkownicy, którzy w porę nie uaktualnili systemu antyspamowego muszą borykać się z dużą ilością false positives na skutek złego naliczania wag,
  • Invision Power Board (forum dyskusyjne) – użytkownicy nie mogą dodawać wpisów do blogów,
  • Palm Pre WebOS – problemy z synchronizacją,
  • SAP – możliwa zła interpretacja daty 2010 jako 2100,
  • Arcsight – klucze licencyjne wydane przez rokiem 2007 wygasły,

Jeśli ktoś ma więcej przykładów proszę o zostawienie komentarza wraz ze źródłem.

źródła:

Any other reports of decade change problems? – isc.sans.org

The year 2010 is causing IT problems – h-online.com

Year 2016 bug plaguing text messages? – wmexperts.com

Problems obtaining cash from German ATMs – h-online.com