|
|
本帖最后由 不点 于 2026-1-6 08:07 编辑
居然支持 grub4dos 最基本的 map 光盘的用法,应该说,够良心了。
我猜,当 grub4dos 在实模式完成虚拟光盘启动流程之后,光盘里的 Linux 在保护模式接管控制,此时会有一个步骤,就是查找此 iso 文件的位置,并挂载它到 /mnt/cdrom(也可能是 /media/cdrom 之类的;究竟是哪个挂载点,看 initrd 里面的脚本就知道了),然后才能继续访问这个光盘上的其它文件,完成后续的启动过程。
查找 iso 文件所在位置的程序,一般都是在 initrd 中的某个 shell 脚本里。
有可能这个查找程序只查找根目录下的 iso 文件。如果此 iso 不在根目录,就不会被找到,那么,挂载 iso 的步骤就失败了。
类似地,还有一个可能,就是,查找程序只查找某个特定的文件名,比如,必须叫做 Kylin-Desktop-V10-SP1-2503-HWE-PP-Release-20250430-X86_64.iso,否则它也找不到,无法成功挂载。
再比如,此 iso 所在的文件系统类型(比如 NTFS),不被 Linux 的启动程序支持,也会导致查找过程归于失败。
所有的 Linux 启动光盘,都是这样的。只要在 initrd 的脚本里面能成功找到并挂载 iso, 就能正常启动。否则就失败。
换句话说,只要给 initrd 打补丁(也就是,修改脚本,重新制作 initrd 文件,放进 iso 里面,替换有毛病的 initrd 文件),就可以让任何一个原先无法正常启动的 Linux 的 iso 文件变成能够正常启动。
本例中的 Kylin 系统开发者,算是已经做得很好了。
|
|