Wechsel zwischen IDE und AHCI (SATA)-Modus

Tauscht man bei einem bestehenden Windows-System den Hostcontroller für die Festplatte aus, z.B. durch einen Boardwechsel, startet Windows nicht mehr und bringt vielmehr einen Fehler


STOP: 0x0000007B (0xF741B84C,0xC0000034,0x00000000,0x00000000) INACCESSIBLE_BOOT_DEVICE


Auf anderen Systemen ist ein ständiger Neustart zu beobachten. Grund ist der neue Hostadapter, den Windows zwar beim Hochfahren erkennt, jedoch nicht weiß, welchen Treiber es benutzen soll. Eine Abhilfe wäre, wenn das System mit dem generischen Treiber starten würde. An diese Lösung hat aber Microsoft wohl nicht gedacht.

Der Fehler tritt auf, da es für IDE-Controller verschiedene Chipsätze, wie z.B. Intel, VIA, etc., und des Weiteren für jeden Chipsatz einen anderen Plug & Play-Identifier gibt. Die erforderlichen Treiber können nicht initialisiert werden, da die Informationen zu den Plug & Play-Identifier in der Registry fehlen. Die generischen Treiber, die auf allen Chipsätzen laufen, werden im Laufe der weiteren Installation durch chipsatzspezifische Treiber ersetzt, die nicht mehr unter allen Chipsätzen laufen. Dieser Prozess muss durch die angegebene Treiber-Ersetzung rückgängig gemacht werden, damit der Board-Wechsel gelingt.

Eine Möglichkeit wäre, in der nachstehenden Liste nachzusehen, ob der PnP-ID (Plug & Play-Identifier) vom Mainboard mit einer der PnP-IDs vom anderen Mainboard übereinstimmt. Welche IDE-Controller jeweils im ersten und im zweiten Motherboard verwendet werden, kann in der Datei Setupapi.log, die im "Windows"-Ordner liegt, bzw. Setupapi.app.log (für Vista/Win7/Win8), die im versteckten, geschützten "inf"-Ordner liegt, nach PnP-IDs nachgesehen werden.

Anschließend können die Registrierungseinträge zusammengeführt bzw. die benötigten PnP-IDs in der Registrierung belassen werden.

In der nachfolgenden Liste sind die PnP-IDs für alle IDE-Controller aufgeführt, die Windows unterstützt:
---------------------------------------------------------------------

Standard-IDE-ATA/ATAPI-Controller
Secondary_IDE_Channel=%SystemRoot%infMshdc.inf

Generic ESDI Hard Disk_Controller
PNP0600=%SystemRoot%infMshdc.inf

Aztech IDE Controller
AZT0502=%SystemRoot%infMshdc.inf

Device ID for Generic Dual PCI IDE
PCICC_0101=%SystemRoot%infMshdc.inf

ALI IDE Controller
PCIVEN_10B9&DEV_5215=%SystemRoot%infMshdc.inf
PCIVEN_10B9&DEV_5219=%SystemRoot%infMshdc.inf
PCIVEN_10B9&DEV_5229=%SystemRoot%infMshdc.inf

Appian Technology
PCIVEN_1097&DEV_0038=%SystemRoot%infMshdc.inf

CMD Technology
PCIVEN_1095&DEV_0640=%SystemRoot%infMshdc.inf
PCIVEN_1095&DEV_0646=%SystemRoot%infMshdc.inf
PCIVEN_1095&DEV_0646&REV_05=%SystemRoot%infMshdc.inf
PCIVEN_1095&DEV_0646&REV_07=%SystemRoot%infMshdc.inf
PCIVEN_1095&DEV_0648=%SystemRoot%infMshdc.inf
PCIVEN_1095&DEV_0649=%SystemRoot%infMshdc.inf

Compaq
PCIVEN_0E11&DEV_AE33=%SystemRoot%infMshdc.inf

Intel
PCIVEN_8086&DEV_1222=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_1230=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_7010=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_7111=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_2411=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_2421=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_7199=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_244A=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_244B=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_248A=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_7199=%SystemRoot%infMshdc.inf
PCIVEN_8086&DEV_7601=%SystemRoot%infMshdc.inf

PC Technology
PCIVEN_1042&DEV_1000=%systemroot%infMshdc.inf

Silicon Integrated System
PCIVEN_1039&DEV_0601=%SystemRoot%infMshdc.inf
PCIVEN_1039&DEV_5513=%SystemRoot%infMshdc.inf

Symphony Labs
PCIVEN_10AD&DEV_0001=%SystemRoot%infMshdc.inf
PCIVEN_10AD&DEV_0150=%SystemRoot%infMshdc.inf

Promise Technology
PCIVEN_105A&DEV_4D33=%SystemRoot%infmshdc.inf

VIA Technologies, Inc.
PCIVEN_1106&DEV_0571=%SystemRoot%infMshdc.inf

Standard Microsystems Corp.
PCIVEN_1055&DEV_9130=%SystemRoot%infMshdc.inf

Toshiba
PCIVEN_1179&DEV_0105=%SystemRoot%infMshdc.inf
---------------------------------------------------------------------
Dann die Dateien Atapi.sys, Intelide.sys, Pciide.sys und Pciidex.sys
aus %SystemRoot%\Driver Cache\i386\Driver.cab, für Windows Vista, Windows 7 und Windows 8 wäre das Verzeichnis C:\Windows\System32\DriverStore\FileRepository (im jeweiligen Unterordner) zuständig, in den Ordner
%SystemRoot%\System32\Drivers extrahieren (bei Vista/Win7/Win8 liegen die Dateien schon im "Drivers" und müssen nicht extrahiert werden) und die mergeide.reg downloaden.

Einfacher wäre es, bevor das Mainboard ausgewechselt wird, dass die Dateien Atapi.sys, Intelide.sys, Pciide.sys und Pciidex.sys ausgetauscht werden. Und zwar aus dem Verzeichnis %Systemroot%\system32\drivers durch diejenigen aus der CAB-Datei unter %Systemroot%\Driver Cache\i386\driver.cab. Nun noch zusätzlich die mergeide.reg downloaden und zusammenfügen (Kontextmenü), danach kann das Mainboard problemlos gewechselt werden.

Download mergeide.reg (gepackt)

Eine Abhilfe hierfür beschreibt Microsoft Knowledge Base Article 314082 (für Windows XP).
Microsoft Knowledge Base Article 922976 (für Windows Vista und Windows 7).

Mit jedem Service Pack wird auch eine gleichnamige CAB-Datei im »Driver Cache Verzeichnis« angelegt (gilt nicht für Vista, Win7, Win8). Das gilt auch bei Installationen mit integriertem Service Pack. Die driver.cab ist auf jedem Windows (bis einschließlich Win2003) vorhanden, und dort sind alle Treiber drin. Die SP-Cabs stellen Aktualisierungen einiger Treiber daraus dar. Wer also aktuellere Treiber nehmen möchte, kann sich die Dateien dort herausholen. Das Archiv würde z.B. bei Windows 2000 SP4 "SP4.CAB" lauten. Allerdings ist es nicht falsch, die driver.cab als Quelle zu nehmen. Der Weg über die SP-Cabs ist die sauberere Art, weil keine alten Dateien auf dem System wiederhergestellt werden, sofern in der SP-Cab vorhanden. Für Windows Vista, Windows 7 und Windows 8 gilt C:\Windows\System32\DriverStore\FileRepository bzw. C:\Windows\System32\drivers.

Man kann auch vor dem Boardwechsel einfach den Treiber in Standard-Zweikanal-PCI-IDE-Controller installieren und entfernt den chipsatz-spezifischen Treiber.

Ausgeschaltete Treiber lassen sich in der Registry reaktivieren, sofern Windows noch startet - etwa nach Zurückstellen der SATA-Einstellungen im BIOS-Setup.

In der Registry, (Start - Ausführen: regedit [OK] - regedt32 [OK] für Win2000 und WinNT bzw. die Registry als Administrator ausführen)

unter


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services



finden Sie diverse Unterschlüssel, die jeweils Daten für einen Dienst oder Treiber enthalten.
Wichtig sind hier die Unterschlüssel mit den Bezeichnungen
pciide (für PCI IDE Bustreiber, System Bus Extender)
oder
pciidex (für PCI IDEx Bus Driver Extension)
atapi (Standardtreiber für IDE-Adapter, IDE-Kanal)
msahci (für SATA-Controller im AHCI-Modus, SCSI Miniport)
storahci (für SATA-Controller im AHCI-Modus, SCSI Miniport)
intelide (für Intel ICH4- oder ICH5-Southbridge, System Bus Extender).

In allen Unterschlüsseln ist jeweils ein Eintrag namens Start zu finden mit dem Wert 0 oder 4.
Der Wert 4 bedeutet, dass Windows Vista, Windows 7 oder Windows 8 den dazugehörigen Treiber nicht lädt und der Wert 0 steht für das Laden während des Booten.

Die Werte sollten also alle auf 0 stehen bzw. geändert werden.

pciidex



atapi



msahci



intelide



Es muß nicht unbedingt beim Boardwechsel die Fehlermeldung INACCESSIBLE_BOOT_DEVICE kommen.

Ein Wechsel von IDE auf AHCI kann die Meldung auch auslösen, obwohl beide Treiber installiert sind - Pciide.sys für IDE und msahci.sys und storahci.sys für AHCI. Der Grund ist, daß der jeweilige Treiber nicht aktiviert ist.

In der Registry wird der jeweilige Treiber einfach aktiviert.

Für AHCI (msahci.sys)


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci



Start - Wert = 0

Der Wert 0 steht für das Laden während des Booten.

Für AHCI (storahci.sys)


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\storahci



Start - Wert = 0

Der Wert 0 steht für das Laden während des Booten.
Falls ein Unterschlüssel "Start Override" unter storahci existiert, muss dieser gelöscht werden.

Windows 8


ACHTUNG:
Nun den Rechner neu starten und erst jetzt im BIOS (BIOS Setup) von "IDE" auf "AHCI" umstellen.

Für IDE (Pciide.sys) gilt die selbe Vorgehensweise.

Eine andere Möglichkeit zeigt jaqe.de:
Bei der Installation von Windows XP wurde im BIOS die Einstellung für den SATA-Controller auf "Enhanced, IDE" belassen. Das hat u.a. die Folge, dass NCQ (Native Command Queueing) moderner Festplatten nicht verwendet wird. Es gibt allerdings eine Möglichkeit, um Windows XP nachträglich mit AHCI vertraut zu machen.
Lesen Sie den ganzen Tipp bei jaqe.de/...


Weblinks

Bewertung

Besucherwertung (52 Stimmen)
5 / 6
(Höher ist besser)

Haben Sie Fragen dazu oder Probleme mit dem Tipp, dann melden Sie uns dies über das spezielle Kontaktformular.
Danke sagt das WinTotal-Team.