Наконец я решил обновить свой рабочий стол с 64-разрядной версии Windows Vista SP2 до 64-разрядной версии Windows 7. Поэтому я получил 64-битный DVD-диск с Windows 7 Professional, вставил его в компьютер, запустил программу установки и сказал обновить.
Установщик сказал мне, что некоторые вещи могут быть несовместимы с обновлением, поэтому я отменил установку и запустил помощник по обновлению. Я удалил программы и удалил драйверы, которые были несовместимы.
Обновление дошло до последнего шага (восстановление настроек); доходит до 92%, но я больше не хотел на него пялиться, поэтому вышел из комнаты. Когда я вернулся, он перезагружался обратно в Vista с сообщением «Извините, обновление не удалось».
Я немного погуглил и обнаружил, что людям повезло после удаления таких вещей, как Wireshark и драйверы ATI. Сделал это, попробовал еще раз, все равно откатился.
Я посмотрел в журналах, в частности C:\$WINDOWS.~BT\Sources\Panther\setupapi\setupapi.app.log
, и нашел следующую строку. (Каждый раз, когда я пытаюсь обновить устройство в этой строке отличается. Это самая последняя запись в журнале, я не сохранил старые.)
! cci: !NCI: Op=BIND, Layer=NDIS, Upper=Tcpip6 Lower=\Device\{9A2D9804-A610-4D0B-8B8B-392406EE148F}, Error=00000019
Я подумал, что это проблема с моими сетевыми устройствами, поэтому я удалил все (из диспетчера устройств), кроме моего порта Ethernet и минипортов WAN (я не могу удалить их, когда я удаляю их из диспетчера устройств, ничего не происходит). Я также снял флажок IPv6 на странице свойств моей сетевой карты.
Это все еще не помогло, оно все еще откатывалось после того, как я попытался обновить.
Я знаю, что могу (читай: должен) выполнить чистую установку, но я хочу, чтобы это обновление заработало. У кого-нибудь есть идеи, как заставить это обновление работать? У меня удалены драйверы моей видеокарты (ATI), все USB-устройства отключены, все сетевые устройства (кроме моего порта Ethernet и мини-портов WAN) удалены, все программы, которые советник по обновлению Windows сказал мне удалить, удалены. Что может вызвать сбой обновления Windows и откат к Vista?
PS Только сейчас я нашел список всех файлов журнала обновления Windows 7: http://support.microsoft.com/kb/927521.
PPS Вот копия моего C:\$WINDOWS.~BT\sources\Rollback\setuperr.log
(которого, как ни странно, нет в списке файлов журнала Microsoft): http://pastebin.com/X03Azd5U.
РЕДАКТИРОВАТЬ: Я посмотрел на C:\$WINDOWS.~BT\Sources\Panther\setuperr.log
и нашел это:
2011-10-03 22:19:03, Error [0x080a97] MIG HKLM\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32 [msacm.l3codecp] is not a valid registry value[gle=0x00000002]
2011-10-03 22:19:25, Error [0x0808fe] MIG Plugin {e0cbf06c-cd8b-4647-bb8a-263b43f0f974}: BthMig: Failed to migrate bthport keys, bailing out
Некоторые основные Google нашли эту ветку на форумах Microsoft, может быть, это поможет (см. Стр. 2). Я собираюсь попробовать установить MIG_UPGRADE_IGNORE_PLUGINS
в bthmigplugin.dll
, посмотрим, что произойдет.
РЕДАКТИРОВАТЬ 2: Вот полное содержимое C:\$WINDOWS.~BT\Sources\Panther\setuperr.log
(после запуска обновления с MIG_UPGRADE_IGNORE_PLUGINS
установленным в bthmigplugin.dll
): http://pastebin.com/ydKFRSL6
2011-10-04 23:24:18, Error Failed to find driver file path. Error=00000002x[gle=0x80092004]
Изменить 3: Я нашел другой поток SU: и, как он предложил, установил WinDBG. У меня не было C:\$WINDOWS.~BT\Sources\setupmem.dmp
, но у меня был C:\$WINDOWS.~BT\Sources\Panther\setupmem.dmp
. Я открыл его в WinDBG, и он сказал (Полный вывод: http://pastebin.com/3476mx1m):
WINLOGON_FATAL_ERROR (c000021a)
The Winlogon process terminated unexpectedly.
Arguments:
Arg1: fffff8a001f916c0, String that identifies the problem.
Arg2: 0000000000000001, Error Code.
Arg3: ffffffffc0000001
Arg4: 0000000000110bd8
Редактировать 4: Я также разместил это на форумах Microsoft: ссылка.
Теперь мы можем куда-нибудь добраться!
Редактировать 5: Я посмотрел в C:\$WINDOWS.~BT\Sources\Panther\setupact.log
, который является 136 МБ лог-файлом, и нашел что-то действительно полезное.
2011-10-10 21:20:34, Info [NdisCompl: Enter HrGetComponentID]
2011-10-10 21:20:34, Info ComponentID=ms_netbt_smb
2011-10-10 21:20:34, Info [NdisCompl: Exit HrGetComponentID]
2011-10-10 21:20:34, Info [NdisCompl: Enter HrGetComponentDriverFilePath]
2011-10-10 21:20:34, Error Failed to find driver file path. Error=00000002x[gle=0x80092004]
2011-10-10 21:20:34, Info [NdisCompl: Exit HrGetComponentDriverFilePath]
2011-10-10 21:20:35, Info [NdisCompl: Enter HrGetComponentID]
2011-10-10 21:20:35, Info ComponentID=ms_rasman
2011-10-10 21:20:35, Info [NdisCompl: Exit HrGetComponentID]
2011-10-10 21:20:35, Info [NdisCompl: Enter HrGetComponentDriverFilePath]
2011-10-10 21:20:35, Info ServiceName = RasMan
2011-10-10 21:20:35, Info FilePathLen = 56
2011-10-10 21:20:35, Info FilePath = C:\Windows\%SystemRoot%\system32\svchost.exe -k netsvcs
2011-10-10 21:20:35, Info Service Binary C:\Windows\%SystemRoot%\system32\svchost.exe -k netsvcs, is not a driver file
2011-10-10 21:20:35, Error Failed to find driver file path. Error=ffffffffx[gle=0x00000003]
2011-10-10 21:20:35, Info [NdisCompl: Exit HrGetComponentDriverFilePath]
Я пытался сделать netcfg -e -u ms_netbt_smb
и netcfg -e -u ms_rasman
, но ничего не произошло.
C:\Users\NTICompass>netcfg -e -u ms_netbt_smb
Trying to uninstall ms_netbt_smb ...
...done.
C:\Users\NTICompass>netcfg -e -u ms_netbt_smb
Trying to uninstall ms_netbt_smb ...
...done.
C:\Users\NTICompass>
Кажется, он не хочет удалять. Как мне удалить ms_netbt_smb
и ms_rasman
?
Редактировать 6: я удалил ms_netbt_smb
и ms_rasman
, просматривая реестр и удаляя ключи, которые на них ссылались. Теперь мой setuperr.log
пуст, и я все еще получаю cci: !NCI: Op=BIND, Layer=NDIS, Upper=Tcpip6
error. Я задал этот вопрос в качестве отдельного вопроса: обновление до Windows 7 откатывается до Vista , поскольку этот вопрос становится довольно длинным и грязным.