Какие есть дешево-сердитые способы в 21 году завиртуалить старую систему? Много хлама который разбирать лень а выкинуть жаль
Ну взять Disk2vhd, снять снимок дисков, потом попробовать загнать в виртуалку в зависимости от того, какого вендора виртуализации мюсье предпочитает. https://docs.microsoft.com/en-us/sysinternals/downloads/disk2vhd
Если венда ХР, то заменить драйвера контроллера жесткого диска на дефолтные, удалить "Microsoft ACPI-совместимая система" в диспетчере устройств и сразу выключить. После этого по идее с любого железа на любое ХР переносится сохраняя жизнеспособность.
В целом да - сделать копию / бекап и это развернуть на виртуалке. Например, можно с помощью этого https://www.paragon-software.com/free/br-free/ сделать winpe reovery образ, бекап диска, потом восстановить уже под виртуалкой на нужный диск.
При помощи Acronis TrueImage создать образ системного раздела и раскрутить на виртуалке используя UniversalRestorer
В общем так. Ноут окончательно умер, не дождавшись сиспрепа. Диск остался жив и благополучно скопировался в VHD. С EFI разделом и бутменеджером удалось договориться. Однако система (Windows 7) не грузится. В сэйфмоде перезагружается показав строку Если отключить перезагрузку при фейле, показывает синий экран --- Сообщение объединено, 2 сен 2021 --- Какие идеи, куда копать дальше? Хотелось бы обойтись без акрониса, вендовыми средствами. --- Сообщение объединено, 2 сен 2021 --- Может ли проблема возникать оттого, что неправильно назначается буква диска? На диске как выяснилось было месиво из разделов и частично удаленных ОС, утилита восстановления определяет бывший системный раздел как D: вместо C:. --- Сообщение объединено, 2 сен 2021 --- Вот что выдает отладчик: Код (Text): Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. Opened \\.\pipe\kdbg Waiting to reconnect... Connected to Windows 7 7601 x64 target at (Thu Sep 2 12:59:10.315 2021 (UTC + 8:00)), ptr64 TRUE Kernel Debugger connection established. Symbol search path is: *** Invalid *** **************************************************************************** * Symbol loading may be unreliable without a symbol search path. * * Use .symfix to have the debugger choose a symbol path. * * After setting your symbol path, use .reload to refresh symbol locations. * **************************************************************************** Executable search path is: ********************************************************************* * Symbols can not be loaded because symbol path is not initialized. * * * * The Symbol Path can be set by: * * using the _NT_SYMBOL_PATH environment variable. * * using the -y <symbol_path> argument when starting the debugger. * * using .sympath and .sympath+ * ********************************************************************* *** ERROR: Symbol file could not be found. Defaulted to export symbols for ntkrnlmp.exe - Windows 7 Kernel Version 7601 MP (1 procs) Free x64 Built by: 7601.24545.amd64fre.win7sp1_ldr_escrow.200102-1707 Machine Name: Kernel base = 0xfffff800`0281e000 PsLoadedModuleList = 0xfffff800`02a57c90 System Uptime: not available *** Fatal System Error: 0x0000007b (0xFFFFF880009AE7E8,0xFFFFFFFFC0000034,0x0000000000000000,0x0000000000000000) Break instruction exception - code 80000003 (first chance) A fatal system error has occurred. Debugger entered on first try; Bugcheck callbacks have not been invoked. A fatal system error has occurred. Connected to Windows 7 7601 x64 target at (Thu Sep 2 12:59:35.818 2021 (UTC + 8:00)), ptr64 TRUE Loading Kernel Symbols ...................................................... Loading User Symbols ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 7B, {fffff880009ae7e8, ffffffffc0000034, 0, 0} Probably caused by : ntkrnlmp.exe ( nt!PnpBootDeviceWait+136 ) Followup: MachineOwner --------- nt!RtlpBreakWithStatusInstruction: fffff800`028b8720 cc int 3 kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* INACCESSIBLE_BOOT_DEVICE (7b) During the initialization of the I/O system, it is possible that the driver for the boot device failed to initialize the device that the system is attempting to boot from, or it is possible for the file system that is supposed to read that device to either fail its initialization or to simply not recognize the data on the boot device as a file system structure that it recognizes. In the former case, the argument (#1) is the address of a Unicode string data structure that is the ARC name of the device from which the boot was being attempted. In the latter case, the argument (#1) is the address of the device object that could not be mounted. If this is the initial setup of the system, then this error can occur if the system was installed on an unsupported disk or SCSI controller. Note that some controllers are supported only by drivers which are in the Windows Driver Library (WDL) which requires the user to do a custom install. See the Windows Driver Library for more information. This error can also be caused by the installation of a new SCSI adapter or disk controller or repartitioning the disk with the system partition. If this is the case, on x86 systems the boot.ini file must be edited or on ARC systems setup must be run. See the "Advanced Server System Administrator's User Guide" for information on changing boot.ini. If the argument is a pointer to an ARC name string, then the format of the first two (and in this case only) longwords will be: USHORT Length; USHORT MaximumLength; PWSTR Buffer; That is, the first longword will contain something like 00800020 where 20 is the actual length of the Unicode string, and the next longword will contain the address of buffer. This address will be in system space, so the high order bit will be set. If the argument is a pointer to a device object, then the format of the first word will be: USHORT Type; That is, the first word will contain a 0003, where the Type code will ALWAYS be 0003. Note that this makes it immediately obvious whether the argument is a pointer to an ARC name string or a device object, since a Unicode string can never have an odd number of bytes, and a device object will always have a Type code of 3. Arguments: Arg1: fffff880009ae7e8, Pointer to the device object or Unicode string of ARC name Arg2: ffffffffc0000034 Arg3: 0000000000000000 Arg4: 0000000000000000 Debugging Details: ------------------ DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT BUGCHECK_STR: 0x7B PROCESS_NAME: System CURRENT_IRQL: 2 LAST_CONTROL_TRANSFER: from fffff8000296cc22 to fffff800028b8720 STACK_TEXT: fffff880`009ae038 fffff800`0296cc22 : fffff880`009ae7e8 fffffa80`03d24b50 00000000`00000065 fffff800`02889378 : nt!RtlpBreakWithStatusInstruction fffff880`009ae040 fffff800`0296da12 : 00000000`00000003 00000000`00000000 fffff800`028c15d0 00000000`0000007b : nt!KiBugCheckDebugBreak+0x12 fffff880`009ae0a0 fffff800`028b1fa4 : 00000000`00000003 fffff800`028b56c0 00000000`00000010 00000000`00000082 : nt!KeBugCheck2+0x722 fffff880`009ae770 fffff800`029acd96 : 00000000`0000007b fffff880`009ae7e8 ffffffff`c0000034 00000000`00000000 : nt!KeBugCheckEx+0x104 fffff880`009ae7b0 fffff800`02da6914 : 00000000`00000001 ffffffff`8000012c 00000000`00000046 fffff8a0`003c20d0 : nt!PnpBootDeviceWait+0x136 fffff880`009ae830 fffff800`02da720f : fffff8a0`003b77f0 fffff800`00c0eaf0 00000000`00000003 ffffffff`800000e0 : nt!IopInitializeBootDrivers+0x624 fffff880`009ae900 fffff800`02daa463 : 00000000`00000007 00000000`00000010 ffffffff`8000002c fffff800`00c41370 : nt!IoInitSystem+0x80f fffff880`009aea00 fffff800`02d0d5b9 : 16b44ff7`4ed1d004 fffff800`02a02180 00000000`00000080 00000000`00000001 : nt!Phase1InitializationDiscard+0x1293 fffff880`009aebd0 fffff800`02b5d2e8 : fffffa80`03d24b50 00000000`00000080 a2316d93`a13c0cf1 fffff800`028b7eb9 : nt!Phase1Initialization+0x9 fffff880`009aec00 fffff800`028b7ec6 : fffff800`02a02180 fffffa80`03d24b50 fffff800`02a121c0 fffff800`00c0eaf0 : nt!PspSystemThreadStartup+0x194 fffff880`009aec40 00000000`00000000 : fffff880`009af000 fffff880`009a9000 fffff880`009ae510 00000000`00000000 : nt!KxStartSystemThread+0x16 STACK_COMMAND: kb FOLLOWUP_IP: nt!PnpBootDeviceWait+136 fffff800`029acd96 cc int 3 SYMBOL_STACK_INDEX: 4 SYMBOL_NAME: nt!PnpBootDeviceWait+136 FOLLOWUP_NAME: MachineOwner MODULE_NAME: nt IMAGE_NAME: ntkrnlmp.exe DEBUG_FLR_IMAGE_TIMESTAMP: 5e0ead5e FAILURE_BUCKET_ID: X64_0x7B_nt!PnpBootDeviceWait+136 BUCKET_ID: X64_0x7B_nt!PnpBootDeviceWait+136 Followup: MachineOwner ---------
Дык вы в boot.ini буковку C на D меняли ? И чем является "the argument (#1)" ?? Это адрес "Unicode string", - имя раздела FS, или адрес PDO раздела FS ? В WDK есть исходники classpnp.sys, если инфа так важна и её надо восстановить.
Вобщем после длительных туземных танцев с музыкальными инструментами, попыток редактирования реестра, удаления драйверов и тыды и тыпы, выяснилось, что нужно было сделать следующее: 1. Поставить тип диска SATA!!!!!!1111 2. Прогнать с подключенного .iso восстановление системы, дать ему отработать самостоятельно и потереть все записи об убитых операционках. Все! После этого завелось и зашуршало.