A method, comprising: receiving , by a target computing device , a neighboring bit table (110A, 110B... 110N) corresponding to a deployed operating system, OS, volume (116A, 116B, ...116N) of a neighboring computing device (108A, 108B, ... 108N), wherein each bit in the neighboring bit table (110A, 110B, ...110N) corresponds to a data block (118A, 118B, ...108N) of the deployed OS volume (116A, 116B, ...116N) and indicates whether the data block of the deployed OS volume differs relative to a base OS volume ; determining , by the target computing device , a target bit table corresponding to a target OS volume of the target computing device , wherein each bit in the target bit table corresponds to a data block of a first set of data blocks of the target OS volume and indicates whether the data block of the target OS volume differs relative to the base OS volume ; determining , by the target computing device , a second set of data blocks of the target OS volume that are included by the deployed OS (116A, 116B, ...116N), wherein the determining is based on whether corresponding bits of the neighboring bit table (110A, 110B, ...110N) and the target bit table are equal, and the second set of data blocks is a subset of the first set of data blocks ; requesting , by the target computing device , at least one data block in the second set of data blocks from the neighboring computing device (108A, 108B, ... 108N); receiving , at the target computing device , the at least one data block from the neighboring computing device (108A, 108B, ... 108N); and assembling , by the target computing device , the target OS volume based on the at least one data block received from the neighboring computing device (108A, 108B, ... 108N); wherein the deployed OS volumes of the neighboring computing devices , the base OS volume and the target OS volume have a same operating system version. receiving , by a target computing device , a neighboring bit table (110A, 110B... 110N) corresponding to a deployed operating system, OS, volume (116A, 116B, ...116N) of a neighboring computing device (108A, 108B, ... 108N), wherein each bit in the neighboring bit table (110A, 110B, ...110N) corresponds to a data block (118A, 118B, ...108N) of the deployed OS volume (116A, 116B, ...116N) and indicates whether the data block of the deployed OS volume differs relative to a base OS volume ; determining , by the target computing device , a target bit table corresponding to a target OS volume of the target computing device , wherein each bit in the target bit table corresponds to a data block of a first set of data blocks of the target OS volume and indicates whether the data block of the target OS volume differs relative to the base OS volume ; determining , by the target computing device , a second set of data blocks of the target OS volume that are included by the deployed OS (116A, 116B, ...116N), wherein the determining is based on whether corresponding bits of the neighboring bit table (110A, 110B, ...110N) and the target bit table are equal, and the second set of data blocks is a subset of the first set of data blocks ; requesting , by the target computing device , at least one data block in the second set of data blocks from the neighboring computing device (108A, 108B, ... 108N); receiving , at the target computing device , the at least one data block from the neighboring computing device (108A, 108B, ... 108N); and assembling , by the target computing device , the target OS volume based on the at least one data block received from the neighboring computing device (108A, 108B, ... 108N); wherein the deployed OS volumes of the neighboring computing devices , the base OS volume and the target OS volume have a same operating system version. <EOS>