In JDK9, these classes are found via the jrt virtual file system in the modular image (./java.base/share/classes/jdk/internal/jrtfs/). At run time, they are loaded by Java code (see jdk/src/java.base/share/classes/jdk/internal/jrtfs/*.java).
At CDS dump time, no Java code is executed to load classes. Instead, we augment the bootclasspath with the app classpath contents and use the bootloader to load the app classes. But this misses the parts that would be added by the actual classloader Java code.
It may be that the bootloader is already aware of jrtfs and that we 'simply' need to update the way we augment the bootclasspath.
At CDS dump time, no Java code is executed to load classes. Instead, we augment the bootclasspath with the app classpath contents and use the bootloader to load the app classes. But this misses the parts that would be added by the actual classloader Java code.
It may be that the bootloader is already aware of jrtfs and that we 'simply' need to update the way we augment the bootclasspath.