This article covers a failure that occurs after Ghost has finished copying disk data during a Windows 11 and Ubuntu dual-boot deployment on a GPT/UEFI disk. The disk copy itself completes successfully. The failure happens in a separate step immediately afterward, while Ghost updates the Windows boot configuration on the newly restored partition.
This article applies to Ghost Solution Suite 3.3 deployments using Ghost64.exe to restore a single image containing both a Windows 11 partition and a Ubuntu partition on the same GPT disk. It does not apply to single-OS deployments or to MBR disks.
A dual-boot GPT/UEFI deployment involves two stages. First, Ghost copies the disk data sector-by-sector or file-by-file depending on the switches used, writing both the Windows and Ubuntu partitions to the destination disk. Second, once the copy reaches 100%, Ghost runs a post-copy step that mounts the restored Windows NTFS partition and updates its boot configuration, this is what keeps the Windows Boot Manager and GRUB entries on the EFI System Partition pointing at valid, current partitions after the disk layout has changed.
The failure covered in this article happens in the second stage, not the first. Ghost has to read the Master File Table (MFT) of the NTFS partition it just finished writing in order to locate and patch the boot configuration data. Reading fresh metadata immediately after a large write is one of the more fragile points in this sequence, and a dual-boot GPT/UEFI layout adds more boot-related structures for Ghost to work through than a single-OS deployment does. This is why the deployed disk remains intact and bootable even when the error appears — the data transfer already succeeded before this step started.
Processor exception
Generated at C:\ghost\Ghost\src\Hal\HardExceptionHandlerWin32.cpp:314
Thread #2120 Call Stack
NTFSStreamServer::returnMFTHeader
NTFSMFTRecord::detect
NTFSStreamServer::getMFTRecordHandle
NTFSAttributeList::loadAttributeRegistry
NTFSAttributeRangeCollection::loadRegistry
NTFSAttributeRangeCollection::detect
NTFSStreamServer::detect
NTFSFilesystem::initialiseStreamServer
NTFSFilesystem::detect
NTFSMountFacet::mount
FilesystemMounter::mount
FilesystemMounter::getFilesystem
LfoFilesystemManager::makeFromPath
WindowsBootConfig::mountfs
WindowsBootConfig::openStream
WindowsBootConfig::patchRecoveryConsole
WindowsBootConfig::updateDisk
WindowsBootConfig::update
LocalUpdateWindowsConfig
updateWindowsConfig
updateWindowsDiskConfig
CopyFileToDisk
GhostClonerImpl::copy
GhostClonerImpl::runMainScript
sub_main
main
Call Stack
M:\ - M:\Ghost\Ghost64.exe 12.0
0xFFFFFFFF92BC796D
Exception code: 0xc0000005 ACCESS_VIOLATION
GSS 3.3.13
Ghost64.exe 12.0.0.11809 (Aug 21 2025 build)
Primary OS: Windows 11 25H2
Secondary OS: Ubuntu 24.04 LTS (XFS)
The error occurs while Ghost64.exe is running its post-copy Windows boot configuration update on the NTFS partition, immediately after the disk data transfer finishes. It is not related to the data transfer itself, and it is not related to the Linux filesystem or distribution in use. Ubuntu 24.04 LTS with an XFS partition is a supported configuration for imaging in Ghost Solution Suite 3.3 RU11 and later.
GHOSTERR.TXT shows the crash occurring inside NTFS Master File Table parsing (NTFSMFTRecord::detect, NTFSAttributeRangeCollection::loadRegistry), called from the boot configuration update path (WindowsBootConfig::update, WindowsBootConfig::patchRecoveryConsole, WindowsBootConfig::mountfs). This identifies where Ghost fails.
Before applying the workaround, rule out a previously known and already-resolved cause of the same error number.
The following are provided as suggestions. It is based on a documented case of a comparable Windows/Linux dual-boot deployment that succeeded using raw disk mode on both sides of the operation.
Retrieve GHOSTERR.TXT first regardless of which option is used (see step 0), to run the diagnosis path above and to have it available if escalating.
Step | Action | Why |
0 | Retrieve GHOSTERR.TXT from the automation environment: at the command prompt, run cd X:\ghost, then notepad GHOSTERR.TXT, then File > Save As to external storage or a network share. The file may instead be named Ghosterr.dmp, viewable with the Microsoft Debug utility. | Needed to run the diagnosis path above, and required either way if escalating per step 5. |
1 | Recapture the source image using the -IR and -OR switches. Add these to whichever process currently creates the image — manual Ghost64.exe command line or a GSS Console Create Image task. | -IR captures the disk as a full, raw, sector-by-sector copy, including unused space, rather than using Ghost's file-aware "smart" copy. -OR overrides certain internal space and integrity checks. |
2 | Deploy the recaptured image using the same two switches, for example: ghost64.exe -CLONE,MODE=RESTORE,SRC=<image path>,DST=1 -IR -OR -SURE | A raw image captured with -IR is not guaranteed to restore correctly unless the restore also runs in raw mode. |
3 | Plan for a longer deployment window and more storage for the image. | Raw disk mode copies every sector on the disk, not just the space in use — comparable in effect to the -IB switch — so both the image size and deployment time increase substantially. |
4 | After a successful deployment, run bcdedit /enum all on the deployed machine. | Confirms the Windows Boot Manager and GRUB/Ubuntu entries point to valid, current partitions. |
5 | If the error still occurs with -IR -OR, keep the case open and provide the resulting GHOSTERR.TXT. | Indicates the issue isn't limited to the standard smart-copy path, which is useful information for Engineering. |
Rather than capturing the whole disk as one image, capture and restore each operating system's partition separately.
This approach is only straightforward when each operating system occupies a single partition. Layouts with multiple partitions per OS require capturing and restoring each partition individually and manually reconstructing the full boot configuration, which adds meaningful setup time and more opportunities for error.
Do not treat -NOTRIM, -NTEXACT, or -IB as a substitute for -IR -OR. Each of those switches changes a different part of the copy process and does not route around the boot configuration step.
NOTE: In one instance, recreating the image solved their issue without having to try any of the mentioned options above.