python3 -c " import struct # Read what's actually at the start of our NBD device with open('/dev/nbd0','rb') as f: # Block 0 (should be boot block, all zeros for non-bootable) block0 = f.read(4096) # Superblock at byte 1024 f.seek(1024) sb = f.read(256) # Check block 0 nonzero = sum(1 for b in block0 if b != 0) print(f'Block 0 non-zero bytes: {nonzero} (should be 0 for ext4)') print(f'Block 0 first 16: {block0[:16].hex()}') # Check superblock magic = struct.unpack_from('1024, 1 for bsize=1024)') print(f'blocks_per_group: {blocks_per_group}') # The GDT should be at block 1 = byte 4096 # But if first_data_block=1, GDT is at block 2 = byte 8192 f2 = open('/dev/nbd0','rb') f2.seek(4096) gdt0 = f2.read(64) bb = struct.unpack_from('