300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux挂载iso镜像进系统 linux可以加载iso镜像文件到启动项吗

linux挂载iso镜像进系统 linux可以加载iso镜像文件到启动项吗

时间:2018-10-18 12:18:13

相关推荐

linux挂载iso镜像进系统 linux可以加载iso镜像文件到启动项吗

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

楼主的需求描述不清,不作评述。只说下关于楼上一些吧友提到的grub loopback设备可mount iso并读取其中文件的功能

未读过grub1/2的源码,不太了解其实现原理,但从应用上来说,这个设备不是“虚拟设备”,只是类似于方便解析iso9660格式的helper

1、从iso读取文件只能在grub运行时起作用,即当被引导的系统跑起来以后,新的系统不会认“这个设备”(实际上不是设备)

2、从技术手段来说,若被引导的系统使用bios disk io(int 13h),则grub可能通过接管中断服务的形式提供“真实的虚拟设备”,但除了像dos这样的系统会使用bios disk io,很少有系统会使用(常常会采用更直接的方式驱动硬件,而这个中间是没办法放入“系统外软件夹层”来作虚拟设备的)

3、为何有些live iso可被grub引导?拿linux based live iso来说,其步骤大体将是:

a、grub解析iso,并能读取其中的kernel和initramfs,并加载它们

b、kernel跑起来,initramfs提供内存中的rootfs,系统运行,执行一些脚本,根据boot option得知iso boot状态,并在物理设备上找到iso文件,利用系统对loop设备挂载iso文件(这一过程需求initramfs打包了相关涉及的fs的驱动)

c、由于iso或者其中带着的img(例如采用squashfs)是只读的,这时常常利用unionfs技术,或者device-mapper技术,接合内存文件系统提供cow方式的rw文件系统,并remount为rootfs,系统继续运行

可见,实际上过程中存在两种不同系统提供的loop设备,两者不相关

但本人对于Documentation/x86/boot.txt文档的阅读已历不少时日,也并未精读,对其中涉及的kernel提供的外部可控接口的可操控程度的了解有限,故而以上内容可能存在疏漏(尤其是在bootloader是否可能提供kernel驱动模型下的loop设备这一点上),如您发现,欢迎指正

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。