Archive for the ‘16bit’ Category

Deutsche Tastaturbelegung bei 16-Bit Programmen unter Windows 10

7 Juni 2016

Noch ein kleiner Nachschlag zum vorherigen Blogeintrag https://newyear2006.wordpress.com/2016/06/06/16-bit-komponenten-unter-windows-10-und-fehlermeldung-ntvdm-angeschlossenes-gert-funktioniert-nicht/. Wer so 16-Bit Programme verwendet, der wird sich wundern wo die Umlaute geblieben sind. Man kann das Problem ganz einfach nachstellen:

Macht man eine Eingabeaufforderung auf, dann handelt es sich um eine 32-Bit Eingabeaufforderung, hier sind die Umlaute noch verfügbar. Gibt man nun COMMAND ein, wird die eigentliche 16-Bit Umgebung geladen, sind auf einmal die Umlaute weg. Selbiges passiert auch beim direkten Laden von 16-Bit Programmen über Verknüpfung oder Namenseingabe.

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Benutzer>öäß
Der Befehl "öäß" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Users\Benutzer>command
Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-2001.

C:\USERS\BENUTZER>;‘-

Dieser Artikel ist zwar alt aber hat auch bei Windows 10 immer noch Gültigkeit https://newyear2006.wordpress.com/2006/09/18/deutsche-tastaturbelegung-fur-16bit-dos-programme-unter-vista-rc1/. D. h. man aktiviert durch einfügen von

LH KB16 GR,,%SystemRoot%\system32\keyboard.sys

in der C:\Windows\System32\AUTOEXEC.NT Datei die deutsche Tastaturunterstützung. Nun muss das Programm oder die Eingabeaufforderung nur nochmal neu gestartet werden, dann ist alles gut.

Noch ein Hinweis: Nicht wundern, wenn man diesen Schritt immer wieder nach jedem größeren Windowsupgrade machen muss, da das Gesamtsystem durch z. B. das kommende Anniversary Update immer wieder zurückgesetzt wird!

16-Bit Komponenten unter Windows 10 und Fehlermeldung NTVDM angeschlossenes Gerät funktioniert nicht

6 Juni 2016

Da nun immer mehr Rechner auf Windows 10 umgestellt werden, wo davor kein Bedarf war, kommt es auch zu dem einen oder anderen Aha-Erlebnis. Eigentlich klappt der Umstieg ganz gut. Wer aber auf eine 32-Bit Windows 10 Version umgestiegen ist und noch 16-Bit DOS- oder Windowsprogramme benutzt, der könnte ganz schnell ins Fluchen geraten.

Hier bin ich schon früher auf das Thema NTVDM und 16-Bit-Programme unter Windows 8 eingegangen: https://newyear2006.wordpress.com/2013/09/15/16-bit-programme-unter-windows-8-es-muss-zuerst-die-16-bit-anwendungsuntersttzung-aktiviert-werden/, hier für Windows 8.1: https://newyear2006.wordpress.com/2013/09/15/nochmal-zum-thema-16-bit-programme-unter-windows-8-1-32-bit-und-wie-verhlt-es-sich-mit-fondue-exe-und-den-legacykomponenten/.

Dieser Dialog ist auch unter Windows 10 verfügbar die Installation der Legacyfeatures funktioniert genauso wie bei 8 und 8.1 beschrieben.

Allerdings laufen unter Windows 10 die meisten 16-Bit-Programme immer noch nicht!! Warum? Weil Microsoft eine zusätzliche Hürde für 16-Bit-Programme eingebaut hat. Es handelt sich dabei um die neue Konsole mit den erweiterten Copy&Paste-Eigenschaften über die Tastatur. Diese sorgt dafür, dass wenn ein altes 16-Bit-Programm mit installierter Legacy-Komponente aufgerufen wird diese Fehlermeldung erscheint:

image

Hier nochmal die reine Textform für die Suchmaschinen:

—————————
16 bit MS-DOS Subsystem
—————————
Eingabeaufforderung – Anwendung
NTVDM has encountered a System Error
Ein an das System angeschlossenes Gerät funktioniert nicht.

Choose ‚Close‘ to terminate the application.
—————————
Schließen   Ignorieren  
—————————

Was tun? Die Ereignisanzeige protokolliert auch nur brav mit, dass ein Problem auftrat:

PS C:\> Get-EventLog -LogName System -Source "Application Popup" -InstanceId 26 | select -First 1 | fl *

EventID            : 26
MachineName        : MeinRechnerName
Data               : {}
Index              : 945
Category           : (0)
CategoryNumber     : 0
EntryType          : Information
Message            : CriticalAppShutdownCleanupTimeout
Source             : Application Popup
ReplacementStrings : {16 bit MS-DOS Subsystem, Eingabeaufforderung – Anwendung                     NTVDM has encountered a System Error                      Ein an das System angeschlossenes Gerät funktioniert nicht.                       Choose ‚Close‘ to terminate the application.}
InstanceId         : 26
TimeGenerated      : 06.06.2016 15:15:47
TimeWritten        : 06.06.2016 15:15:47
UserName           : NT-AUTORITÄT\SYSTEM
Site               :
Container          :

Wenn man googlet, dann könnte man über diesen Thread http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_update/16-bits-applications-not-working-at-all/a776a720-ff62-4848-96b1-81b4371cff2c?page=3 stolpern und hier hat MarcelloCapozzi den richtigen Vorschlag:

Einfach die “Legacy Console” aktivieren!

Merke: Nicht nur die Legacy Komponente muss installiert werden, sondern ab Windows 10 auch noch bei den Einstellungen die Legacy Console!

image

Dazu muss man also bei den Eingabeaufforderung oder Programmverknüpfungseigenschaften auf das Register Optionen gehen. Der Hinweis “erfordert Neustart” bezieht sich nicht auf den Rechner sondern auf das jeweilige Programm, bzw. die Eingabeaufforderung.

Wer die Sache skripten muss, der kann sich um HKEY_CURRENT_USER\Console bemühen und dort speziell den Eintrag ForceV2, dieser steuert das Verhalten ob Legacy aktiviert ist oder nicht. Leider fehlt mir gerade die Zeit dies weiter auszuführen. Hier gibt es weitere Infos: https://technet.microsoft.com/en-us/library/mt427362.aspx.

Source Code von MS-DOS 2.0 veröffentlicht

25 März 2014

Yuppiee! Der erste Schritt ist gemacht. Nach über 30 Jahren wird der Source Code von MS-DOS 2.0 veröffentlicht. Bis wir den Source Code von Windows 8.1 und nachfolgend sehen werden, wird es sicherlich nicht mehr ganz so lange dauern. http://www.heise.de/newsticker/meldung/Quelltexte-von-MS-DOS-und-Word-for-Windows-veroeffentlicht-2154723.html

Hier zum Source von MS-DOS: http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/, falls nicht wieder die Guru Meditation wegen Überlastung kommt.

MS-DOS 2.0 das war das Betriebssystem, welches damals auf den ersten IBM-XT-PCs lief, dem Nachfolger des ersten als solches benannten Personal Computer, dem IBM PC. Da gab es auch schon Festplatten mit 10MB und so, ach und die flexiblen Scheiben, die 5 1/4 Zoll großen, ähm – ah ja – Floppy Disks! So ein PC war damals richtig schwer und heute tragen wir um 100 ja sogar 1000fach leistungsfähigere Geräte in der Hosentasche. Wer das alte Feeling nochmal erleben möchte, hier der Link zum MS-DOS 2.0 Emulator im Browser: http://jsmachines.net/configs/pc/machines/5160/cga/256kb/demo/

Warum es bei Windows 8.1 keine 30 Jahre bis zur Source Code Veröffentlichung dauern wird? Na weil das .Net Framework 4.5.1 bereits in seiner reinsten Form einsehbar ist: http://referencesource.microsoft.com/. Auch sind weite Teile von ASP.NET bereits unter Open Source verfügbar.

Schließlich wird Microsoft irgendwann gezwungen sein allen Source Code zu veröffentlichen, da keiner mehr den ganzen Müll warten will, den die da über die Jahre angehäuft haben. Denen gehen ja jetzt schon die ganzen Techniker aus, die sich mit dem ganzen Zeugs beschäftigen wollen bzw. die da überhaupt noch durchblicken. Man sieht dies ganz deutlich in vielen Microsoft moderierten Foren. Was da teilweise für Antworten von MS-Mitarbeitern kommen. Oder wie oft fehlt es an technischen Beschreibungen in der Knowledge Base oder Technet. Alles klare Anzeichen, dass die letzten Jahre viel in die falsche Richtung lief. Aber die Cloud soll es ja retten. Mal sehen, was nächste Woche auf der Build der neue Oberindianer von sich gibt.

Nochmal zum Thema 16-Bit-Programme unter Windows 8.1 32-Bit und wie verhält es sich mit FONDUE.EXE und den Legacykomponenten?

15 September 2013

Nachdem das Thema im vorhergehenden Artikel https://newyear2006.wordpress.com/2013/09/15/16-bit-programme-unter-windows-8-es-muss-zuerst-die-16-bit-anwendungsuntersttzung-aktiviert-werden/ schon ausführlich beschrieben wurde, folgt hier nun die Fortsetzung speziell auf Windows 8.1 bezogen.

Die Microsofties scheinen für die Zukunft Großes zu planen und gehen immer mehr in die Richtung nur die Komponenten einzusetzen, die wirklich benötigt werden. Mein Vorschlag: Powershell verwenden und auf den ganzen GUI-Käse verzichten Smiley. Spaß beiseite, wenn man unter Windows 8.1 bei Windows-Features aktivieren oder deaktivieren schaut, fällt einem bei der 32-Bit Version NTVDM auf, unter 64-Bit gibt es nur Directplay. Profis wissen, NTVDM das ist die DOS-Maschine unter Windows NT Anno dazumal.

Im oben genannten Artikel wurde der Dialog beschrieben der beim Aufruf von 16-Bit-Programmen erscheint. Unter Windows 8.1 sieht dieser nun so aus:

image

Deutlich professioneller, fast wäre man geneigt “Modern App”-Like zu sagen! Aber die Funktion ist die Gleiche wie beim alten Dialog. Es wird die NTVDM-Umgebung eingerichtet, damit die alten 16-Bit-Programme aufgerufen werden können.

Um in Setupskripten diese Komponenten automatisch einrichten zu können, kann man DISM.EXE verwenden.

So aktiviert diese Zeile die Unterstützung für 16-Bit:

dism /online /enable-feature /all /featurename:NTVDM

diese schaltet sie wieder ab:

dism /online /disable-feature /featurename:NTVDM
dism /online /disable-feature /featurename:LegacyComponents

Diese Zeilen entsprechen quasi den RUNDLL32-NTVDMCPL.DLL-Aufrufen vom letzten Artikel.

Apropos, da ich oben Powershell genannt hatte, hier noch die Kommandos in Powershell:

Enable-WindowsOptionalFeature –Online –FeatureName NTVDM –All

Zum Ausschalten:

Disable-WindowsOptionalFeature –Online –FeatureName NTVDM
Disable-WindowsOptionalFeature –Online –FeatureName LegacyComponents

Und noch die Abfrage, ob das Feature aktuell aktiv ist oder nicht:

(Get-WindowsOptionalFeature –Online) | where FeatureName –eq NTVDM

dies gibt dann ein BasicFeatureObject zurück:

Feature Name: NTVDM
State              : Disabled

Wenn man den State direkt abfragen möchte, sieht das noch professioneller aus:

(((Get-WindowsOptionalFeature –Online) | where FeatureName –eq NTVDM).State) –eq [Microsoft.Dism.Commands.FeatureState]::Enabled

Dies liefert dann wirklich ein Boolean mit $true oder $false zurück, mit dem man dann arbeiten kann. Für alle Scriptschreiber beachten: Der FeatureState kann noch weitere Werte annehmen:

[Enum]::GetNames([Microsoft.Dism.Commands.FeatureState])

ergibt:

Disabled
DisablePending
Enabled
EnablePending
Superseded
PartiallyInstalled
DisabledWithPayloadRemoved

Schön, so haben wir hier einen Legacy-Artikel der den Bogen von 16-Bit-MS-DOS-Programmen in die wunderbare Welt der Monads mit Powershell schlägt.

Stopp, ich hatte in der Überschrift noch FONDUE.EXE erwähnt, das wollte ich jetzt nicht unterschlagen. Wer die im vorhergehenden Artikel beschriebene Variante zum Aufruf der Einstellungen für 16-Bit-Anwendungsprogramme in der Systemsteuerung probiert, der bekommt FONDUE.EXE zu Gesicht. FONDUE ist jetzt nichts zum Essen sondern steht eher für FeatureOnDemand, wo auch immer das U herkommt. Mmmh, vielleicht wenn man UE für UserExperience setzt. Ja, in Zeiten von Modern UI muss es so sein. Merken wir uns FONDUE steht für Feature On Demand User Experience! Siehe da, schon im August 2011 hat die BILD.DE darüber berichtet!!! http://www.bild.de/digital/internet/windows-betriebssysteme/windows-8-vorabversion-kurzt-test-c_b-19363404.bild.html. Erinnert mich an: Bild sprach mit dem Toten…

16-Bit Programme unter Windows 8, es muss zuerst die 16-Bit Anwendungsunterstützung aktiviert werden

15 September 2013

Öfter mal was Neues! Da dieser Blog ja ein Herz für 16-Bit Programme hat, war ich um so mehr erstaunt also mir aktuell eine Meldung mit 16-Bit über den Weg lief.

Jetzt wird jeder einwenden, ja ist doch logisch! Unter 64-Bit Windows gibt es ja keine Unterstützung mehr für 16-Bit Programme. Stimmt! Aber in diesem Fall war es Windows 8 als 32-Bit Version! Der Fall ist etwas besonders, ja sogar so besonders, dass nicht einmal Microsoft Mitarbeiter Bescheid wissen.

So sieht der Dialog aus, ich stelle ihn Ausnahmsweise als Grafik ein, hat einfach Seltenheitswert (man beachte das tolle Win 3.x-Icon):

image

Wichtig dabei ist, die Meldung erscheint, egal ob es sich um echte 16-Bit MS-DOS-Programme handelt oder um 16-Bit-Windowsprogramme.

Blöd nur, wer im ersten Augenblick “Deaktivieren” anklickt, der hat verloren. Yes! Es gibt nämlich keine offensichtliche Methode die gemachte Auswahl einfach zu ändern. Mist! Wann immer man nun das betreffende Programm versucht zu starten, erscheint:

fibu.exe ist eine 16-bit-Anwendung. Sie sind nicht dazu berechtigt, 16-bit-Anwendungen auszuführen. Überprüfen Sie Ihre Berechtigungen mit dem Systemadministrator.

Analog erscheint in der Eingabeaufforderung:

Das angegebene Programm kann nicht ausgeführt werden.

Dumm nur, wenn der Systemadministrator keinen Plan hat. Noch blöder, wenn die Jungs von der Herstellerfirma, also MS, auch keinen Plan haben: http://answers.microsoft.com/en-us/windows/forum/windows_8-performance/how-to-enable-16-bit-application-support-in/a8d8c10d-0bbe-4a5f-a3b8-45e9725496fc. Aber was will man erwarten, wenn die Sache nicht einmal irgendwo im Technet oder MSDN dokumentiert ist. Dies führt dann z. B. auch zu der tollen Situation, dass auf Stackoverflow solche unrelevanten Fragen einfach Zwangsgeschlossen werden. Yupiee! http://stackoverflow.com/questions/13037968/how-to-enable-16-bit-applications-on-windows-8.

OK – es gibt immer einen Weg. Unbedarfte verwenden einfach die Systemwiederherstellung, in der Hoffnung, dass diese aktiviert war und nicht neue Probleme schafft. Danach nochmal die 16-Bit-Anwendung starten und hoffen, dass die Abfrage nochmal erscheint.

Der Profi ruft die Systemsteuerung auf und gibt dort im Suchfenster 16 ein. Oder noch einfacher man gibt 16 im Startbildschirm ein und klickt auf Einstellungen, dann taucht “Unterstützung für 16-Bit-Anwendungen” auf. Hier kann man die Einstellung jederzeit ändern und es erscheint obiger Dialog wieder.

Zum Schluss nun noch die Variante für die Commandliner. Wer diesen Punkt direkt verändern möchte, der braucht Admin-Rechte und kann dann über diesen Aufruf die Einstellung ändern, ohne dass der Benutzer behelligt wird:

rundll32.exe ntvdmcpl.dll,SetDPDExport 2

Alternativ kann man mit dieser Einstellung die Einstellung deaktivieren:

rundll32.exe ntvdmcpl.dll,SetDPDExport 1

Oder mit dieser die Einstellung wieder auf den Ursprungszustand stellen:

rundll32.exe ntvdmcpl.dll,SetDPDExport 0

Auch kann man den Dialog als solches aufrufen:

rundll32 shell32.dll,Control_RunDLL ntvdmcpl.dll

Bin mal gespannt wie viele Leute sich hier melden und über diesen Dialog noch stolpern, in Zeiten von 64-Bit Windows. Vielleicht dient dieser Beitrag aber auch nur, den Zeitgenossen mit 64-Bit zu verdeutlichen, dass es nicht immer nur eine Sicht gibt, sondern die Welt vielschichtiger sein kann.

Oplocks oder Opportunistic Locking lässt einen nicht los oder wie man alte 16bit Clipper Programme mit Server 2008 R2 Fileshares ans Laufen bekommt

24 Mai 2011

Hier der passende KB Artikel für die Oplocks: http://support.microsoft.com/kb/296264

Zur Abfrage der Einstellung:

reg query "HKLM\System\CurrentControlSet\Services\lanmanserv
er\parameters"

Zum Abschalten am Server:

reg add "HKLM\System\CurrentControlSet\Services\lanmanserver
\parameters" /v EnableOplocks /t REG_DWORD /d 0

Damit aber nicht genug. Denn es muss gleichzeitig noch SMB2 abgeschaltet werden. Ob man dies nun am Server oder am Client macht hängt davon ab, welche Clients ein Problem haben.

Auf die Schnelle kann man SMB2 auf dem Server abschalten, wenn man laut diesem Artikel http://www.petri.co.il/how-to-disable-smb-2-on-windows-vista-or-server-2008.htm# mittels

reg add "HKLM\System\CurrentControlSet\Services\lanmanserver
\parameters" /v Smb2 /t REG_DWORD /d 0

abschaltet. Ein zusätzliches Abschalten auf den Clients sollte eigentlich nicht notwendig sein, denn damit SMB2 verwendet wird, muss dieses auf beiden Seiten aktiv sein.

Infos zu SMB2: http://blogs.technet.com/b/josebda/archive/2008/12/05/smb2-a-complete-redesign-of-the-main-remote-file-protocol-for-windows.aspx

In Verbindung mit SMB2 und dessen spezifische Registrierungseinträge dürfte dieser Forumeintrag noch interessant sein: http://social.msdn.microsoft.com/Forums/en/os_fileservices/thread/832d395b-6e6f-4658-8dbb-120138a4cd7c

Da werden so tolle Dinge wie


==============================================================================
Registry values

All listed settings are in the following registry location:

Key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkStation\Parameters

Value type:    REG_*
Value name: <name of value>
Default:        <value if note present>

==============================================================================
Vista, 2008, …

Value type: REG_DWORD
Value name: AllowGuestAuthWhenSigningRequired
Default:    FALSE

Group Policy settings are not applied on member computers that are running Windows Server 2008 or Windows Vista SP1 when certain SMB signing policies are enabled
http://support.microsoft.com/kb/950876

When a Server Message Block (SMB) version 1 client establishes a non-guest session or a non-anonymous session with a server, the client enables security signatures for the server. Later sessions then inherit the security signature sequence that is already established.

To improve security, Windows Server 2008 and Windows Vista SP1 prevent server authenticated connections from being maliciously downgraded to a guest session or to an anonymous session. However, this improved security does not address the scenario that is described in the "Symptoms" section (Event ID: 1058).

==============================================================================
Vista, 2008, …

Value type: REG_DWORD
Value name: FileInfoCacheLifetime
Default:    10 (seconds)

Used for increasing network file system performance.
The caches are consistent when changes are made by the client, but if changes are made from another client, they may not be reflected until the cache times out.

==============================================================================
Vista, 2008, …

Value type: REG_DWORD
Value name: FileNotFoundCacheLifetime
Default:    5 (seconds)

Used for increasing network file system performance. The caches are consistent when changes are made by the client, but if changes are made from another client, they may not be reflected until the cache times out.

==============================================================================
Vista, 2008, …

Value type: REG_DWORD
Value name: DirectoryCacheLifetime
Default:    10 (seconds)

Used for increasing network file system performance. The caches are consistent when changes are made by the client, but if changes are made from another client, they may not be reflected until the cache times out.

==============================================================================
Vista, 2008, …

Value type: REG_DWORD
Value name: DisableBandwidthThrottling
Default:    FALSE

Performance Tuning Guidelines for Windows Server 2008.
http://go.microsoft.com/fwlink/?LinkId=121171

The default is 0. This setting is available starting with Windows Server 2008 SP2. By default, the SMB redirector throttles throughput across high-latency network connections in some cases to avoid network-related timeouts. Setting this registry value to 1 disables this throttling, enabling higher file transfer throughput over high-latency network connections.

beschrieben.

Generell haben alle möglichen Leute Probleme damit: http://social.technet.microsoft.com/Forums/en-US/winservergen/thread/01ddd2c0-568d-457e-a229-8f51872610b0/

Dieser Hotfix http://support.microsoft.com/kb/2028965 ist im SP1 für Windows 7 und Server 2008 R2 enthalten. Die Frage ist nun aber bezüglich Windows Vista, welche Rolle er dort spielt?

16Bit Fibu lässt sich nach Umzug von NT4-Server auf SBS2011 nicht mehr starten

29 April 2011

Eigentlich keine große Sache, es sollte eine in sich geschlossene Fibu welche im Netz auf einem NT4-Server gespeichert war, umgezogen werden auf einen Small Business Server 2011. Bei der Fibu handelt es sich um die GDI-Fibu für Windows in einer älteren 16Bit Version. Eigentlich genügt es das Verzeichnis auf einen anderen Rechner zu schieben und es läuft.

Aus dieser Kenntnis heraus, war also mit keinen Problemen mit dem Programm bei der Serverumstellung zu rechnen. Aber weit gefehlt. Als das Verzeichnis N:\WINFIBUNEU beim neuen Server übernommen wurde, wurde das passende Netzlaufwerk N: bei der Verknüpfung eingerichtet und los konnte es gehen. Denkste.

Beim Aufruf der Verknüpfung gabs ne Fehlermeldung:

Fehler in 16Bit-Bit-Windows-Programm

Datei "N:\WinFibuNeu\fibu.exe” (oder Komponente) nicht gefunden. Überprüfen Sie, ob der Pfad- oder Dateiname korrekt sind und ob alle erforderlichen Bibliotheksdateien zur Verfügung stehen.

Hä was soll das? Das Verzeichnis kurz auf die lokale Platte gespielt und läuft. Also eine Abhängigkeit kann es nicht sein. Also zu wenig Rechte auf dem Netzlaufwerk? Nein, auch der Admin hat Probleme.

Zum Glück gibt es den Process Monitor von Sysinternals. Mit diesem wurde die ganze Sache mal aufgezeichnet, was im Hintergrund so alles passiert.

Siehe da, bei einem CreateFile-Aufruf sollte das Verzeichnis N:\WinFibuN geöffnet werden aber als Result steht “NAME NOT FOUND”. Ist ja logisch, denn das Verzeichnis heißt ja auch N:\WinFibuNeu!

Aber was ist der Grund? Na klar, die guten alten 16Bit Programme können halt nix mit den langen Dateinamen anfangen. Also braucht es den Kurznamen in 8.3 Notation. Ja aber beim NT4-Server gabs doch auch keine Probleme! Richtig, der war aber auch 32Bit und der SBS2011 ist 64Bit und da ist 8.3 Notation ausgeschaltet!

Wer es nicht glaubt ein kleines

fsutil behavior query C:

auf dem Serverlaufwerk liefert den Beweis.

Und die Moral von der Geschicht? 16- und 64Bit vertragen sich nicht!

Okay wenn man das Problem kennt, dann kann man auch hergehen und den Verzeichnisnamen auf 8 Zeichen kürzen, dann klappt wieder alles. Also aus N:\WinFibuNeu wurde N:\WinFibuN. Das wars.

GPT-Boot-Datenträger mit Diskpart einrichten

16 Februar 2011

MBR und 16bit ade, jetzt schlägt die Stunde von 64bit und UEFI. Es gibt noch nicht viele Informationen über GPT-Datenträger zum momentanen Zeitpunkt. Man muss sich noch alle möglichen Infos aus allen Ecken zusammentragen. GPT steht übrigens für GUID Partition Table. MSR steht für Microsoft Reserved Partition und ESP für EFI System Partition.

Die wichtigsten Begriffe im Zusammenhang mit GPT, MSR und ESP werden hier geklärt: http://www.microsoft.com/whdc/device/storage/gpt_faq.mspx

Schema eines GPT-Datenträgers: http://www.microsoft.com/whdc/device/storage/gpt-on-x64.mspx

Nochmal eine schematische Darstellung von GPT-Datenträgern in Verbindung mit der Aufteilung der Partitionen: http://blogs.technet.com/b/askcore/archive/2010/10/08/gpt-in-windows.aspx

Aber eines ist sicher: GPT bringt viele Vorteile bei der Festplattenverwaltung und dass moderne Festplatten optimal angesprochen werden können (Thema Alignment). Dazu noch UEFI mit 64bit Code wo vorhandenen Speicher, der in der Regel im Überfluss da ist, nun auch optimal verwenden kann. Endlich lässt sich der Flaschenhals mit dem Ruhezustandsmodus entschärfen.

Trotz aller Vorteile ergeben sich noch ewig viele Fragen.

Als erste wäre dies: Wie erstellt man einen GPT-Datenträger unter Windows 7? Ganz einfach, mittels

CONVERT GPT

Allerdings darf davor keine Partition auf der Platte vorhanden sein, also löscht man diese mittels CLEAN.

GPT-Datenträger sind aber ganz anders aufgebaut und benötigen neben der eigentlichen Datenpartition gleichmal zwei zusätzliche Verwaltungspartitionen EFI-Systempartition und MSR.

Schön dargestellt und wie man diese einrichtet, stellt dieser Artikel dar: http://technet.microsoft.com/de-de/library/dd744301(v=WS.10).aspx

Tipp: Achso, GPT mag Vorteile bringen und gibt es schon relativ lange, allerdings werden die Kinderkrankheiten in Verbindung mit UEFI Bootvorgängen erst gerade ausgemerzt. Man sollte also nach Möglichkeit sein 64bit Windows 7 mit der GPT-Bootpartition erst einrichten, wenn man ein Windows 7 mit integriertem Service Pack 1 Installationsdatenträger hat.

Beispiel: http://support.microsoft.com/kb/975535/ 
und http://support.microsoft.com/kb/979374

Weitere Probleme: VHD-Boot ist nicht möglich: http://www.delltechcenter.com/page/uEFI+Boot+to+VHD oder mögliche Probleme mit Hyper-V: http://www.mcseboard.de/virtualisierung-82/windows-server-backup-efi-maschine-hyper-v-nutzen-167416.html

Wird alles noch richtig spaßig!

WPF Anwendung kann aus 16bit Umgebung heraus nicht gestartet werden

7 Januar 2010

Wenn man per eine 16bit Umgebung ausführt bzw. command.com direkt ausführt und dann aus dieser Umgebung heraus versucht eine WPF Anwendung zu starten, der bekommt einen AppCrash serviert.

Die Lösung des Problems in der 16bit Umgebung

set windir=C:\Windows

zu setzen, danach konnte die WPF Anwendung gestartet werden. Hintergrund dürfte die Suche nach den im System verfügbaren Zeichensätzen gewesen sein. Da windir nicht bekannt war, wurde c:\windows\fonts nicht gefunden.

Wenn man windir nicht per Commandline direkt setzen kann, dann muss die Zuordnung innerhalb der AUTOEXEC.NT erfolgen!

Schriftarten für Eingabeaufforderung erweitern

20 März 2009

Selbst in Windows 7 finden sich nur die Standardschriftarten Lucida Console und der Rasterschriftfont mit einer sehr begrenzten Auswahl an Größen.

Gerade bei den heutigen vielfältigen Möglichkeiten welche Auflösung ein Monitor unterstützt, reichen die Standardfonts nicht immer aus um den Platz optimal zu nutzen.

Bei den Rasterschriftarten ist bei 10×18 Pixeln Schluss, eine Erweiterung hatte ich schon Mal hier beschrieben: https://newyear2006.wordpress.com/2006/09/18/hilfreiche-utilities-fur-16bit-dos-programme-unter-vistaxp2000nt/

Nun gibt es seit Windows Vista und Office 2007 neue Fonts, unter anderem Consolas:
http://www.microsoft.com/typography/ctfonts/ConsolasPoster.xps

Diese Schrift lässt sich ganz einfach mittels einer Registryänderung einbinden:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont" /v 00 /d Consolas

Würde man weitere Fonts hinzufügen z. B. Courier New:

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont" /v 000 /d "Courier New"

Wichtig: Nach dieser Änderung muss man den Rechner neu starten, damit die Änderung auch dauerhaft zur Verfügung steht.

Basierend auf: http://phatness.com/node/1643