Boot Loader Management for Virtual Hard Disk Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing operating system update methods are prone to high failure rates, lack control, and are undeterministic, leading to issues with state synchronization and costly factory resets, especially when updating multiple devices with varying states.
Innovation Solution
Implementing zero touch management using native boot virtual hard disks (VHDs) with an enhanced write filter (EWF) in RAM mode, allowing for controlled software changes by creating reset, last known good, and current boot loaders that point to parent or child VHDs, enabling efficient updates and resets while protecting the master image from writes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an update service is invoked to change the operating system state, then the operating system can be updated, but the failure rate is high and control is lost
Solution Approach 1:
The operating system image is segmented into a master image and multiple snapshot images. The boot loader can selectively boot from different snapshots, allowing controlled updates by creating new snapshots rather than modifying the running system. This segmentation isolates update operations from the running system, reducing failure impact and improving reliability.
Solution Approach 2:
The system creates snapshot images before applying updates, preserving the previous state. This preliminary action allows the system to prepare updates in advance, test them, and revert if needed, thereby maintaining control over the update process and reducing failure risk.
2Productivity
If an entire image of the operating system is installed, then the system state can be changed, but the operation is costly and time-consuming
Solution Approach 1:
Instead of installing entire operating system images, the system uses incremental snapshots that capture only the changes made since the parent image. This segmentation allows rapid deployment of updates by applying small snapshot files rather than large complete images, significantly improving update speed and reducing time loss.
Solution Approach 2:
The system uses copy-on-write technology where snapshots are created by copying only the changed blocks from the parent image. This allows rapid creation of update images without copying the entire operating system, thereby improving productivity while minimizing time loss.
3Reliability
If the operating system image is dirtied and a factory reset is performed, then the system can be restored, but the operation is very costly
Solution Approach 1:
The system maintains multiple snapshot images including a last known good snapshot before performing any restoration. This preliminary preparation allows direct booting into a known good state without requiring a full factory reset, thereby maintaining reliability while dramatically reducing the cost and time of restoration operations.
Solution Approach 2:
The system prepares backup snapshot images in advance that represent known good states. These cushioning snapshots act as safety nets, allowing the system to recover from dirtied images by booting into a preserved snapshot rather than performing costly factory resets, thus protecting against restoration costs.
4Adaptability or versatility
If updates are applied to a fleet of devices in multiple states, then each device can be updated, but it is difficult to bring devices to a known state
Solution Approach 1:
The snapshot-based update mechanism provides a universal solution that works regardless of the device's current state. Any device can be updated by applying snapshots to its boot loader, and any device can be restored by booting from any snapshot. This multi-functional approach simplifies fleet-wide updates while maintaining adaptability to different device states, reducing management complexity.
Data Source
AI summary
The claimed subject matter provides a system or method for managing software changes. An exemplary method comprises creating a reset boot loader, a last known good (LKG) boot loader, and a current boot loader, then pointing the reset boot loader, LKG boot loader, and current boot loader to a parent virtual hard disk (VHD) containing a default master image. An operation to perform is determined, and a service partition is booted into. The LKG boot loader or current boot loader is pointed to a child VHD loaded with another desired image based on the operation selected, and the system is rebooted into the parent VHD or child VHD pointed to by the current boot loader.


