Partition Management and Storage Tools
What is it?
Storage tools are the commands and windows a user runs to look after disks: create and delete partitions, format, check and repair, defragment, verify system files, recover deleted files, see what fills a drive and manage snapshots. Impossible OS has the kernel engines for several of these (GPT and MBR parsing, FAT32 and IXFS formatters, FAT32 and IXFS repair passes) but no command or window that runs them, and it cannot yet write a partition table. This roadmap adds the partition writers and ten tools in ten sections, none of them started.
How does it work?
Reading partition tables. gpt_parse() in gpt.c reads the GPT header and entries and checks their CRC32s, and mbr_parse() with mbr_walk_ebr() in mbr.c reads MBR disks including logical partitions. partition_scan_all() in partition.c registers each partition as a block device and names its type. gpt_sync_backup() can rewrite the backup GPT (entries first, then header), but nothing calls it yet, and there is no function to create, delete or resize a partition.
Formatters. fat32_format() in fat32_format.c and ixfs_format() in ixfs_format.c lay down an empty FAT32 or IXFS volume on a block device. Nothing in the running system calls them; system disks are built on the host by mkfs-ixfs during the image build.
Repair passes. fat32_fsck() in fat32_fsck.c runs automatically when a dirty FAT32 volume mounts (FAT32 and VFS Semantics). ixfs_fsck() in ixfs_fsck.c checks and repairs IXFS but has no caller; only its helpers are unit-tested (IXFS Advanced Storage). When a FAT32 volume cannot be repaired, the mount log tells the operator to run chkdsk from recovery, a command that does not exist yet.
The shell has no disk commands. The user-mode shell in user/cmd.c knows help, echo, cls, ver, dir, type, ps, kill, sysinfo, uptime, ping, ipconfig, reboot, shutdown and exit, with their aliases. None of them touches disks.
flowchart LR
subgraph Exists
GP[gpt_parse / mbr_parse]
FF[fat32_format / ixfs_format]
FK[fat32_fsck / ixfs_fsck]
end
subgraph Planned
GW[GPT and MBR write]
DP[diskpart]
CK[chkdsk]
DM[Disk Management window]
end
GW --> DP
FF --> DP
FK --> CK
DP --> DM
What are its interfaces?
| Interface | Purpose |
|---|---|
gpt_parse(), gpt_type_name(), gpt_sync_backup() |
GPT reading and backup rewrite (gpt.h) |
mbr_parse(), mbr_walk_ebr(), mbr_type_name() |
MBR and logical partitions (mbr.c) |
fat32_format(), ixfs_format() |
In-kernel formatters, not yet reachable |
fat32_fsck(), ixfs_fsck() |
Repair passes, automatic for FAT32 only |
mkfs-ixfs -o <img> -s <size> [-l <label>] [--populate <dir>] |
Host-side IXFS image builder |
How do I use it?
There is nothing to run inside Impossible OS yet. On the build host, bash scripts/build.sh compiles mkfs-ixfs and uses it to build the IXFS images for the system disk. With debug logging on, the partition scan shows each partition, for example Disk 0, Partition 1: FAT32, 16 MiB (EFI System).
What is not implemented yet?
- Writing partition tables (GPT Partition Write, MBR Partition Write).
- Command-line tools:
diskpart,chkdsk,defrag,sfc,recoveranddiskuse, each with a window. - Windows: Disk Management and a Snapshot Manager.
- Repair for NTFS, exFAT and ext4, which waits on those drivers (NTFS, exFAT, ext4).
How does it compare with Windows 11 and Linux?
Windows 11 ships diskpart, format, chkdsk, defrag, sfc and the Disk Management console. Linux spreads the same work over fdisk, gdisk, parted, the mkfs.* and fsck.* families and GParted or GNOME Disks. Neither has built-in deleted-file recovery; Windows has no built-in disk-usage treemap, while GNOME's Disk Usage Analyzer draws one on Linux. Impossible OS has the kernel engines for formatting and repair and plans a Windows-style command set on top, plus recovery, which the other two lack, and a treemap built into the system.